La aplicaci≤n consta de distintos subsistemas (Procesador, Memoria, Disco) interconectados a travΘs del sistema de mensajerφa que se encarga de gestionar la comunicaci≤n.
En todos los casos en que aparecen algoritmos y representaciones, el patr≤n es el mismo. Existen unas estructuras de datos, gestionadas por el algoritmo elegido, que representan el estado del subsistema. De esta manera, el c≤digo que dibuja cada representaci≤n no tiene mßs que utilizar esta misma estructura de datos como referencia.
Cada subsistema es un objeto que ejemplifica cada una de las cuatro partes de la arquitectura Von Newmann, a la vez que los mΘtodos de gesti≤n impuestos por un sistema operativo moderno.
Dichos objetos implementan una interfaz bien definida, comunicßndose a travΘs del sistema de mensajerφa y ofrecen unos servicios que generalmente pueden solicitar, de igual manera, cualquiera de los demßs.
Figura 1. Diagrama de bloques
Este subsistema marca el ritmo de ejecuci≤n de los demßs. Su simulaci≤n es importante porque viene a representar el carßcter sφncrono del ordenador y permite al usuario elegir la velocidad a la que transcurre la simulaci≤n.
Se±ala el paso del tiempo.
Se detiene a petici≤n del cliente.
Simboliza la gesti≤n que el SO hace de la capacidad de proceso de la mßquina.
Informa de la creaci≤n y destrucci≤n de procesos.
Termina anticipadamente los procesos a petici≤n del cliente.
Produce fallos de pßgina y accesos a la memoria principal.
Solicita bloques de datos del disco.
Recibe la referencia de tiempo del reloj
Detiene el reloj en ciertas situaciones
Representa la gesti≤n de memoria principal con las tΘcnicas mßs com·nmente empleadas para aumentar su eficiencia (paginaci≤n, memoria. virtual, swap)
Recibe fallos de pßgina.
Comunica cußndo un fallo de pßgina ha sido resuelto.
Recibe accesos a pßginas disponibles.
Informa cußndo cambia la disponibilidad de pßginas de un proceso.
Realiza accesos al disco para escribir en el ßrea de swap las pßginas que "roba" a los distintos procesos y poder devolvΘrselas despuΘs.
Recibe la referencia de tiempo del reloj.
Recibe notificaci≤n del procesador cuando se crean o destruyen procesos
.Solicita la terminaci≤n anticipada de procesos al procesador cuando no hay recursos suficientes.
En un sistema real, la memoria principal (rßpida y volßtil) se ve complementada por una memoria secundaria (com·nmente en forma de disco magnΘtico) que es persistente, mßs lenta y barata, y que le confiere al sistema capacidad de almacenar la informaci≤n necesaria para funcionar (sistema operativo y datos de usuario).
Acepta peticiones de acceso a los distintos bloques de datos y swap.
Informa (al cliente que lo solicit≤) cußndo un acceso ha sido completado.
Recibe la referencia de tiempos del reloj.
Este elemento se encarga de gestionar la comunicaci≤n entre los demßs.
Reinicia todo el sistema a petici≤n del cliente
En la figura se muestra un diagrama simplificado del sistema, suponiendo que la comunicaci≤n ocurre directamente sin tener en cuanta al mensajero.
Figura 2. Diagrama de bloques simplificado