SECCION ACADEMICA
SISTEMAS OPERATIVOS
Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.
En una definición informal es un sistema que consiste en ofrecer una distribución ordenada y controlada de los procesadores, memorias y dispositivos de E/S entre los diversos programas que compiten por ellos.
-----------------------------------------------
-------------------------------------------
SISTEMAS OPERATIVOS COMO ADMINISTRADOR DE RECURSOS
Un sistema operativo consiste en administrar los recursos de un computador cuando hay dos o más programas que ejecutan simultáneamente y requieren usar el mismo recurso (como tiempo de CPU, memoria o impresora).
Además, en un sistema multiusuario, suele ser necesario o conveniente compartir, además de dispositivos físicos, información.
Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad: por ejemplo, la información confidencial sólo debe ser accesada por usuarios autorizados, un usuario cualquiera no debiera ser capaz de sobreescribir áreas críticas del sistema, etc.
-----------------------------------------------
-------------------------------------------
ESTRUCTURAS DE LOS SISTEMAS OPERATIVOS
Se considera la organización interna de los S. O. y conforme a ella se los clasifica de la siguiente manera, destacándose sus principales características:
Sistemas monolíticos:
Sistemas con capas:
- Es muy común: no existe estructura propiamente dicha o es mínima.
El S. O. es una colección de procedimientos que se pueden llamar entre sí
- Cada procedimiento tiene una interfaz bien definida en términos de parámetros y resultados.
- Para ejecutar los servicios del S. O. (llamadas al sistema):
- Se solicitan colocando los parámetros en lugares bien definidos (registros o pilas).
- Se ejecuta una instrucción especial de trampa: llamada al núcleo o llamada al supervisor.
- La instrucción cambia la máquina del modo usuario al modo núcleo (o modo supervisor). [23, Tanenbaum]
- Se transfiere el control al S. O.
- El S. O. examina los parámetros de la llamada para determinar cuál de ellas se desea realizar.
- El S. O. analiza una tabla que contiene en la entrada “k” un apuntador al procedimiento que realiza la “k-ésima” llamada al sistema:
- Identifica al procedimiento de servicio llamado.
- La llamada al sistema termina y el control regresa al programa del usuario.
- Es una generalización del modelo de estructura simple para un sistema monolítico.
- Consiste en organizar el s. o. como una jerarquía de capas, cada una construida sobre la inmediata inferior.
5 - Operador 4 - Programas del Usuario 3 - Control de Entrada - Salida 2 - Comunicaciones Operador - Proceso 1 - Administración de la Memoria y del Disco 0 - Asignación del Procesador y Multiprogramación Tabla 1.1: Estructura del S.O. en capas "THE".
El primer sistema con este esquema fue el “THE” (Holanda - Dijkstra -1968):Máquinas virtuales:
“THE”: Technische Hogeschool Eindhoven.Una generalización mas avanzada del concepto de capas se presento con “Multics” (MIT, Bell Labs y General Electric):
- Capa 0:
- Trabaja con la asignación del procesador.
- Alterna entre los procesos cuando ocurren las interrupciones o expiran los cronómetros.
- Proporciona la multiprogramación básica.
- Capa 1:
- Administra la memoria.
- Asegura que las páginas (porciones de memoria) requeridas de los procesos lleguen a memoria cuando fueran necesarias.
- Capa 2:
- Administra la comunicación entre cada proceso y la consola del operador.
- Por sobre esta capa, cada proceso tiene su propia consola de operador.
- Capa 3:
- Controla los dispositivos de e / s y almacena en buffers los flujos de información entre ellos.
- Por sobre la capa 3 cada proceso puede trabajar con dispositivos abstractos de e / s en vez de con dispositivos reales.
- Capa 4:
- Aloja los programas del usuario.
- Los programas. del usuario no tienen que preocuparse por el proceso, memoria, consola o control de e / s.
- Capa 5:
- Localiza el proceso operador del sistema.
- “Multics”: multiplexed information and computing service.
- Presenta una estructura en anillos concéntricos, siendo los interiores los privilegiados.
- Un procedimiento de un anillo exterior, para llamar a un procedimiento de un anillo interior, debe hacer el equivalente a una llamada al sistema.
Se separan totalmente las funciones de multiprogramación y de máquina extendida.
Existe un elemento central llamado monitor de la máquina virtual que:Las máquinas virtuales instrumentan copias “exactas” del hardware simple, con su modo núcleo / usuario, e / s, interrupciones y todo lo demás que posee una máquina real.
- Se ejecuta en el hardware.
- Realiza la multiprogramación.
- Proporciona varias máquinas virtuales a la capa superior.
Pueden ejecutar cualquier S. O. que se ejecute en forma directa sobre el hardware.Las distintas máquinas virtuales pueden ejecutar distintos S. O. y en general así lo hacen.Soportan periféricos virtuales.Ejemplo de S. O. representativo de esta estructura: “VM/370” de IBM:
Modelo cliente - servidor:.Las m. v. generalmente utilizaran, entre otros, el S. O. “CMS”: Conversational Monitor System.
Cuando un programa “CMS” ejecuta una llamada al sistema:
- La llamada es atrapada por el S. O. en su propia m. v.; no pasa directamente al “VM/370”.
- “CMS” proporciona las instrucciones de e / s en hardware para la lectura del disco virtual o lo necesario para efectuar la llamada.
- “VM/370” atrapa estas instrucciones de e / s y las ejecuta sobre el hardware verdadero.
Una tendencia en los S. O. modernos es la de explotar la idea de mover el código a capas superiores y mantener un núcleo mínimo, de manera similar al “VM/370”.
Implantar la mayoría de las funciones del S. O. en los procesos del usuario.Para solicitar un servicio (por ej.: lectura de un bloque de cierto archivo) según el modelo cliente - servidor:
El proceso del usuario (proceso cliente) envía la solicitud a un proceso servidor:El núcleo controla la comunicación entre los clientes y los servidores.
Realiza el trabajo y regresa la respuesta.
Se fracciona el S. O. en partes, cada una controlando una faceta:Servicio a archivos, a procesos, a terminales, a memoria, etc., cada parte pequeña y más fácilmente controlable.Los servidores se ejecutan como procesos en modo usuario:
Se adapta para su uso en los sistemas distribuidos:
- No tienen acceso directo al hardware.
- Se aíslan y acotan más fácilmente los problemas.
Si un cliente se comunica con un servidor mediante mensajes:Algunas funciones del S. O., por ej. el cargado de comandos en los registros físicos del dispositivo de e / s, presentan problemas especiales y distintas soluciones:
- No necesita saber si el mensaje se atiende localmente o mediante un servidor remoto, situado en otra máquina conectada.
- Envía una solicitud y obtiene una respuesta.
- Ejecución en modo núcleo, con acceso total al hardware y comunicación con los demás procesos mediante el mecanismo normal de mensajes.
- Construcción de un mínimo de mecanismos dentro del núcleo manteniendo las decisiones de política relativas a los usuarios dentro del espacio del usuario.