La estructura de un sistema operativo se puede analizar desde el punto de vista funcional y desde el punto de vista organizativo de los programas que lo componen.
Desde el punto de vista funcional hay que tener en cuenta que los sistemas operativos son programas manejados por eventos. Si no hay programa que ejecutar, dispositivo al cual brindar servicio o usuario que atender entonces no hará nada. Los eventos (mensajes o señales) que lo ponen en acción serán las interrupciones o las trampas. Por lo tanto, los sistemas de operación son programas manejados por interrupción.
La naturaleza de los sistemas operativos de ser manejados por interrupción determina su estructura desde el punto de vista funcional.
Cuando una interrupción o trampa ocurre, de inmediato el hardware transfiere el control al sistema operativo. Este preserva el estado del proceso que se ejecutaba y a continuación realiza el tratamiento correspondiente.
Pueden ocurrir tipos diferentes de interrupciones, pero pueden agruparse en tres tipos:
? Llamadas al sistema.? Interrupción de un dispositivo.
? Un error de programa (detectado por hardware).
Las llamadas al sistema, a estos efectos, pueden dividirse en
? Solicitud de terminación normal (realizada por un proceso cuando va a terminar su ejecución).? Solicitud de terminación anormal (realizada al detectarse la existencia de un error).
? Solicitud de recursos (si no están disponibles, entonces el proceso deberá esperar).
? Solicitud de información de estado (la información es transferida).
? Solicitud de entrada/salida.
A los efectos de la acción del sistema operativo los casos 3 y 4 se pueden considerar como iguales (en el libro de Peterson se le llaman solicitudes que no son de entrada/salida).
Teniendo en cuenta lo antes indicado, en la figura 2.4 (página 54) del Peterson se presenta la estructura del sistema operativo desde el punto de vista funcional.
De aquí que un sistema operativo estará compuesto por al menos de: manejadores de dispositivos, atención a interrupciones ("handlers"), un conjunto de subrutinas de llamadas al sistema y el intérprete de comandos o de tarjetas de control. Como es lógico, el sistema de ficheros también estará presente. La mayoría de los sistemas operativos brindan funciones adicionales y por ello habrá complejidades aún mayores.
No hay comentarios:
Publicar un comentario