La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Overview de Sistemas Operativos

Presentaciones similares


Presentación del tema: "Overview de Sistemas Operativos"— Transcripción de la presentación:

1 Overview de Sistemas Operativos
Capítulo 2

2 Un Sistema Operativo Un programa que controla la ejecución de programas de aplicación Una interface entre las aplicaciones y el hardware Objetivos Conveniencia: Un SO hace que el uso de un computador sea más conveniente Eficiencia: Un SO permite que los recursos de un computador sean usados eficientemente Habilidad de evolucionar: Un SO debiera permitir desarrollar, probar e implantar nuevas funcionalidades sin interferir con la prestación de otros servicios

3 Representación en capas de un sistema computacional

4 Servicios que presta un SO
Desarrollo de programas Editores, depuradores, profilers Ejecución de programas Acceso a dispositivos de I/O Acceso controlado a archivos Acceso al sistema Detección y manejo de errores Hardware Software Permisos Contabilidad Estadísticas de uso de los recursos por los usuarios Monitore del rendimiento del sistema

5 El SO como un administrador de recursos
Responsable de la administracion de recursos Funciona de la misma forma que otros programas del sistema, es decir es un programa que se ejecuta en el procesador El SO libera el control del procesador cuando no está en ejecución Luego, el SO depende del procesador (apoyo de hardware) para volver a tomar el control del procesador

6 Kernel Porción del SO que siempre está en memoria principal
Contiene las funciones del SO más usadas También se le llama Núcleo

7 Evolución de los SOs Procesamiento serial (1940-1950)
Interacción directa con el hardware No existe un SO propiamente tal Lectores de tarjetas, luces de status y error, switches, impresoras, etc Problemas Scheduling de programas (jobs) Tiempo desperdiciado en setup: carga del compilador, carga del programa fuente, almacenamiento del programa compilado, linkeo con librerias, etc

8 Evolución de SOs Sistemas batch: la idea es minimizar los tiempos de scheduling y setup Monitores Software que controla la sequencia de eventos Procesamiento serial de jobs (uno tras de otro) Cada programa usuario programado de tal forma que al finalizar su ejecucion, retorne el control al monitor JCL (Job Control Language) Tipo especial de lenguaje que instruye al monitor a realizar ciertas tareas Que compilador cargar, que datos usar, etv

9 Característica de Hardware
Los SO batch introdujieron necesidades de hardware Protección de memoria No permitir que el programa en ejecucion altere el contenido del monitor Timer Previene que un job monopolice el sistema Instrucciones privilegiadas Garantiza que ciertas instrucciones de máquina sean ejecutadas sólo por el monitor Interrupciones Los conceptos de protección de memoria e instrucciones privilegiadas dieron origen al concepto de modos de operación Modo usuario Modo kernel o privilegiado

10 Sistemas batch Uniprogramados
SO batch uniprogramados son altamente ineficientes El procesador debe esperar hasta que las operaciones de I/O terminen

11 Sistemas batch multiprogramados
Cuando un job necesita esperar por el término de una operación de I/O, el procesador puede ejecutar algún otro job

12 Ejemplo

13 Histogramas de utilización de recursos

14 Requerimientos de hardware
Manejo de interrupciones DMA Administración de memoria Scheduling de jobs

15 Sistemas de tiempo compartido (time sharing)
Así, como en sistemas batch multiprogramados, el procesador es compartido por varios jobs, en sistemas de tiempo compartido, el procesador es compartido entre usuarios. Incluye procesos batch y procesos interactivos Usuarios múltiples accesan el sistema a través de terminales El procesador es asignado a cada proceso usuario por un quantum de tiempo

16 Compatible Time-Sharing System (CTSS)
Primer sistema de tiempo compartido desarrollado en el MIT

17 Aportes importantes por los SO
Procesos Administración de memoria Seguridad y protección de la información Administración de recursos y scheduling Estructura de los SOs Principios y abstracciones

18 Procesos Un programa en ejecución
Una instancia de un programa corriendo en un computador La entidad que puede ser asignada y ejecutada por un procesador Una unidad de actividad caracterizada por un hebra secuencial de ejecución, un estado actual, y un conjunto asociado de recursos del sistema Consiste de cuatro componentes principales Un programa ejecutable Datos Contexto de ejecución o estado del procesos: toda la información requerida por el SO para administrar el proceso Stack (del usuario)

19 Proceso

20 Administración de memoria
Aislamiento de los procesos Administración y procuramiento automático Apoyar programación modular Protección y control de acceso Almacenamiento de largo plazo

21 Memoria virtual Permite a los programas direccionar la memoria desde un punto de vista lógico y despreocuparse de la memoria física disponible Permite mantener varios procesos en memoria y asi evitar demoras en carga y descarga de procesos

22 Paginación Particiona los procesos (y la memoria física) en un número de bloques de tamaño físico fijo llmados páginas Los procesos emiten direcciones virtuales compuestas de un número de página y un offset dentro de dicha página Las páginas pueden ser almacenadas en cualquier parte de la memoria El sistema de paginación también mapea la dirección virtual a una dirección física o real

23 Memoria virtual

24 Direccionamiento en memoria virtual

25 Protección y seguridad de la información
Los SO deben proveer mecanismos de seguridad en los siguientes aspectos Disponibilidad Proteger al sistema contra interrupciones al servicio Confidencialidad Asegurar que los usuarios no puedan leer datos no autorizados Integridad de datos Asegurar que los usuarios no modifiquen datos sin autorización debida Autenticidad Relacionado con la verificación de la identidad de los usuarios y la validez de los mensajes o datos

26 Scheduling y administracion de recursos
Factores a considerar Equitatividad Dar acceso similar a todos los recursos Respuesta diferencial Discriminar entre distintas clases de jobs Eficiencia Maximizar throughput, minimizar tiempo de respuesta y servir el mayor número posible de usuarios

27 Estructura del SO Una forma de organizar un SO es como una serie de niveles o capas Cada capa es responsable de prestar ciertos servicios relacionados (mismo nivel de abstracción, misma escala de tiempo) Idelamente, los cambios en un nivel no implican cambios en los otros niveles

28 Ejemplo de niveles: niveles cercanos al Hwd
Nivel 1: circuitos electrónicos Registros, celdas de memoria, puertas lógicas, etc. Operaciones tales como borrar un registro, leer una dirección de memoria Nivel 2: Instrucciones de máquina Operaciones individuales permitidas por el lenguaje de máquina Nivel 3: Procedimientos Implementa el concepto de procedimiento o subrutina Uso de stack Nivel 4: Interrupciones Guardar contexto del proceso y llamar rutinas encargadas de manejar las interrupciones

29 Ejemplo de niveles: conceptos de Multiprogramación
Nivel 5: Proceso básico o primitivo El proceso como un programa en ejecución Suspensión y reanudación de procesos Mecanismos básicos de sincronización, como semáforos Nivel 6: Operaciones básicas de almacenamiento secundario Transferencia de bloques de datos Nivel 7: Memoria virtual Implementa un espacio de direccionamiento lógico para los procesos Páginas, segmentos e híbridos

30 Ejemplo de niveles: objetos externos
Nivel 8: Comunicación entre procesos Pipes, colas de mensajes Nivel 9: Sistema de archivos Implementa almacenamiento de largo plazo de archivos con nombre Nivel 10: Dispositivos externos Provee acceso a dispositivos externos usando una interfaz estándar Nivel 11: Directorios Responsible por mantener la asociación entre identificadores externos e internos Nivel 12: Proceso usuario Implementa soporte completo para procesos Nivel 13: Shell Provee una interface entre el usuario y el SO

31 Conceptos de SO modernos
Arquitectura microkernel Asigna sólo funciones esenciales al kernel Espacio de direcciones Comunicación entre procesos Scheduling básico Otros servicios son prestados por procesos servidores que corren en modo usuario o no privilegiado Estos procesos son vistos por el microkernel como un proceso más en el sistema Nota: Un kernel monolítico implementaría todos los servicios típicos de un SO y generalmente correria como un solo proceso Programación multihebras El proceso se ejecuta en varias hebras que corren concurrentemente Hebra Unidad de trabajo que se despacha en el procesador Se ejecuta secuencialmente y es interrumpible Un procesos es una collección de una o más hebras y sus recursos asociados

32 Conceptos de SO modernos
Multiprocesamiento simétrico (SMP) Varios procesadores comparten memoria principal y facilidades de I/O Todos los procesadores pueden realizar todas las tareas En particular, el SO puede correr en cualquiera de los procesadores y asignar procesos usuarios a cualquiera de los procesadores Beneficios de SMP Rendimiento: paralelismo (versus concurrencia) Disponibilidad: la falla de un procesador no detiene al sistema Escalabilidad SO distribuido Permite que un conjunto de computadores se comporten como un sistema unificado No es lo mismo que SO de red


Descargar ppt "Overview de Sistemas Operativos"

Presentaciones similares


Anuncios Google