Download Sistemas Distribuidos - Redes y Comunicaciones
Document related concepts
Transcript
Capítulo 1: Introducción ¿Qué es un sistema operativo? Sistemas Operativos por Lotes. Sistemas de Tiempo Compartido. Sistemas para Computadoras Personales. Sistemas Paralelos. Sistemas de Tiempo Real. Sistemas Distribuidos. Sistems Operativos – 6ta. Edición 1.1 Silberschatz, Galvin y Gagne ©2002 ¿Qué es un Sistema Operativo? Un programa que actúa como intermediario entre el usuario y el “hardware” de la computadora. Propósitos de un Sistema Operativo: Principal – Ejecutar los programas de los usuarios y facilitar la resolución de algoritmos. Facilitar el uso del sistema de computación. Secundario – Utilizar los recursos del “hardware” de la computadora de una manera eficiente. Sistems Operativos – 6ta. Edición 1.2 Silberschatz, Galvin y Gagne ©2002 Componentes de un Sistema de Computación Hardware – provee los recursos básicos de cómputo ( CPU, memoria, dispositivos de entrada/salida. Sistema Operativo – controla y coordina el uso del “hardware” entre los variados programas de aplicación en ejecución por los usuarios del sistema. Programas de Aplicación – Definen la manera en la cual los recursos del sistema son utilizados para resolver los problemas planteados por los usuarios ( compiladores, bases de datos, juegos, programas para negocios ). Usuarios ( personas, máquinas, otras computadoras ). Sistems Operativos – 6ta. Edición 1.3 Silberschatz, Galvin y Gagne ©2002 Vista de los componentes del sistema. Sistems Operativos – 6ta. Edición 1.4 Silberschatz, Galvin y Gagne ©2002 Definición de un Sistema Operativo. Otras definiciones para un sistema operativo: Administrador de recursos – Administra y asigna recursos. Es un programa de control – controla la ejecución de los programas de los usuarios así como las operaciones de los dispositivos de entrada/salida. Kernel – El programa en ejecución permanente ( todos los demás son programas de aplicación ). Sistems Operativos – 6ta. Edición 1.5 Silberschatz, Galvin y Gagne ©2002 Sistemas por lotes( batch ). Reducen el tiempo de arranque agrupando trabajos con características similares. Erán utilizadas lectoras de tarjetas para cargar los trabajos. Un lote de tarjetas se denomina “batch”. Secuencia automática de los trabajos – automaticamente transfiere el control de un trabajo al siguiente. Primeros sistemas operativos rudimentarios. Monitor residente. El monitor tiene el control inicial. Es transferido el control al trabajo. Al terminar el trabajo, el control es transferido de vuelta al monitor. Sistems Operativos – 6ta. Edición 1.6 Silberschatz, Galvin y Gagne ©2002 Mapa de memoria para un sencillo sistema por lotes. Sistems Operativos – 6ta. Edición 1.7 Silberschatz, Galvin y Gagne ©2002 Sistemas por lotes( batch ). En los sistemas por lotes el CPU está ocioso mientras el único trabajo en memoria requiere de actividades con dispositivos de entrada/salida, mucho más lentos que el CPU. La aparición de discos duros para almacenamiento secundario, facilitó la carga de trabajos a la memoria del sistema. Colocar varios trabajos en la memoria al mismo tiempo logró sistemas más eficientes, esta técnica se llamó Multiprogramación. Sistems Operativos – 6ta. Edición 1.8 Silberschatz, Galvin y Gagne ©2002 Multiprogramación. La Multiprogramación consistió en colocar varios trabajos al mismo tiempo en la memoria del sistema. Cuando un trabajo requiere actividades de entrada/salida, el CPU se encarga de ejecutar al siguiente trabajo en la memoria haciendo mucho más eficiente el uso del CPU. La selección de los trabajos a ser cargados en memoria desde almacenamiento secundario dió paso a técnicas de Planificación de los Trabajos. La selección del siguiente trabajo a ser ejecutado en la memoria del sistema dió paso a técnicas de Planificación del CPU. Los sistemas operativos comienzan a evolucionar. Sistems Operativos – 6ta. Edición 1.9 Silberschatz, Galvin y Gagne ©2002 Multiprogramación. Varios trabajos se mantienen en la memoria principal al mismo tiempo. El tiempo de CPU es multiplexado entre ellos. Sistems Operativos – 6ta. Edición 1.10 Silberschatz, Galvin y Gagne ©2002 Características de un Sistema Operativo con Multiprogramación. Las rutinas para el manejo de los dispositvos de entrada/salida son suministradas por el sistema operativo. Administración de memoria – El sistema debe asignar la memoria a varios trabajos. Planificación del CPU – El sistema debe seleccionar uno entre varios trabajos para ser despachado al CPU. Asignación de dispositivos. Sistems Operativos – 6ta. Edición 1.11 Silberschatz, Galvin y Gagne ©2002 Sistemas Operativos de Tiempo Compartido Sistemas Interacitvos. El CPU es multiplexado entre varios trabajos que se mantienen en la memoria y el almacenamiento secundario ( el CPU es asignado a un trabajo unicamente si este se encuentra en memoria principal ). A cada trabajo se le asigna de manera secuencial una pequeña ventana de tiempo para su ejecución ( ejemplo: 10 msegs. ). Un trabajo es intercambiado entre la memoria y la unidad de disco ( swap in, swap out ). Los sistemas interactivos permiten la comunicación en-línea entre los usuarios y el sistema. Cuando el sistema operativo finaliza la ejecución de un comando, busca el siguiente comando introducido por el usuario a través del teclado. Los sistemas en-línea permiten el acceso por los usuarios a datos y códigos en el sistema de manera interactiva. El multiplexado a alta velocidad entre los trabajos permite la interacción sin interrupción entre cada usuario y el CPU. Sistems Operativos – 6ta. Edición 1.12 Silberschatz, Galvin y Gagne ©2002 Evolución de los Sistemas Operativos Sistems Operativos – 6ta. Edición 1.13 Silberschatz, Galvin y Gagne ©2002 Sistemas para computadoras personales. Aparecieron en la década de los años 70. Computadora personal – sistema de computación dedicado a un solo usuario. Dispositivos de entrada/salida – teclado, ratón, monitor, impresora de baja capacidad. Están adaptados a la conveniencia de los usuarios. Adoptan tecnologías desarrolladas para grandes computadoras. Generalmente los usuarios no utilizan a plenitud los recursos avanzados del CPU. Pueden mantener a diferentes sistemas operativos como Windows, MacOs, UNIX, Linux. Sistems Operativos – 6ta. Edición 1.14 Silberschatz, Galvin y Gagne ©2002 Sistemas Paralelos. Sistemas con más de un CPU estrechamente conectados. También conocidos como sistemas de multiprocesamiento. Sistemas fuertemente acoplados – los procesadores comparten la memoria principal y el reloj. La comunicación entre los procesadores generalmente se establece mediante memoria compartida. Ventajas del multiprocesamiento: Mayor capacidad de procesamiento. Economía. Sistemas más estables. Degradacion suave. Un CPU puede fallar y el sistema continua funcionando. Sistemas tolerantes a fallas. Sistems Operativos – 6ta. Edición 1.15 Silberschatz, Galvin y Gagne ©2002 Sistemas Paralelos (Cont.) Multiprocesamiento asimétrico. A cada procesador se le asigna una tarea específica. Un procesador maestro planifica y asigna trabajo a los procesadores esclavos. Es más complejo que el SMP. Común en sistemas muy grandes. Multiprocesamiento simétrico (SMP) Cada procesador ejecuta una copia idéntica del sistema operativo. Todos los procesadores están a un mismo nivel. No hay un maestro ni esclavos. Es más sencillo que el asimétrico pero no equilibra tan eficientemente las cargas en el CPU. La mayoría de los sistemas operativos modernos, soportan SMP. Sistems Operativos – 6ta. Edición 1.16 Silberschatz, Galvin y Gagne ©2002 Arquitectura del Multiprocesamiento Simétrico. Sistems Operativos – 6ta. Edición 1.17 Silberschatz, Galvin y Gagne ©2002 Sistemas de Tiempo Real Generalmente utilizados como dispositivos de control para aplicaciones especializadas como experimentos científicos, sistemas para procesamiento de imágenes, control industrial. Bien definidos tiempos de respuesta a eventos externos. Los sistemas operativos en tiempo real pueden ser estrictos o suaves. Sistems Operativos – 6ta. Edición 1.18 Silberschatz, Galvin y Gagne ©2002 Sistemas Operativos en Tiempo Real (Cont.) Tiempo real estricto: Sistemas secundarios de almacenamiento limitados o ausentes, los datos se mantienen en memoria principal en algunos casos del tipo de solo lectura ( ROM ). No son compatibles con sistemas de tiempo compartido. Tiempo real suave: De cierto uso en control industrial y robótica. Pueden coexistir con sistemas de tiempo compartido. Son útiles para aplicaciones mutlimedia, realidad virtual con tiempos de respuesta estrictos. Sistems Operativos – 6ta. Edición 1.19 Silberschatz, Galvin y Gagne ©2002 Sistemas Distribuidos Distribuyen el cómputo entre varios procesadores conectados por un medio de red. Sistemas débilmente acoplados – cada procesador tiene su propia memoria local, los procesadores se comunican mediante varias líneas de comunicación tales como líneas telefónicas, cables de cobre, fibra óptica u ondas electromagnéticas. Ventajas de los sistemas distribuidos Compartir recursos. Compartir carga – aumenta la capacidad de procesamiento. Sistemas más confiables. Comunicaciones. Sistems Operativos – 6ta. Edición 1.20 Silberschatz, Galvin y Gagne ©2002 Sistemas Distribuidos (cont) Requieren de una infraestructura de red. Pueden ser redes de área local ( LAN ) o redes de área geográfica amplia ( WAN ). Pueden ser sistemas cliente/servidor o sistemas punto a punto. Sistems Operativos – 6ta. Edición 1.21 Silberschatz, Galvin y Gagne ©2002 Estructura General de Sistemas Cliente – Servidor. Sistems Operativos – 6ta. Edición 1.22 Silberschatz, Galvin y Gagne ©2002 Sistemas Portátiles Computadoras de bolsillo (PDAs). Teléfonos celulares. Características: Memoria limitada. Procesadores lentos. Pantallas pequeñas para presentación de datos. Sistems Operativos – 6ta. Edición 1.23 Silberschatz, Galvin y Gagne ©2002 Ambientes de Computación Computación tradicional PCs, Servidores, acceso remoto limitado. Computacion basada en la Web. Cliente – servidor, servicios web, remoto acceso conveniente. Computación “Embedded”. Son los sistemas más numerosos ( controladores de combustión en vehículos, microondas, teléfonos ). Capacidad muy limitada de los sistemas operativos. Interfaz con usuario limitada o inexistente, acceso remoto. Sistems Operativos – 6ta. Edición 1.24 Silberschatz, Galvin y Gagne ©2002 Final de la sesión 1. Sistems Operativos – 6ta. Edición 1.25 Silberschatz, Galvin y Gagne ©2002