1 Overview de Sistemas Operativos Capítulo 2. 2 Un Sistema Operativo Un programa que controla la...
-
Upload
esperanza-mazariegos -
Category
Documents
-
view
219 -
download
0
Transcript of 1 Overview de Sistemas Operativos Capítulo 2. 2 Un Sistema Operativo Un programa que controla la...
![Page 1: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/1.jpg)
1
Overview de Sistemas Operativos
Capítulo 2
![Page 2: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/2.jpg)
2
Un Sistema Operativo• Un programa que controla la ejecución de programas de aplicación
• Una interface entre las aplicaciones y el hardware
• Objetivos1. Conveniencia: Un SO hace que el uso de un computador sea más conveniente
2. Eficiencia: Un SO permite que los recursos de un computador sean usados eficientemente
3. Habilidad de evolucionar: Un SO debiera permitir desarrollar, probar e implantar nuevas funcionalidades sin interferir con la prestación de otros servicios
![Page 3: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/3.jpg)
3
Representación en capas de un sistema computacional
![Page 4: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/4.jpg)
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
![Page 5: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/5.jpg)
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
![Page 6: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/6.jpg)
6
• 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
Kernel
![Page 7: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/7.jpg)
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
![Page 8: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/8.jpg)
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
![Page 9: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/9.jpg)
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
![Page 10: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/10.jpg)
10
Sistemas batch Uniprogramados
• SO batch uniprogramados son altamente ineficientes
• El procesador debe esperar hasta que las operaciones de I/O terminen
![Page 11: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/11.jpg)
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
![Page 12: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/12.jpg)
12
Ejemplo
![Page 13: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/13.jpg)
13
Histogramas de utilización de recursos
![Page 14: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/14.jpg)
14
Requerimientos de hardware• Manejo de interrupciones
• DMA
• Administración de memoria
• Scheduling de jobs
![Page 15: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/15.jpg)
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
![Page 16: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/16.jpg)
16
Compatible Time-Sharing System (CTSS)• Primer sistema de tiempo compartido desarrollado en el MIT
![Page 17: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/17.jpg)
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
![Page 18: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/18.jpg)
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)
![Page 19: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/19.jpg)
19
Proceso
![Page 20: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/20.jpg)
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
![Page 21: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/21.jpg)
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
![Page 22: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/22.jpg)
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
![Page 23: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/23.jpg)
23
Memoria virtual
![Page 24: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/24.jpg)
24
Direccionamiento en memoria virtual
![Page 25: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/25.jpg)
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
![Page 26: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/26.jpg)
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
![Page 27: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/27.jpg)
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
![Page 28: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/28.jpg)
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
![Page 29: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/29.jpg)
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
![Page 30: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/30.jpg)
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
![Page 31: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/31.jpg)
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
![Page 32: 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.](https://reader035.fdocuments.es/reader035/viewer/2022062520/5665b4661a28abb57c913948/html5/thumbnails/32.jpg)
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