Arquitectura de subprocesos y tareas
Los subprocesos son una característica del sistema operativo que permite separar la lógica de aplicación en varias rutas de ejecución simultánea. Esta característica resulta útil cuando se trabaja con aplicaciones complejas que tienen muchas tareas que pueden ejecutarse a la vez.
Cuando un sistema operativo ejecuta una instancia de una aplicación, crea una unidad llamada proceso para administrar la instancia. El proceso contiene un subproceso de ejecución. Se trata de una serie de instrucciones de programación que lleva a cabo el código de la aplicación. Por ejemplo, en una aplicación simple con un único conjunto de instrucciones que pueden ejecutarse en serie, sólo hay una ruta de ejecución, o subproceso, en la aplicación. Las aplicaciones más complejas pueden tener varias tareas que podrían realizarse conjuntamente, no en serie. La aplicación puede hacerlo si inicia un proceso independiente para cada tarea. Sin embargo, iniciar un proceso es una operación que consume muchos recursos. En cambio, una aplicación puede iniciar subprocesos independientes. Se trata de elementos que consumen menos recursos. Además, cada subproceso puede programarse para ejecutarse independientemente de los demás subprocesos asociados a un proceso.
Los subprocesos permiten a las aplicaciones complejas hacer más eficaz el uso de una CPU, incluso en los equipos con una única CPU. Con una CPU sólo puede ejecutarse un subproceso cada vez. Si un subproceso ejecuta una operación de larga duración que no utilice la CPU, como la lectura o la escritura en disco, otro de los subprocesos puede ejecutarse mientras termina la primera operación. La capacidad de ejecutar unos subprocesos mientras otros esperan a que una operación finalice permite a las aplicaciones maximizar su uso de la CPU. Esto es especialmente cierto para las aplicaciones multiusuario y las que realizan numerosas E/S de disco, como un servidor de base de datos. Los equipos con varios multiprocesadores o CPU pueden ejecutar un subproceso en cada CPU al mismo tiempo. Por ejemplo, si un equipo dispone de ocho CPU, podrá ejecutar ocho subprocesos simultáneamente.
En esta sección
Programar tareas o lotes en SQL Server
Describe la programación de los subprocesos o fibras para crear lotes o tareas.Asignar subprocesos a una CPU
Describe cómo el sistema operativo distribuye los subprocesos de las instancias de SQL Server de manera uniforme entre los microprocesadores de un equipo. También describe la opción de configuración affinity mask.Usar la opción lightweight pooling
Describe las condiciones en las que puede resultar conveniente activar la opción lightweight pooling.Ejecución de subprocesos y fibras
Describe la ejecución de los subprocesos o fibras y la opción utilizada para establecer la prioridad de ejecución.CPU instalada en caliente
Describe cómo SQL Server permite agregar memoria sin interrupción.