描述html
SQLOS是一个单独的应用层,它位于SQLServer数据库引擎的最低层,SQLServer和SQL Reporting Services都是在顶层运行。SQLOS介于windows操做系统和SQL server之间。算法
为何开发SQLOSsql
SQLServer的早期版本在存储引擎和实际操做系统之间使用瘦接口层,经过该接口层,SQLServer能够调用操做系统来执行内存分配,计划资源,线程和工做管理,以及同步对象。不过,SQLServer中须要访问这些接口的服务能够位于引擎的任何部分。SQLServer须要管理内存,计划程序,同步对象等,所以任务变得愈来愈复杂。因而Microsoft公司设计了单独的应用层来管理全部特定于SQLServer的操做系统资源,而不是让引擎的每一个部分支持增长的功能。数据库
架构图windows
上图术语解释架构
Memory Manager内存管理ide
Scheduling计划学习
synchronization同步spa
hosting API主机API接口操作系统
deadlock monitor 死锁监控
resource monitor 资源监控
lazy writer延迟写入
scheduler monitor 监控调度
storage engine 存储引擎
buffer pool缓冲区
query compilation and execution engines查询编译和执行引擎
protocols 协议
external components外部组件
学习资源
SQLSERVER独特的任务调度算法"SQLOS"
http://www.cnblogs.com/lyhabc/archive/2012/10/17/2728724.html
SQLOS - unleashed
http://blogs.msdn.com/b/slavao/archive/2005/02/05/367816.aspx
Set of new features in SQL Server 2005 enabled by SQLOS 
http://blogs.msdn.com/b/slavao/archive/2006/04/12/575185.aspx
SQL Server 2008 SQLOS
http://blogs.technet.com/b/josebda/archive/2009/03/30/sql-server-2008-sqlos.aspx