Sistemas operativos modernos
de memoria establecer en forma dinámica un equilibrio entre el tamaño del caché y la memo ria para páginas de usuario. Si no hay mucha actividad de archivos pero sí muchos procesos ac tivos, el administrador de memoria podrá usar la mayor parte de la memoria física para las páginas de los procesos. En cambio, si hay mucha actividad de archivos y pocos procesos, po drá dedicarse más memoria física al caché. Otra propiedad del administrador de caché es que se mantiene la coherencia entre los ar chivos con correspondencia en memoria y los que están abiertos para lectura y escritura. Por ejemplo, consideremos una situación en la que un proceso abre algún archivo para leer y es cribir y un segundo proceso establece una correspondencia entre ese archivo y su espacio de direcciones. ¿Qué sucede si el segundo proceso escribe en el archivo de manera directa, e in mediatamente después el primero lee un bloque que se acaba de modificar? ¿Obtiene datos antiguos que ya no son válidos? La respuesta es no. En ambos casos —archivos abiertos y archivos con correspondencia— el administrador de caché establece una correspondencia entre el archivo y un trozo de 256 KB de su espacio de direcciones virtual. El archivo sólo se hace corresponder una vez, sin impor tar cuántos procesos lo tengan abierto o tengan una correspondencia con él. En el caso de un archivo con correspondencia, tanto el administrador de caché como el proceso de usuario com parten páginas en memoria. Cuando hay que safisfacer una solicitud, el administrador de caché tan sólo copia la página de la memoria al búfer de usuario, que siempre refleja el estado actual exacto del archivo porque el administrador de caché está ufilizando las mismas páginas que el proceso que tiene el archivo con correspondencia. 11.10 RESUMEN La estructura de Windows 2000 consiste en HAL, el kemel, el ejecutivo y una delgada capa de servicios del sistema que atrapa las llamadas al sistema que llegan. Además, hay diversos con troladores de dispositivos que incluyen los sistemas de archivos y la GDI. HAL oculta ciertas diferencias en el hardware para que las capas superiores no las noten. El kemel intenta ocultar las diferencias restantes para que el ejecutivo no las perciba y, por tanto, sea casi por comple to independiente de la máquina. El ejecutivo se basa en objetos de memoria. Los procesos de usuario los crean y al hacer lo reciben idenfificadores para manipularlos después. Los componentes del ejecutivo también pueden crear objetos. El administrador de objetos mantiene un espacio de nombres en el que pue den insertarse objetos para consultarlos más adelante. Windows 2000 maneja procesos, trabajos, subprocesos y fibras. Los subprocesos tienen es pacios de direcciones virtuales y son contenedores de recursos. Los subprocesos son la unidad de ejecución y son lo que calendariza el sistema operativo. Las fibras son subprocesos ligeros que se calendarizan por completo en el espacio de usuario. Los trabajos son colecciones de procesos y sirven para asignar cuotas de recursos. La calendarización se efectúa con un algoritmo de priorida des en el que el siguiente subproceso listo que se ejecuta es el que tiene la más alta prioridad. Windows 2000 maneja memoria virtual paginada por demanda. El algoritmo de pagina ción se basa en el concepto de conjunto de trabajo. El sistema mantiene varias listas de pági-
RkJQdWJsaXNoZXIy MjI4NDcx