Tema 2 Sistemas Operativos 20/09/2018
¿Qué es un Sistema Operativo? Conjunto de programas que tienen la responsabilidad de gestionar los recursos y coordinar los sucesos en una computadora. 20/09/2018
núcleo + ayudas + biblioteca de programas Sistema Operativo Los programas del S.O. están formados por: núcleo + ayudas + biblioteca de programas Memoria principal Disco 20/09/2018
Núcleo del sistema operativo El núcleo del sistema es el interfaz entre el hardware básico y el sistema operativo. El hardware básico generalmente ofrece: - Mecanismos de interrupción - Protección de la memoria - Un repertorio de instrucciones reservadas y rutinas de E/S - Un reloj en tiempo real. 20/09/2018
Funciones de los sistemas operativos Secuenciamiento de las tareas e interpretación del L. Control Gestión de la memoria; de las entradas y salidas;… Gestión de las interrupciones Planificación de recursos, tareas, etc (Scheduling) Control de los recursos existentes y su asignación (dispatcher) Tratamiento de los errores Protección y seguridad Facilidad de interacción con el operador 20/09/2018
Eficacia Fiabilidad (reliability) Tolerancia a fallos Tamaño reducido Características deseables de los Sistemas Operativos Eficacia Fiabilidad (reliability) Tolerancia a fallos Tamaño reducido 20/09/2018
La Eficacia se puede medir mediante índices · Tiempo transcurrido entre tareas (turnaround time) · Tiempo de inactividad (idle time) · Tiempo de ejecución (run time) Tiempo de supervisión (overhead) · Tiempo respuesta (response time) · Utilización de recursos · Rendimiento o productividad (throughput) 20/09/2018
Modos de funcionamiento de un SO: - Modo usuario - Modo supervisor o monitor 20/09/2018
Conceptos básicos relacionados con sistemas operativos · Rutina o subrutina; Procedimiento o subprocedimiento Procesos (estados) Procesador Tareas y jobs Interrupción (palabra de estado) Recursos (compartibles o no compartibles; físicos o lógicos) Concurrencia Sincronización de procesos (semáforos; cola de procesos) 20/09/2018
Términos asociados a Sistemas Operativos Interrupción (palabra de estado). Sincronización (semáforo: cola de procesos). Estados de los procesos. Árbol de directorios. 20/09/2018
Evolución de los Sistemas Operativos 194x Aparecen a finales de los cuarenta. 1950 Simples rutinas de entrada/salida (leídas de cintas de papell) 1955 Sistemas supervisores o monitores Procesos batch (en lotes o secuencial) Biblioteca de programas con rutinas más utilizadas 1960 Sistemas de tiempo compartido (el procesador atiende a varios programas de usuario) Sincronización de procesos paralelos Memoria virtual E/S independientes de los dispositivos 20/09/2018
Evolución de los Sistemas Operativos 1963 CTSS Compatible Time Sharing System (MIT) 1964 OS/360 (IBM) (un millón de instrucciones) 197x Unix (Bell) 1975 Multics (Bell y MIT) (más de 20 millones) 198x CPM y MSDOS 199x Windows 20/09/2018
Tipos de Sistemas Operativos según su estructura (I) 20/09/2018
Tipos de Sistemas Operativos según su estructura (II) 20/09/2018
Tipos de Sistemas Operativos según su estructura (III) 20/09/2018
20/09/2018
Sistemas operativos por la forma de ofrecer sus servicios Sistemas Operativos de Red interactúan con sistemas operativos en otras computadoras por medio de una red con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades Sistemas Operativos Distribuidos integran recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en una sola máquina virtual que el usuario accede en forma transparente 20/09/2018
Los sistemas multiprogramación y tiempo compartido Dieron origen a los siguientes conceptos: - Compartición del procesador - Sincronización de procesos paralelos - Memoria virtual - E/S independientes de los dispositivos - Lenguajes de mandatos interactivos. 20/09/2018
Sistemas supervisores o monitores Función de carga de programas. Gestión de dispositivos de almacenamiento secundario (cintas, discos, etc). Asignación de memoria principal. Realización de entradas/salidas. Biblioteca de programas con instrucciones más frecuentes. 20/09/2018
Sistemas de tiempo compartido Atiende a varios programas de usuario. Sensación de ejecución simultánea. Sincronización de procesos paralelos. Memoria virtual. Entrada/salida independiente del dispositivo. 20/09/2018
Los sistemas distribuidos Los sistemas multiusuario se han convertido en sistemas de trabajo en red en el que cada terminal tiene su propio procesador. 20/09/2018
Otras características de los sistemas operativos La compartición de los recursos. La concurrencia. NOTA: La concurrencia es un término relacionado con la multi- programación e implica la sincronización de los procesos. 20/09/2018
Compartición de recursos: Ventajas Permite el uso simultáneo de los recursos. Permite compartir datos. Permite eliminar redundancias. Reduce los costes. 20/09/2018
La Concurrencia Requiere la comunicación entre procesos y establecer mecanismos para: La exclusión mutua La sincronización El interbloqueo (deadlock) Los Semáforos permiten llevar a cabo tareas de sincronización y comunicación entre procesos. 20/09/2018
Concurrencia La exclusión mutua permite proteger el acceso simultáneo a los recursos por dos procesos dsitintos. La sincronización hace posible que un proceso no continúe su ejecución hasta que otro proceso haya llegado a un punto determinado. El Interbloqueo (deadlock) se produce entre dos procesos cuando necesitan utilizar un recurso no disponible. El proceso A necesita un recurso ocupado por B, y al mismo tiempo el proceso B necesita un recurso ocupado por el A. 20/09/2018
Los Semáforos Un semáforo es un objeto que consta de: - un contador y - una cola de procesos. El semáforo se establece a un valor inicial y sobre él se pueden realizar dos operaciones: Wait Signal 20/09/2018
Los Semáforos El efecto de las operaciones wait y signal sobre el valor del contador del semáforo S es el siguiente: Wait (S) lo disminuye en uno si su valor actual es > 0 Signal(S) lo incrementa en uno Nota: un proceso sólo puede continuar su ejecución si el valor del semáforo es > 0. 20/09/2018
¿Cuáles son los principales recursos de un S. I.? La CPU. La memoria. El subsistema de Entrada/Salida (discos y red). 20/09/2018
Asignación de los recursos de la máquina. El Scheduler y el Dispatcher son los programas del sistema operativo encargados de realizar la asignación de recursos: Scheduler: asigna prioridades a los procesos en ejecución. Dispatcher: asigna los procesadores centrales a los procesos. 20/09/2018
Asignación de los recursos La asignación de recursos hace distinción entre: Mecanismos (forma de asignación). Políticas (forma de utilización). 20/09/2018
Los mecanismos de asignación de los recursos Procesadores centrales. Memoria. Periféricos. Memoria secundaria. Ficheros. 20/09/2018
Políticas de asignación de los recursos FCFS = First Come First Served LCFS = Last Come First Served SJF = Shortest Job First SRTF = Shortest Remaining Time First RR = Round Robin (time slicing) SSTF = Shortest Seek Time First 20/09/2018
La gestión de la memoria requiere: Reubicación. Protección. Utilización compartida. Organización lógica (segmentación). Organización física, memoria virtual (paginación). 20/09/2018
La gestión de las Entradas/Salidas: los periféricos Velocidad de transmisión. Unidad de transferencia (caracteres, palabras, bytes, bloques, registros, etc.) (técnica del buffering). Representación de los datos (codificación en el soporte: cinta, disco, CD, etc). Tipo de operaciones permitidas. Condiciones de error en la transferencia (paridad). 20/09/2018
Tipos de periféricos Compartibles (discos) No compartibles (impresoras). Compartible: atender a varios procesos simultáneamente. Nota: En los periféricos no compartibles como las impresoras se emplea la técnica del spooling que consiste en enviar los trabajos y almacenarlos en un fichero en el disco fijo y esperar en colas FIFO hasta que les llega el turno para ser impresos. 20/09/2018
¿Qué factores influyen en el tiempo de ejecución? El tiempo de CPU consumido por el usuario. El tiempo de CPU consumido por el sistema (overhead). El tiempo empleado en las operaciones de Entrada/Salida. El tiempo consumido en la red por las E/S. El tiempo consumido en la ejecución de otros programas. El rendimiento de la memoria virtual. 20/09/2018
El núcleo o kernel de Unix El kernel de Unix es un programa que siempre está residente en memoria y que, entre otros, ofrece los siguientes servicios: Controla los recursos del hardware. Controla los dispositivos periféricos (discos, terminales, impresora) Permite a usuarios distintos compartir recursos y ejecutar sus programas. Proporciona un sistema de archivos (File System) que administra el almacenamiento de la información. 20/09/2018
X-Windows: Origen Extensión de los sistemas UNIX Solucionar la necesidad de ciertas personas de ver gráficos de sus aplicaciones, o de tener más de una pantalla a la vez, estas personas normalmente eran científicos o programadores,. Aspecto similar a entornos microsoft windows Permiten gestionar el sistema de forma más cómoda 20/09/2018
X-Windows: Gestores de escritorio Hacen más atractivo el sistema X KDE Desarrollado por empresa privada GNOME totalmente libre OPENSTEP 20/09/2018
Windows NT- Características Extensibilidad Portabilidad Fiabilidad y robustez Compatibilidad Multiprocesamiento y escalabilidad Cómputo distribuido Desempeño Compatibilidad con POSIX Seguridad certificable por el gobierno de EU 20/09/2018
Núcleo de Windows NT Entradas y salidas de tareas al sistema. Proceso de interrupciones y excepciones. Sincronización de los multiprocesadores. Recuperación del sistema después de una caída. 20/09/2018
Manejo de procesos en Windows NT Threads Multitarea apropiativa Gestor de procesos 20/09/2018
Seguridad e Integridad en NT Control de acceso de usuarios Propiedad de archivos y carpetas Niveles de acceso a los recursos Prevención de caída catastrófica del sistema mediante mecanismos de protección de memoria 20/09/2018
Interoperatividad en NT Punto a punto: En las conexiones punto a punto con otros sistemas Windows NT y Windows para grupos. Interoperabilidad: con otros sistemas operativos orientados a red. SNA: Conexiones a host basados en redes SNA a través de una propia versión de los servidores de comunicaciones de Microsoft DCA. Soporte para redes Microsoft basadas en sistemas operativo de red LAN Manager. 20/09/2018
Fin 20/09/2018