Sistemas operativos modernos
Registros Direcciones de dispositivos de dispositivos Interrupciones Bloqueos DMA Temporizadores giratorios BIOS Capa de ¿distracción de hardware Figura 11-8. Algunas de las funciones de hardware que administra HAL. La capa del kernel Arriba de la capa de abstracción de hardware está una capa que contiene lo que Microsoft lla ma el kernel, así como los controladores de dispositivos. Algunas de las primeras versiones de la documentación llaman "'microkemer al kernel, cosa que nunca fue en realidad porque el ad ministrador de memoria, el sistema de archivos y otros componentes principales residieron en el espacio de kemel y se ejecutaron en modo de kemel desde el principio. Es indudable que el kemel no es un microkemel ahora, porque casi todo el sistema operativo se puso en el espacio de kemel a partir de NT 4.0. En el capítulo sobre UNIX, usamos el término ‘'kemel" para referimos a todo lo que se ejecuta en modo de kemel. En este capítulo reservaremos ese término (muy a regañadientes) para la parte rotulada como tal en la figura 11-7, y llamaremos “sistema operativo” a la totali dad del código que se ejecuta en modo de kemel. Una parte del kemel (y gran parte de HAL) reside de forma permanente en la memoria principal (es decir, no se pagina). Al ajustar su prio ridad, es posible controlar si puede tolerar ser expropiada por interrupciones de E/S o no. Aun que una fracción considerable del kemel es específica para la máquina, de todos modos está escrita en su mayor parte en C, excepto cuando la necesidad de obtener un máximo desempe ño domina todas las demás consideraciones. El propósito del kemel es hacer que el resto del sistema operativo sea independiente por completo del hardware, y por tanto muy portáfil. El kemel continúa la labor de HAL; fiene ac ceso al hardware por medio de HAL y se apoya en los servicios HAL de extremadamente ba jo nivel para construir abstracciones de más alto nivel. Por ejemplo, HAL tiene llamadas para asociar procedimientos de servicio de interrupciones a las interrupciones y establecer sus prio ridades, pero no hace mucho más en esta área. El kemel, en cambio, proporciona un mecanis mo completo para realizar conmutaciones de contexto. Guarda en forma correcta todos los registros de la CPU, cambia las tablas de páginas, escribe en disco el caché de la CPU, etcétera, de modo que, cuando termina, el subproceso que se estaba ejecutando antes ya se ha guardado en tablas en la memoria. Luego, el kernel prepara el mapa de memoria del nuevo subproceso y carga sus registros para que pueda iniciar su ejecución.
RkJQdWJsaXNoZXIy MjI4NDcx