Visi≤n Global

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

Reloj

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.

Servicios que ofrece

  • Se±ala el paso del tiempo.

  • Se detiene a petici≤n del cliente.

Procesador

Simboliza la gesti≤n que el SO hace de la capacidad de proceso de la mßquina.

Servicios que ofrece

  • Informa de la creaci≤n y destrucci≤n de procesos.

  • Termina anticipadamente los procesos a petici≤n del cliente.

Servicios que utiliza

  • 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

Memoria

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)

Servicios que ofrece

  • 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.

Servicios que utiliza

  • 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.

Disco

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).

Servicios que ofrece

  • 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.

Servicios que utiliza

  • Recibe la referencia de tiempos del reloj.

Mensajero

Este elemento se encarga de gestionar la comunicaci≤n entre los demßs.

Servicios que ofrece

  • 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