首页 > 代码库 > SQL Server 2012笔记分享-5:理解SQLOS

SQL Server 2012笔记分享-5:理解SQLOS

描述

SQLOS是一个单独的应用层,它位于SQLServer数据库引擎的最低层,SQLServer和SQL Reporting Services都是在顶层运行。SQLOS介于windows操作系统和SQL server之间。

为什么开发SQLOS

SQLServer的早期版本在存储引擎和实际操作系统之间使用瘦接口层,通过该接口层,SQLServer可以调用操作系统来执行内存分配,计划资源,线程和工作管理,以及同步对象。不过,SQLServer中需要访问这些接口的服务可以位于引擎的任何部分。SQLServer需要管理内存,计划程序,同步对象等,因此任务变得越来越复杂。于是Microsoft公司设计了单独的应用层来管理所有特定于SQLServer的操作系统资源,而不是让引擎的每个部分支持增加的功能。

架构图

clipboard

上图术语解释

Memory Manager内存管理

Scheduling计划

synchronization同步

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

本文出自 “曾垂鑫的技术专栏” 博客,谢绝转载!