Tipos de Estructuras de los S. O.
Sistemas monolíticos Es muy común, no existe la estructura o es mínima El S. O. es una colección de procedimientos que se pueden llamar entre si Cada procedimiento tiene una interfaz bien definida.
Sistemas monolíticos Procedimiento Principal Procedimiento de Servicio Procedimiento Utilitario
Sistemas monolíticos Para ejecutar los servicios del S.O.: Se solicitan colocando los parámetros en lugares bien definidos (registros o pilas) Se ejecuta una llamada especial (tramp), llamada al núcleo o llamada al supervisor La instrucción cambia del modo usuario al modo núcleo (supervisor) Cuando termina el control regresa al programa del usuario
Sistemas monolíticos Memoria Principal Programa 2 del Usuario Programa 1 del Usuario Llamada al Núcleo 1 3 2 4 Proc. de Servicio
Sistemas monolíticos Memoria Principal Programa 2 del Usuario Programa 1 del Usuario Llamada al Núcleo 1 3 2 4 Prog. del Usuario En modo Usurio Proc. de Servicio S. O. En modo Núcleo
Sistemas monolíticos MS-DOS Unix Linux
Sistemas de capas (THE) Dijkstra 1968 Technische Hogeschool Eindhoven Consiste en organizar el S. O. como una jerarquía de capas, c/u construida sobre la inmediatamente inferior
Sistemas de capas (THE) 5 Operador 4 Programas de 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
Sistemas de capas (THE) 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
Sistemas de capas (THE) Capa 1 Administra la memoria Asegura que las páginas (porciones de memoria) requeridas por los procesos lleguen a memoria cuando fueran necesarias
Sistemas de capas (THE) Capa 2 Administra la comunicación entre cada proceso y la consola del operador Por sobre esta capa cada proceso tiene una consola de operador
Sistemas de capas (THE) Capa 3 Controla los dispositivos de E/S y almacena en buffers los flujos de información entre ellos Sobre esta capa cada proceso puede trabajar con dispositivos abstractos de E/S en vez de dispositivos reales
Sistemas de capas (THE) Capa 4 Aloja a los programas de usuario Los programas de usuario no tienen que preocuparse por el proceso, memoria, consola o control de E/S
Sistemas de capas (THE) Capa 5 Localiza al proceso operador del sistema
Sistemas de capas MULTICS Multiplexed Information and Computing Service Presenta una estructura de anillos concéntricos, siendo los interiores los más privilegiados
Sistemas de capas MULTICS Programas de Aplicación Lenguaje de Máquina Microprogramación S. O. Compiladores, Dispositivos Intérpretes Físicos de Comandos, Editores
Sistemas de capas MULTICS Dispositivos físicos: son la capa más baja en ella están:» los chips» cables» fuentes de poder» tubos de rayos catódicos» y otros dispositivos físicos.
Sistemas de capas MULTICS Microprogramación: Software de bajo nivel Se encarga de los dispositivos de E/S Normalmente grabado en la R. O. M.
Sistemas de capas MULTICS Lenguaje de Máquina Tiene variada cantidad de instrucciones, en un rango de 50 a 300 La mayoría sirven para desplazar datos a través de la máquina y hacer operaciones aritméticas y comparar valores.
Sistemas de capas MULTICS Sistema Operativo oculta la complejidad de la utilización del hardware y muestra un conjunto de instrucciones más apropiado para trabajar. Los programas del Sistema Operativo están protegidos de las acciones de los usuarios. Sobre este se ejecutan el resto de las aplicaciones
Sistemas de capas MULTICS Programas de Aplicación Programas con un fin específico» Planillas de cálculo» Procesadores de texto» Presentaciones con Diapositivas» Juegos» Etc.
Sistemas de capas MULTICS -» Unix MIT, GE, Laboratorios Bell OS/2 IBM ecomstation Serenity Systems
Máquinas Virtuales
Máquinas Virtuales Las máquinas virtuales instrumentan copias exactas del hardware simple modo núcleo / usuario E/S Interrupciones Pueden ejecutar cualquier S. O. que se ejecute en forma directa sobre el hardware
Máquinas Virtuales Ejemplo VM/370 de IBM Utiliza CMS (Conversational Monitor System) Cuando se realiza una llamada al sistema La llamda es atrapada por el S. O. en su propia M. V. El CMS proporciona las instrucciones de E/S en el hardware para realizar la llamada VM/370 atrapa estas instrucciones y las ejecuta en sobre el hardware verdadero
Máquinas Virtuales Ejemplo VM/370 de IBM Máquinas 370 Virtuales Instrucc. de E/S CMS CMS CMS VM/370 370 Hardware Simple Llamada al Sistema
Modelo Cliente / Servidor
Modelo Cliente / Servidor Una tendencia de los S. O. modernos es mover el código a capas superiores y mantener el núcleo mínimo, de manera similar al VM/370 de IBM Implementar la mayoría de las funciones del S. O. en modo usuario
Modelo Cliente / Servidor Para solicitar un servicio El proceso de Usuario (proceso cliente) envía la solicitud a un proceso servidor, que realiza la operación y regresa la respuesta El núcleo controla la comunicación entre los clientes y los servidores
Modelo Cliente / Servidor Se fracciona el S. O. en partes C/U controlando un servicio: de Archivos de Procesos de Terminales de Memoria Etc.
Modelo Cliente / Servidor Los servidores se ejecutan como procesos en modo usuario No tienen acceso directo al hardware Se aíslan y acotan más fácilmente los problemas Se adapta para su uso en los sistemas distribuidos
Modelo Cliente/Servidor Los Clientes obtienen el servicio al enviar mensajes a los Servidores Proceso Cliente Proceso Cliente Servidor Procesos Servidor Terminal Servidor Archivos Servidor Memoria Núcleo (Kernell) Modo Núcleo Modo Usuario
Sistemas de Tiempo Real
Sistemas de Tiempo Real Es un sistema informático en el que el tiempo en que se producen sus acciones es significativo. Las acciones del sistema deben ser correctas, desde el punto de vista lógico o algorítmico, y deben producirse dentro de un intervalo de tiempo determinado.
Sistemas de Tiempo Real Los sistemas de tiempo real suelen estar integrados en un sistema de ingeniería más general, en el que se realizan funciones de control y/o monitorización. A estos sistemas se los denomina Sistemas Empotrados o Embebidos (Embedded Systems).
Sistemas de Tiempo Real Ejemplos: Electrónica de consumo Videos,TVs, Lavadoras, Lavaplatos Aviación Computadoras de vuelo, Path-finder Automóviles Control de velocidad, ABS, Sistema de inyección Defensa Bombas y misiles inteligentes, dirección de tiro Telecomunicaciones Radios, teléfonos moviles
Sistemas de Tiempo Real Requisitos Temporales Tiempo real estricto (Hard Real Time) Todas las acciones deben ocurrir dentro del plazo especificado Ejemplo: Control de vuelo Real real-time. Los tiempos de respuesta son muy cortos ejemplo: Sistema de guiado de misiles Timepo real flexible (Soft Real Time) Se pueden perder plazos de vez en cuando El valor (utilidad) de la respuesta decrece con el tiempo
Sistemas de Tiempo Real Características Gran tamaño y complejidad Concurrencia Los dispositivos físicos controlados funcionan simultaneamente Los componentes de software que los controlan se ejecutan concurrentemente Dispositivos de E/S especiales Los manejadores de dispositivos forman parte del software de aplicación Seguridad y fiabilidad Sistemas críticos, fallos con consecuencias muy graves
Sistemas de Tiempo Real Características Determinismo temporal Acciones en intervalos de tiempo determinados Es fundamental que el comportamiento temporal de los STR sea determinista: La eficiencia es importante pero la predictibildad es esencial Hay que preveer el comportamiento en el peor caso posible Manipulación de números reales Capacidad para manipular números de coma flotante y reales (cálculos de alto grado de precisión)
Sistemas Distribuidos
Sistemas Distribuidos es aquél que está compuesto por varias computadoras autónomas conectadas mediante una red de comunicaciones y equipadas con programas que les permitan coordinar sus actividades y compartir recursos.
Sistemas Distribuidos Propiedades: Está compuesto por varios recursos informáticos de propósito general, tanto físicos como lógicos, que pueden asignarse dinámicamente a tareas concretas. Estos recursos están distribuidos físicamente, y funcionan gracias a una red de comunicaciones. Hay un sistema operativo de alto nivel, que unifica e integra el control de los componentes.
Sistemas Distribuidos Propiedades: El hecho de la distribución es transparente, permitiendo que los servicios puedan ser solicitados especificando simplemente su nombre (no su localización). El funcionamiento de los recursos físicos y lógicos está caracterizado por una autonomía coordinada.
Sistemas Distribuidos Aplicaciones de Sistemas Distribuidos: 1. La distribución es fundamentalmente un medio para conseguir un fin 2. La distribución es un problema en sí misma.
Sistemas Distribuidos La distribución es fundamentalmente un medio para conseguir un fin Computación masivamente paralela, de propósito general y de alta velocidad. Tolerancia a fallos (confianza, disponibilidad). Respuesta a demandas con requisitos de tiempo real.
Sistemas Distribuidos La distribución es un problema en sí misma. Bases de datos distribuidas. Es necesario acceder a los datos desde lugares geográficamente dispersos, y además almacenarlos también en varios lugares diferentes. Fabricación automatizada. Es necesaria la colaboración de muchos procesadores para coordinar las tareas en una fabrica.
Sistemas Distribuidos La distribución es un problema en sí misma. Supervisión remota y control. Los sensores y los nodos donde se toman las decisiones de control pueden estar en diferentes partes de un sistema distribuido. Toma de decisiones coordinada. Es necesario que varios procesadores participen en la toma de decisiones, por ejemplo, porque cada uno de ellos tiene una parte de los datos relevantes.