SlideShare una empresa de Scribd logo
Comentarios - 2097 Lecturas - 1.77 Millones
Todo el mundo es un DBA (I) Arquitectura SQL Server
Al comprender la base de datos de SQL Server, primero puede observar desde la
arquitectura de la base de datos. La arquitectura de SQL Server consta de 4
componentes principales:
 Capa de protocolo (Protocolos)
 Motor relacional , también conocido como procesador de consultas
 Motor de almacenamiento
 SqlOS
Capa de protocolo (Protocolos)
Cuando una aplicación se comunica con una base de datos de SQL Server, primero
debe seleccionar un protocolo para establecer una conexión de comunicación a través
de la interfaz de red SNI (interfaz de red de SQL Server). Se pueden utilizar los
siguientes protocolos:
 TCP/IP : el protocolo más utilizado;
 Canalizaciones con nombre : solo proporciona servicios para la red de
área local (LAN);
 Memoria compartida : solo se admite en la misma máquina;
 VIA (Adaptador de interfaz virtual): solo admite hardware VIA de alto
rendimiento; (este protocolo está obsoleto)
SQL Server se puede configurar para admitir múltiples protocolos
simultáneamente. Varios protocolos tienen diferentes rendimientos en diferentes
entornos, y es necesario seleccionar los protocolos apropiados de acuerdo con los
requisitos de rendimiento. Si el cliente no especifica qué protocolo usar, se puede
configurar para probar cada protocolo uno por uno.
Una vez establecida la conexión, la aplicación puede comunicarse directamente con la
base de datos. Cuando la aplicación está lista para usar la declaración T-SQL "select *
from TableA" para consultar datos de la base de datos, la solicitud de consulta se
traduce primero a un paquete de protocolo TDS (TDS: Tabular Data Stream) en el lado
de la aplicación y luego pasado a través El canal de protocolo de comunicación
conectado se envía al lado de la base de datos.
La capa de protocolo de SQL Server recibe la solicitud y la convierte en un formulario
que el motor relacional puede procesar.
Motor relacional
El motor relacional (Relational Engine), también conocido como procesador de
consultas (Query Processor), consta principalmente de 3 partes:
 Analizador de comandos
 Optimizador de consultas
 Ejecutor de consultas
La capa de protocolo analiza el mensaje TDS recibido en una declaración T-SQL, que
primero se pasa al analizador de comandos.
Command Parser verifica la corrección de la sintaxis de T-SQL y convierte la
declaración de T-SQL en un formato interno que se puede manipular, el árbol de
consulta.
 Query Tree es la representación interna de Structured Query Language
(SQL).
 Lenguaje de manipulación de datos DML (lenguaje de manipulación de
datos) es un subconjunto del lenguaje SQL, que incluye INSERTAR,
ACTUALIZAR, ELIMINAR tres instrucciones principales.
 El lenguaje de definición de datos (DDL) administra estructuras de índices
y tablas, incluidos CREATE, DROP, ALTER, TRUNCATE y otros
comandos.
 Lenguaje de control de datos DCL (lenguaje de control de datos) es
responsable de autorizar a los usuarios a acceder y procesar datos,
incluidos nombres como GRANT y REVOKE.
 T-SQL o Transact-SQL amplía las funciones de los lenguajes de
programación de procedimientos sobre la base de SQL, como el control
de procesos.
 SQLCLR (SQL Server Common Language Runtime) utiliza ensamblados
.NET para ampliar la funcionalidad.
El Optimizador de consultas obtiene el árbol de consulta del analizador de
comandos, determina si el árbol de consulta se puede optimizar y, a continuación,
determina la mejor manera de optimizar el árbol de consulta entre muchas formas
posibles.
 Las declaraciones que no se pueden optimizar, incluido el flujo de control
y DDL, etc., se compilan en su forma interna.
 Las declaraciones optimizables, como DML, etc., se marcarán para
optimización.
El paso de optimización comienza con Normalizar consulta, que puede descomponer
una sola consulta en varias consultas detalladas y optimizar la consulta detallada, lo
que significa que determinará el plan para ejecutar la consulta, por lo que el resultado
del optimizador de consultas es para generar un plan de ejecución (Execution Plan).
La optimización de consultas se basa en costos, es decir, en elegir el plan más
rentable. El optimizador de consultas debe elegir el plan menos costoso en función de
las métricas de rendimiento registradas internamente. Estas métricas de rendimiento
internas incluyen: demanda de memoria, uso de CPU y número de operaciones de
E/S. Al mismo tiempo, la optimización de consultas también utiliza heurísticas (Pruning
Heuristics) para garantizar que la evaluación de optimizaciones y consultas no lleve
más tiempo que la ejecución directa de una consulta no optimizada.
Una vez completada la normalización y optimización de la consulta, los resultados de
estos procesos se compilan en una estructura de datos del Plan de Ejecución. El plan
de ejecución incluye información como qué tabla consultar, qué índice usar, qué
seguridad verificar y qué condiciones valorar.
Query Executor ejecuta el plan de ejecución producido por Query Optimizer, actúa
como programador para todos los comandos en el plan de ejecución y realiza un
seguimiento del progreso de cada ejecución de comando. La mayoría de los comandos
requieren interacción con el motor de almacenamiento para recuperar o modificar
datos, etc.
Motor de almacenamiento
El motor de almacenamiento de SQL Server contiene componentes responsables de
acceder a los datos y administrarlos, incluidos:
 Métodos de acceso
 Administrador de bloqueo
 Servicios de transacciones
 Utilidades (Utilidades de Control)
Los métodos de acceso incluyen operaciones específicas para crear, actualizar y
consultar datos. Algunos de los tipos de métodos de acceso se enumeran a
continuación:
 Operaciones de filas e índices: responsable de operar y mantener
estructuras de datos en el disco, es decir, filas de datos e índices de árbol
B.
 Operaciones de asignación de páginas: cada base de datos es una
colección de páginas de disco de 8 KB distribuidas en varios archivos
físicos. SQL Server utiliza 13 estructuras de páginas de disco, incluidas
páginas de datos, páginas de índice, etc.
 Operaciones de control de versiones: versiones utilizadas para mantener
los cambios de fila para admitir funciones de aislamiento de instantáneas,
etc.
El método de acceso no recupera la página directamente, envía una solicitud al
Administrador de búfer, que escanea la página en el caché que administra, o lee la
página del disco en el caché. Cuando comienza la exploración, el mecanismo de
anticipación se utiliza para validar las filas o los índices de la página.
El administrador de bloqueos se usa para controlar el bloqueo de tablas, páginas,
filas y datos del sistema, y es responsable de resolver conflictos en un entorno de
múltiples usuarios, administrar la compatibilidad de diferentes tipos de bloqueos,
resolver bloqueos y escalar bloqueos según sea necesario. (Escalar bloqueos).
Transaction Services se utiliza para proporcionar soporte de propiedad ACID para
transacciones. Las propiedades de ACID incluyen:
 Atomicidad
 Consistencia
 Aislamiento
 Durabilidad
La función de registro de escritura anticipada garantiza que los registros siempre se
escriban en el disco antes de que las páginas de datos cambiantes se escriban en el
disco, lo que hace posible revertir las tareas. La escritura en el registro de
transacciones es síncrona, es decir, SQL Server debe esperar a que se complete. Sin
embargo, la escritura de páginas de datos puede ser asíncrona, por lo que las páginas
de datos que deben escribirse pueden organizarse en la memoria caché para escritura
por lotes para mejorar el rendimiento de escritura.
SQL Server admite dos modelos de concurrencia para garantizar las propiedades ACID
de las transacciones:
 La simultaneidad pesimista supone que siempre se producirán conflictos
y bloquea los datos para garantizar la corrección y la simultaneidad.
 Simultaneidad optimista asume que no habrá conflictos y los maneja
cuando se encuentran.
En el modelo de concurrencia optimista, los usuarios no bloquean los datos al
leerlos. Al realizar una actualización, el sistema verifica si los datos han cambiado
desde que otro usuario los leyó. Si otro usuario cambia los datos, se genera un error y
el usuario que recibe el mensaje de error revertirá la transacción. Este modelo se usa
principalmente en entornos con poca contención de datos y cuando el costo de
bloquear los datos supera el costo de revertir la transacción.
SQL Server proporciona 5 niveles de aislamiento (Nivel de aislamiento), que pueden
admitir diferentes modelos de simultaneidad cuando se trata de simultaneidad de
múltiples usuarios.
 Read Uncommitted: solo admite simultaneidad pesimista;
 Lectura repetible: solo admite simultaneidad pesimista;
 Serializable: solo admite concurrencia pesimista;
 Instantánea: Admite simultaneidad optimista;
 Lectura comprometida: el nivel de aislamiento predeterminado, que
admite tanto la simultaneidad pesimista como la simultaneidad optimista
según la configuración.
Utilities (Controlling Utilities) contiene herramientas para controlar el motor de
almacenamiento, como carga masiva (Bulk-load), comandos DBCC, administración de
índices de texto completo (Administración de índices de texto completo), comandos de
copia de seguridad y restauración.
SqlOS
SQLOS es una capa de aplicación separada, la capa más baja del motor de SQL
Server. Las características clave de SQLOS incluyen:
 Planificación
 Gestión de la memoria
 Sincronización: Proporciona mecanismos de bloqueo como Spinlock,
Mutex, ReaderWriterLock, etc.
 Agente de memoria: proporciona distribución de memoria en lugar de
asignación de memoria.
 Manejo de excepciones
 Detección de interbloqueo
 Eventos extendidos
 E/S asíncrona (IO asíncrona)

Más contenido relacionado

PPT
Informes de auditoría de los sistemas computacionales
PDF
Manual auditoria de sistemas informatica(1)
PPTX
Maria francia
PPTX
Instrumentos auditoria informatica
PDF
PDF
Auditoria de base de datos
PPT
Auditoria de Sistemas
PPTX
Capitulo 14,15,17. Auditoria informatica un enfoque practico
Informes de auditoría de los sistemas computacionales
Manual auditoria de sistemas informatica(1)
Maria francia
Instrumentos auditoria informatica
Auditoria de base de datos
Auditoria de Sistemas
Capitulo 14,15,17. Auditoria informatica un enfoque practico

La actualidad más candente (20)

PDF
Ejemplo de auditoria
PPTX
Sistemas de informacion 1
DOC
Unidad 2 temas1y2 v3
PPTX
Auditoria Elvis Armijo
PDF
AUDITORIA INFORMATICA 2
PDF
Auditoriade sistemascastello
PDF
Auditoria del desarrollo de sistemas de información en el gobierno regional c...
PDF
Auditoria a una unidad educativa
PPT
Auditoria de sistemas
DOCX
Gestion de Riesgos
DOCX
Alcance de la auditoría informática
PPTX
Auditoria a aplicaciones en funcionamiento
PPTX
Auditoria informatica
PPTX
auditoría de sistemas
PPT
Auditoria informatica
PDF
Auditoria informatica
PPT
Tecnicas y Herramientas en la Auditoria
PPTX
Auditoria informatica
PDF
Auditoria Informatica y de Sistemas de Informacion
PPT
Auditoria de sistemas
Ejemplo de auditoria
Sistemas de informacion 1
Unidad 2 temas1y2 v3
Auditoria Elvis Armijo
AUDITORIA INFORMATICA 2
Auditoriade sistemascastello
Auditoria del desarrollo de sistemas de información en el gobierno regional c...
Auditoria a una unidad educativa
Auditoria de sistemas
Gestion de Riesgos
Alcance de la auditoría informática
Auditoria a aplicaciones en funcionamiento
Auditoria informatica
auditoría de sistemas
Auditoria informatica
Auditoria informatica
Tecnicas y Herramientas en la Auditoria
Auditoria informatica
Auditoria Informatica y de Sistemas de Informacion
Auditoria de sistemas
Publicidad

Similar a ARQSQL.docx (20)

PPT
Nestor Nieto BaseDatos_Tarea01
PPTX
Tarea1 lruiz
PPTX
Tarea1 lruiz
PPT
Administracion de base de datos
PPT
Administracion de base de datos
PPTX
Tarea1Cesar Ortiz
DOC
Sistemas distribuidos
PPTX
Diseño de aplicaciones
 
PPSX
PPTX
Ms SQL Server
DOCX
Procedimientos almacenados..mañana
PPT
Herramientas De Control De B D
PPTX
Db2 10 afinamiento
PPSX
Oracle
PPTX
Microsoft sql server Andre y Mateo
PPT
Jose guanuchi tarea001
PDF
Introduction to SQL SERVER
PPTX
Tarea 1 bd
PPT
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Nestor Nieto BaseDatos_Tarea01
Tarea1 lruiz
Tarea1 lruiz
Administracion de base de datos
Administracion de base de datos
Tarea1Cesar Ortiz
Sistemas distribuidos
Diseño de aplicaciones
 
Ms SQL Server
Procedimientos almacenados..mañana
Herramientas De Control De B D
Db2 10 afinamiento
Oracle
Microsoft sql server Andre y Mateo
Jose guanuchi tarea001
Introduction to SQL SERVER
Tarea 1 bd
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Publicidad

Último (20)

PDF
6°-Básico-Matemática-Diagrama-de-tallo-y-hoja_y_probabilidades.pdf
PPTX
Embarazo en adolescentes ksjsjjdkxkxkxkxxj
PDF
Presentación para empoderar a un equipo a factirar
PDF
Registro de Limpieza y Desinfección.pdf1
PDF
Pobreza por origen racial y zonas socialistas (1980, 2025 y 2030).pdf
PDF
Los 10 mayores Fondos Soberanos de Riqueza (2025).pdf
PPTX
Presentacion Capacitacion RC y RG (5).pptx
PDF
2425_s9_1_Bitacora_para_la_reflexion.pdf
PPTX
Milder Antoni quirhuayo segura trabajo de investigación .pptx
PDF
Rendición_Pública_de_Cuentas_Inicial_2019.pdf
PPTX
Precio optimo de venta para un emprendimiento familiar
PPTX
DOROTHEA E OREM EXPO.pptx de una teoridta importante
PPTX
Características de jean Piaget y su fase cognitivo
PPTX
lareformaprevisional-091013175510-phpapp01.pptx
PDF
lavado de manos_20250805_212935_0000.pdf
PPTX
TICS EN HONDURAS, PAIS DE CENTROAMERICA.pptx
PDF
Pobreza porcentual en el mundo y sistemas socioeconómicos (1945-2030).pdf
PDF
docsity-diapositivas-de-la-salud-mental.pdf
PPTX
EXPOSICIÓN 2021.pptxhgdfshdghsdgshdghsds
PPTX
Inteligencia_Artificialdelosk_Mujer.pptx
6°-Básico-Matemática-Diagrama-de-tallo-y-hoja_y_probabilidades.pdf
Embarazo en adolescentes ksjsjjdkxkxkxkxxj
Presentación para empoderar a un equipo a factirar
Registro de Limpieza y Desinfección.pdf1
Pobreza por origen racial y zonas socialistas (1980, 2025 y 2030).pdf
Los 10 mayores Fondos Soberanos de Riqueza (2025).pdf
Presentacion Capacitacion RC y RG (5).pptx
2425_s9_1_Bitacora_para_la_reflexion.pdf
Milder Antoni quirhuayo segura trabajo de investigación .pptx
Rendición_Pública_de_Cuentas_Inicial_2019.pdf
Precio optimo de venta para un emprendimiento familiar
DOROTHEA E OREM EXPO.pptx de una teoridta importante
Características de jean Piaget y su fase cognitivo
lareformaprevisional-091013175510-phpapp01.pptx
lavado de manos_20250805_212935_0000.pdf
TICS EN HONDURAS, PAIS DE CENTROAMERICA.pptx
Pobreza porcentual en el mundo y sistemas socioeconómicos (1945-2030).pdf
docsity-diapositivas-de-la-salud-mental.pdf
EXPOSICIÓN 2021.pptxhgdfshdghsdgshdghsds
Inteligencia_Artificialdelosk_Mujer.pptx

ARQSQL.docx

  • 1. Comentarios - 2097 Lecturas - 1.77 Millones Todo el mundo es un DBA (I) Arquitectura SQL Server Al comprender la base de datos de SQL Server, primero puede observar desde la arquitectura de la base de datos. La arquitectura de SQL Server consta de 4 componentes principales:  Capa de protocolo (Protocolos)  Motor relacional , también conocido como procesador de consultas  Motor de almacenamiento  SqlOS Capa de protocolo (Protocolos) Cuando una aplicación se comunica con una base de datos de SQL Server, primero debe seleccionar un protocolo para establecer una conexión de comunicación a través de la interfaz de red SNI (interfaz de red de SQL Server). Se pueden utilizar los siguientes protocolos:  TCP/IP : el protocolo más utilizado;  Canalizaciones con nombre : solo proporciona servicios para la red de área local (LAN);  Memoria compartida : solo se admite en la misma máquina;
  • 2.  VIA (Adaptador de interfaz virtual): solo admite hardware VIA de alto rendimiento; (este protocolo está obsoleto) SQL Server se puede configurar para admitir múltiples protocolos simultáneamente. Varios protocolos tienen diferentes rendimientos en diferentes entornos, y es necesario seleccionar los protocolos apropiados de acuerdo con los requisitos de rendimiento. Si el cliente no especifica qué protocolo usar, se puede configurar para probar cada protocolo uno por uno. Una vez establecida la conexión, la aplicación puede comunicarse directamente con la base de datos. Cuando la aplicación está lista para usar la declaración T-SQL "select * from TableA" para consultar datos de la base de datos, la solicitud de consulta se traduce primero a un paquete de protocolo TDS (TDS: Tabular Data Stream) en el lado de la aplicación y luego pasado a través El canal de protocolo de comunicación conectado se envía al lado de la base de datos. La capa de protocolo de SQL Server recibe la solicitud y la convierte en un formulario que el motor relacional puede procesar. Motor relacional El motor relacional (Relational Engine), también conocido como procesador de consultas (Query Processor), consta principalmente de 3 partes:  Analizador de comandos  Optimizador de consultas  Ejecutor de consultas La capa de protocolo analiza el mensaje TDS recibido en una declaración T-SQL, que primero se pasa al analizador de comandos. Command Parser verifica la corrección de la sintaxis de T-SQL y convierte la declaración de T-SQL en un formato interno que se puede manipular, el árbol de consulta.  Query Tree es la representación interna de Structured Query Language (SQL).  Lenguaje de manipulación de datos DML (lenguaje de manipulación de datos) es un subconjunto del lenguaje SQL, que incluye INSERTAR, ACTUALIZAR, ELIMINAR tres instrucciones principales.  El lenguaje de definición de datos (DDL) administra estructuras de índices y tablas, incluidos CREATE, DROP, ALTER, TRUNCATE y otros comandos.  Lenguaje de control de datos DCL (lenguaje de control de datos) es responsable de autorizar a los usuarios a acceder y procesar datos, incluidos nombres como GRANT y REVOKE.
  • 3.  T-SQL o Transact-SQL amplía las funciones de los lenguajes de programación de procedimientos sobre la base de SQL, como el control de procesos.  SQLCLR (SQL Server Common Language Runtime) utiliza ensamblados .NET para ampliar la funcionalidad. El Optimizador de consultas obtiene el árbol de consulta del analizador de comandos, determina si el árbol de consulta se puede optimizar y, a continuación, determina la mejor manera de optimizar el árbol de consulta entre muchas formas posibles.  Las declaraciones que no se pueden optimizar, incluido el flujo de control y DDL, etc., se compilan en su forma interna.  Las declaraciones optimizables, como DML, etc., se marcarán para optimización. El paso de optimización comienza con Normalizar consulta, que puede descomponer una sola consulta en varias consultas detalladas y optimizar la consulta detallada, lo que significa que determinará el plan para ejecutar la consulta, por lo que el resultado del optimizador de consultas es para generar un plan de ejecución (Execution Plan). La optimización de consultas se basa en costos, es decir, en elegir el plan más rentable. El optimizador de consultas debe elegir el plan menos costoso en función de las métricas de rendimiento registradas internamente. Estas métricas de rendimiento internas incluyen: demanda de memoria, uso de CPU y número de operaciones de E/S. Al mismo tiempo, la optimización de consultas también utiliza heurísticas (Pruning Heuristics) para garantizar que la evaluación de optimizaciones y consultas no lleve más tiempo que la ejecución directa de una consulta no optimizada. Una vez completada la normalización y optimización de la consulta, los resultados de estos procesos se compilan en una estructura de datos del Plan de Ejecución. El plan de ejecución incluye información como qué tabla consultar, qué índice usar, qué seguridad verificar y qué condiciones valorar. Query Executor ejecuta el plan de ejecución producido por Query Optimizer, actúa como programador para todos los comandos en el plan de ejecución y realiza un seguimiento del progreso de cada ejecución de comando. La mayoría de los comandos requieren interacción con el motor de almacenamiento para recuperar o modificar datos, etc.
  • 4. Motor de almacenamiento El motor de almacenamiento de SQL Server contiene componentes responsables de acceder a los datos y administrarlos, incluidos:  Métodos de acceso  Administrador de bloqueo  Servicios de transacciones  Utilidades (Utilidades de Control) Los métodos de acceso incluyen operaciones específicas para crear, actualizar y consultar datos. Algunos de los tipos de métodos de acceso se enumeran a continuación:  Operaciones de filas e índices: responsable de operar y mantener estructuras de datos en el disco, es decir, filas de datos e índices de árbol B.  Operaciones de asignación de páginas: cada base de datos es una colección de páginas de disco de 8 KB distribuidas en varios archivos físicos. SQL Server utiliza 13 estructuras de páginas de disco, incluidas páginas de datos, páginas de índice, etc.
  • 5.  Operaciones de control de versiones: versiones utilizadas para mantener los cambios de fila para admitir funciones de aislamiento de instantáneas, etc. El método de acceso no recupera la página directamente, envía una solicitud al Administrador de búfer, que escanea la página en el caché que administra, o lee la página del disco en el caché. Cuando comienza la exploración, el mecanismo de anticipación se utiliza para validar las filas o los índices de la página. El administrador de bloqueos se usa para controlar el bloqueo de tablas, páginas, filas y datos del sistema, y es responsable de resolver conflictos en un entorno de múltiples usuarios, administrar la compatibilidad de diferentes tipos de bloqueos, resolver bloqueos y escalar bloqueos según sea necesario. (Escalar bloqueos). Transaction Services se utiliza para proporcionar soporte de propiedad ACID para transacciones. Las propiedades de ACID incluyen:  Atomicidad  Consistencia  Aislamiento  Durabilidad La función de registro de escritura anticipada garantiza que los registros siempre se escriban en el disco antes de que las páginas de datos cambiantes se escriban en el disco, lo que hace posible revertir las tareas. La escritura en el registro de transacciones es síncrona, es decir, SQL Server debe esperar a que se complete. Sin embargo, la escritura de páginas de datos puede ser asíncrona, por lo que las páginas de datos que deben escribirse pueden organizarse en la memoria caché para escritura por lotes para mejorar el rendimiento de escritura. SQL Server admite dos modelos de concurrencia para garantizar las propiedades ACID de las transacciones:  La simultaneidad pesimista supone que siempre se producirán conflictos y bloquea los datos para garantizar la corrección y la simultaneidad.  Simultaneidad optimista asume que no habrá conflictos y los maneja cuando se encuentran.
  • 6. En el modelo de concurrencia optimista, los usuarios no bloquean los datos al leerlos. Al realizar una actualización, el sistema verifica si los datos han cambiado desde que otro usuario los leyó. Si otro usuario cambia los datos, se genera un error y el usuario que recibe el mensaje de error revertirá la transacción. Este modelo se usa principalmente en entornos con poca contención de datos y cuando el costo de bloquear los datos supera el costo de revertir la transacción. SQL Server proporciona 5 niveles de aislamiento (Nivel de aislamiento), que pueden admitir diferentes modelos de simultaneidad cuando se trata de simultaneidad de múltiples usuarios.  Read Uncommitted: solo admite simultaneidad pesimista;  Lectura repetible: solo admite simultaneidad pesimista;  Serializable: solo admite concurrencia pesimista;  Instantánea: Admite simultaneidad optimista;  Lectura comprometida: el nivel de aislamiento predeterminado, que admite tanto la simultaneidad pesimista como la simultaneidad optimista según la configuración. Utilities (Controlling Utilities) contiene herramientas para controlar el motor de almacenamiento, como carga masiva (Bulk-load), comandos DBCC, administración de índices de texto completo (Administración de índices de texto completo), comandos de copia de seguridad y restauración. SqlOS SQLOS es una capa de aplicación separada, la capa más baja del motor de SQL Server. Las características clave de SQLOS incluyen:  Planificación  Gestión de la memoria  Sincronización: Proporciona mecanismos de bloqueo como Spinlock, Mutex, ReaderWriterLock, etc.  Agente de memoria: proporciona distribución de memoria en lugar de asignación de memoria.  Manejo de excepciones  Detección de interbloqueo  Eventos extendidos  E/S asíncrona (IO asíncrona)