1 overview de sistemas operativos capítulo 2. 2 un sistema operativo un programa que controla la...

32
1 Overview de Sistemas Operativos Capítulo 2

Upload: esperanza-mazariegos

Post on 28-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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