Está en la página 1de 6

1

Estructuras de Sistemas Operativos A continuacin se describirn las distintas estructuras, que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener. Estructura monoltica Este tipo de organizacin es, con diferencia, la ms comn. El sistema operativo se escribe como una coleccin de procedimientos, cada uno de los cuales puede llamar a los dems cada vez que as lo requiera. Cuando se usa esta tcnica, cada procedimiento del sistema tiene una interfaz bien definida en trminos de parmetros y resultados, y cada uno de ellos es libre de llamar a cualquier otro, si ste ltimo proporciona un clculo til para el primero. Para construir el programa objeto real del sistema operativo siguiendo este punto de vista, se compilan de forma individual los procedimientos, o los archivos que contienen los procedimientos, y despus se enlazan en un solo archivo objeto con el enlazador. Los servicios (mediante llamadas al sistema) que proporciona el sistema operativo se solicitan colocando los parmetros en lugares bien definidos, como los registros o la pila, para despus ejecutar una instruccin especial de trampa, a veces referida como llamada al ncleo o llamada al supervisor. Esta instruccin cambia la mquina del modo usuario al modo ncleo (tambin conocido como modo supervisor), y transfiere el control al sistema operativo (1). El sistema operativo examina entonces los parmetros de la llamada para determinar cual de ellas se desea realizar (2) A continuacin, el sistema operativo analiza una tabla que contiene en la entrada k un apuntador al procedimiento que implementa la k-sima llamada al sistema (3), identifica el procedimiento de servicio, al cual se llama. Por ltimo, la llamada al sistema termina y el control vuelve al programa del usuario.

Esta organizacin sugiere una estructura bsica del sistema operativo: Un programa principal que llama al procedimiento del servicio solicitado. Un conjunto de procedimientos de servicio que lleva a cabo las llamadas al sistema. Un conjunto de procedimientos de utilidades que ayudan a los procedimientos de servicio. En este modelo, para cada llamada al sistema existe un procedimiento de servicio que se encarga de ella. Los procedimientos de utilidad hacen cosas necesarias para varios procedimientos de servicio, como por ejemplo, buscar los datos del programa del usuario. Esta divisin de los procedimientos en tres capas se muestra en la figura 2.

Modelo cliente-servidor Una tendencia de los sistema operativos modernos es la de trasladar el cdigo a capas superiores, y eliminar la mayor parte posible del sistema operativo para mantener un ncleo mnimo. El punto de vista usual es el implantar la mayora de las funciones del sistema operativo como procesos de usuario. Para solicitar un servicio, como la lectura de un bloque de cierto fichero, un proceso de usuario (denominado en este caso proceso cliente) enva la solicitud a un proceso servidor, que realiza el trabajo y devuelve la respuesta.

En este modelo, (figura 3), lo nico que hace el ncleo es controlar la comunicacin entre los clientes y los servidores. Al separar el sistema operativo en partes, cada una de ellas controla una faceta del sistema, como el servicio a ficheros, servicio a procesos, servicio a terminales o servicio a la memoria; cada parte es pequea y controlable. Adems, puesto que todos los servidores se ejecutan como procesos en modo usuario, y no en modo ncleo, no tienen acceso directo al hardware. En consecuencia, si hay un error en el servidor de ficheros ste puede fallar, pero esto no afectar en general a toda la mquina.

Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptacin para su uso en sistemas distribuidos (figura 4). Si un cliente se comunica con un servidor mediante mensajes, el cliente no necesita saber si el mensaje se gestiona de forma local, en su mquina, o si se enva por medio de una red a un servidor en una mquina remota. En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envi una solicitud y se recibi una respuesta. Estructura Jerrquica Es una arquitectura modular, donde se tienen mdulos bsicos y otros que se apoyan en stos. Conllevan a la creacin del TRAP (interface entre una capa y otra), forma en la que una capa utiliza la funcionalidad de una capa jerrquicamente inferior. Una funcin

llama a otra ms interna, nunca al revs. No se pude saltar entre capas, se debe ir recorriendo una a una.

Figura 5. Organizacin Jerrquica en Anillos

Las zonas ms internas del SO o ncleo del sistema estarn ms protegidas de accesos indeseados desde las capas ms externas. Las capas ms internas sern ms privilegiadas que las externas La primera estructura jerrquica o de niveles en los SO se le denomin THE (Techische Hogschool, Eindhoven), de Dijkstra, utilizados con fines didcticos. Nivel 5 Usuario Nivel 4 Archivos Nivel 3 Entrada/Salida Nivel 2 Comunicaciones Nivel 1 Memoria Nivel 0 Gestin CPU Nivel -1 Hardware Figura 6. Sistema Jerrquico THE Ventajas: Mantenimiento mucho ms fcil. SO que siguen esta estructura: OS/2. Mquinas Virtuales Se trata de un tipo de sistemas operativos que presentan un interface a cada proceso, mostrando, una mquina que parece idntica a la mquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: - La multiprogramacin. - La mquina extendida. El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ver varias mquinas diferentes. El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin llevar a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales como le soliciten. Estas mquinas virtuales no son mquinas extendidas, sino una rplica de la mquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la mquina extendida al usuario. Las distintas mquinas virtuales pueden, y por lo general lo hacen, ejecutar distintos sistemas operativos. Algunas ejecutan uno de los descendientes de OS/360 para el procesamiento por lotes, mientras que otras ejecutan un sistema interactivo por un solo usuario, llamado CMS (Conversational Monitor System), para los usuarios del tiempo compartido.

Cuando un programa CMS ejecuta una llamada es atrapada por el sistema operativo en su propia mquina virtual, no a VM/370, de la misma forma en que lo hara si se ejecutara en una mquina reala en vez de una virtual. CMS proporciona entonces las instrucciones normales de E/S en hardware para la lectura del disco virtual o lo necesario para llevar adelante la llamada. Estas instrucciones de E/S son atrapadas por VM/370, que entonces las lleva a cabo como parte de la simulacin del hardware verdadero. Al hacer una separacin total de las funciones de multiprogramacin y proporcionar una mquina extendida, cada una de las partes puede ser ms sencilla, flexible y tener un fcil mantenimiento. PRESTACIONES DE UN SISTEMA OPERATIVO La misin de un sistema operativo es la de ayudar a los usuarios en el manejo de la computadora; para ello deber proporcionar servicios que se puedan considerar desde dos puntos de vista distintos: Punto de vista del Programador Ejecucin de programas: Facilidades para cargar un programa en memoria y 4 ejecutarlo. Operaciones de Entrada /Salida: Facilidades para que un programa pueda tratar un archivo, enviar o recibir daros a un dispositivo, etc. Gestin de archivos: Facilidades de uso y organizacin del sistema de archivos. Puntos de Vista del Sistema Asignacin de Recursos: mecanismos de resolucin de conflictos de asignacin de recursos cuando varios procesos o usuarios estn compitiendo por ellos. Contabilidad: control de tiempos de utilizacin de recursos por los usuarios para su facturacin o simplemente para la obtencin de estadsticas de utilizacin. Proteccin: Defensa contra acciones no deseadas. Servicios de Usuarios El sistema operativo ofrece a los usuarios sus servicios de dos formas diferentes: Las llamadas al sistema operativo desde un proceso y la ejecucin de programas del propio sistema. Llamada al sistema operativo Constituyen el interface entre un programa en ejecucin y el sistema operativo. Estas llamadas se pueden agrupar de la siguiente forma: Gestin de procesos. Gestin de operaciones de entrada/salida. Gestin del sistema de archivos. Proteccin. Programas del Sistema En los sistemas operativos actuales, son como las llamadas a un subprograma desde el punto de vista del programa que llama. Tras la llamada al sistema operativo, existe un conjunto de programas del sistema o de utilidad cuya misin es resolver problemas comunes y frecuentes de los usuarios, ofrecindolos de forma cmoda y sencilla. Estos programas los podemos agrupar de la siguiente forma: Tratamiento de Archivos: Crean, copian borran, renombran, imprimen, visualizan, vuelcan, ordenan, etc. un archivo, facilitando la gestin de los mismos y los directorios. Informacin: Dan cualquier tipo de informacin relativa al estado del sistema, de la memoria, de los discos, de usuarios, fechas, hora, etc. Editores: Son programas que facilitan la edicin de archivos de texto o de programas fuente.

Ejecucin: Son programas para la construccin, depuracin y carga de programas

ejecutables (Linkers, debugger. Etc.)


Programas de utilidad: Son programas para la gestin de Base de Datos,

compiladores, comunicaciones, etc.


Interprete de comandos: Es el mas importante de todos los programas del sistema

operativo, ya que es el que crea el entorno de trabajo de los usuarios. Servicios del Sistema El intrprete de comandos y los programas del sistema son los que fijan el entorno y la forma de ver el sistema operativo por los usuarios. En cambio, el programa tiene una visin totalmente diferente; para l todos son recursos fsicos y dispositivos que deben ser convertidos en entidades lgicas para ofrecrselas a los usuarios. Llamadas al Sistema Operativo Estas se agrupan por el tipo de llamada no por la accin que realizan. Pueden ser: Terminacin normal: Se realiza la devolucin del control al usuario cuyo proceso ha terminado, a travs del intrprete de comandos. Terminacin anormal: Cuando aparece un error en la ejecucin de un programa, este se da por terminado, devolviendo el control al interprete de comandos, que indicara tal situacin de error al usuario. Peticiones de estado: Se procesa la peticin solicitada y se devuelve el control al 5 programa que lo solicit. Peticiones de recursos: Los programas solicitan recursos durante su ejecucin que sern atendidos de inmediato o se entrar en un estado de espera hasta que pueda ser atendidos. Peticiones de entrada / salida: De igual forma, los programas las solicitarn y sern atendidas de inmediato o tras un pequeo periodo de espera. Interrupciones de los dispositivos de entrada / salida. Una vez que un programa en ejecucin realiza una peticin de entrada/salida, se pueden tomar dos tipos de accin: El proceso queda en espera hasta que ser termina la operacin de entrada / salida: en este caso el dispositivo externo, cuando termine la operacin, producir una interrupcin que dar control al sistema operativo, el cual activara el proceso que estaba en espera. El proceso seguir realizando otras operaciones: En el caso el dispositivo externo tambin produce una interrupcin en el sistema operativo, el cual no activar el proceso puesto que no estaba en espera, pero indicar que la operacin solicitada ha terminado. Gestin de excepciones Cuando un programa en ejecucin comete un error, se producir una interrupcin; por ejemplo, una divisin por 0, intento de violacin de un archivo protegido, intento de ejecucin de una instruccin no permitida o privilegiada, etc. El tratamiento de estos errores se conoce como manejo de excepciones. Protecciones Los programas de aplicacin de los usuarios no estn exentos de errores, as como los sistemas tampoco estn libres de usuarios como malas intenciones. Por ello, el sistema operativo debe incluir ciertas funciones de proteccin como objeto de evitar problemas entre procesos y entre stos y el propio sistema operativo. Proteccin de la entrada/salida Todos los dispositivos externos cuentan, por parte del sistema operativo, con rutinas para el control de las operaciones de entrada/salida. Estas rutinas se denominan controladores o drivers de dispositivos y entre otras funciones protegen los accesos

incorrectos, devolviendo el control al ncleo del sistema operativo, indicndole la situacin errnea que se ha producido. Proteccin de la memoria En general, cada proceso tiene una zona de memoria asignada para el tratamiento de sus datos denominada espacio de direccionamiento y no puede acceder a zonas asignadas al sistema operativo o a otros procesos. Para evitarlo existen unos registros frontera que indican el limite de memoria asignado a cada proceso. Si un proceso intentase acceder a direcciones que estn fuera de la zona de memoria de su espacio de direccionamiento, se producir una intencin que dar control al sistema operativo dando cuenta del error que se ha producido. Proteccin del procesador Otro tipo de problemas que pueden presentarse es la presencia de bucles infinitos o accesos al procesador que no lo liberan nunca. En stos la nica solucin es la de apagar y volver a encender (reset) para volver a comenzar desde el principio. Para evitarlo, hardware incluye un temporizador que marca periodos de tiempo de manera que al terminar un periodo de tiempo se produzcan una interrupcin y tome el control el sistema operativo.

También podría gustarte