1 / 32

Overview de Sistemas Operativos

Overview de Sistemas Operativos. Capítulo 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

Download Presentation

Overview de Sistemas Operativos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

More Related