Introduction to SQLOS
If you want to get the best performance from your SQL server , the most important thing regarding the system itself is to dedicate it to SQL Server. SQL server integrates its management layer low level features, called SQLOS (for SQL Server Operating System).
If you want to get the best performance from your SQL server , the most important thing regarding the system itself is to dedicate it to SQL Server. Layer represented by the operating system itself , and the other applications running in the competition must be minimized , for example by disabling unnecessary services. SQL Server comes with other services , including the entire Business Intelligence section , which uses different engines : Analysis Service is a product conceptually and physically completely separated from the relational engine , as Reporting Services uses technologies that compete with SQL server ( in the 2005 version , Reporting Services is based on IIS, Microsoft 's web server , which is notoriously not well with SQL server in terms of performance means . in SQL server 2008, it is more integrated and particular uses SQLOS ) . It is essential to move these services on differents severs from those that you want to dedicate to the performance of SQL Server, that is to say, the relational part ,whose the basic work is to store and serve information with velocity and maximum consistency. A server is a too small town for two personalities as SQL Server.
Although SQL Server is closely related to Windows operating system,does not rest, like almost all the user applications on access features and sharing of system resources. Research in databases, an active long field show that the best performance is achieved by leaving it to the RDBMS to manage parts of what is traditionally the responsibility of the operating system. Oracle, for example, has long sought to minimize the role of the OS, bypassing the journaled filesystems using raw devices (Oracle directio), offering a tool like ASM (Automatic Storage Manager) to manage directly the file system, or by incorporating its own virtualization layer based on Xen.
SQL Server is no exception to this rule. It integrates its management layer low level features, called SQLOS (for SQL Server Operating System). It supports scheduling functionality worker threads, memory management, resource monitoring, I / O, thread synchronization, detecting deadlocks (deadlocks), etc.. that manage even within SQL Server, close to the needs of the engine, the essential elements for an effective job with the resources of the machine. SQLOS can effectively manage multiprocessor systems. A scheduler is associated with each physical processor, which runs inside SQL Server, threads, in user mode (user mode) (the underlying operating system manages the threads in kernel mode (kernel mode )). The reason is that SQL Server knows better multitasking needs than the operating system. Windows manages threads so-called pre-emptive, that is to say, it forces the process to stop and allow time for concurrent processes. SQL Server schedulers operate in non preemptive mode: Within SQLOS, processes themselves leave room for others in a collaborative mode, which provides better performance.
A scheduler is linked to a physical processor. It handles multiple threads, which are themselves related to workers. The worker is the worker process. It performs work completely, thereby avoiding context switches that may occur in case of preemptive multitasking. A change of context (context switch) is the need for a process to save its state when giving hand and then reload when returning to work. Some threads within the space of SQL Server are not initiated by SQL Server, this is the case when running extended stored procedures. In addition to local process management, SQLOS also ensures local management of memory allocation.
Memory Broker dynamically calculates the optimal amounts of RAM for different objects in memory. These objects are hidden (buffers) pools that manage simple caches objects, such as memory for locks, and clerks, which are managers of memory space allocation providing services and status notification memory.