INTRODUCCIN
Sistema Operativo
Explota los recursos de hardware de uno o ms procesadores Ofrece un conjunto de servicios a los usuarios del sistema Administra la memoria secundaria y los dispositivos de E/S
Elementos bsicos
Procesador Memoria principal (real o primaria) voltil Mdulos E/S mueven los datos desde y hacia los dispositivos externos
dispositivos de memoria secundaria equipos de comunicacin terminales
Interconexin del sistema (bus) mecanismos que proveen comunicacin entre procesos, memoria y mdulos de E/S
Componentes principales
Memoria CPU
Instruccin Instruccin Instruccin
PC IR
MAR MBR
I/O AR
I/O BR
Datos Datos Datos Datos
I/O Module
. .
Buffers
Bus
Ejecucin de instrucciones
Ejecucin de instrucciones
El procesador ejecuta las instrucciones de un programa Se extrae una instruccin de la memoria a la vez
Ciclo extraccin Ciclo ejecucin
COMIENZO
Ejecutar instruccin
PARADA
Ejecucin de instrucciones
Extraccin y ejecucin
El procesador extrae la instruccin de la memoria El contador de programa conserva la direccin de la prxima instruccin a ser extrada El contador de programa se incrementa despus de cada extraccin La instruccin extrada se coloca en el registro de instruccin
Ejecucin de instrucciones
Tipos de instrucciones
Procesador-Memoria
transfiere datos entre procesador y memoria
Procesador-E/S
datos desde o hacia un dispositivo perifrico
Procesamiento de datos
operacin aritmtica o lgica en datos
Control
altera secuencia de ejecucin
Ejecucin de instrucciones
Memoria Registros CPU Memoria Registros CPU 3 0 0 PC 300 1 9 4 0 300 1 9 4 0 3 0 1 PC AC 301 5 9 4 1 301 5 9 4 1 0 0 0 3 AC IR 1 9 4 0 IR 302 2 9 4 1 302 2 9 4 1 1940 940 0 0 0 3 941 0 0 0 2 Paso 1 Memoria 300 1 9 4 0 301 5 9 4 1 302 2 9 4 1 940 0 0 0 3 941 0 0 0 2 Paso 3 940 0 0 0 3 941 0 0 0 2 Paso 2 Memoria Registros CPU Registros CPU PC 3 0 1 PC 300 1 9 4 0 302 0 0 0 5 AC 0003 AC 301 5 9 4 1 5941 IR 302 2 9 4 1 IR 5941
0
cod op
4
direccion
15
Formato instruccin 0
S
1
Mangnitud
15
3+2=5 940 0 0 0 3 941 0 0 0 2 Paso 4 Memoria Registros CPU Memoria Registros CPU 300 1 9 4 0 3 0 2 PC 300 1 9 4 0 30 02 3 PC 3 301 5 9 4 1 0 0 0 5 AC 301 5 9 4 1 0 0 0 5 AC 302 2 9 4 1 2941 IR 2941 IR 302 2 9 4 1
Formato entero
Interrupciones
Interrupciones
Interrupcin sobre el procesamiento normal del procesador Mejora la eficiencia del procesamiento Permite al procesador ejecutar otras instrucciones mientras ocurre una operacin de E/S Una suspensin de un proceso causada por un evento externo al procesador y hecha de tal manera que el proceso pueda reanudarse
Clases de interrupciones
Programa
overflow aritmtico Divisin por cero ejecutar instruccin ilegal referencia fuera del espacio de memoria del usuario
Flujo de programa
Instruccin a extraer
Instruccin ejecucin
PARADA
Interrupciones
Controlador de interrupciones Un programa que determina la naturaleza de la interrupcin y ejecuta la accin que corresponda Se transfiere el control a este programa Generalmente parte del sistema operativo
Interrupciones
Ciclo de interrupcin El procesador pregunta por interrupciones Si no hay interrupciones extrae la prxima instruccin del programa actual Si hay una interrupcin pendiente, suspende la ejecucin del programa actual y ejecuta el manejo de interrupciones
Interrupciones
Procesamiento de interrupcin simple
Controlador u otro pide una interrupcin Guarda el resto de la informacin del estado del proceso
El procesador avisa que sabe de la interrupcin El procesador coloca al PSW y PC en la pila de control
Procesa la interrupcin
Interrupciones
Interrupciones mltiples en orden secuencial Inhabilita interrupciones para que el procesador pueda completar la tarea Las interrupciones siguen pendientes hasta que el procesador las habilita Luego de completarse la rutina de manejo de interrupciones, el procesador chequea por interrupciones adicionales
Interrupciones
Interrupciones mltiples en orden secuencial
Interrupciones
Prioridades en interrupciones mltiples
Las interrupciones de mayor prioridad
hacen esperar a las interrupciones de menor prioridad interrumpen la rutina del controlador de interrupciones de las de menor prioridad
Un ejemplo: cuando llega una interrupcin por la lnea de comunicacin, necesita ser atendida rpidamente para hacer lugar a ms entradas
Interrupciones
Prioridades en interrupciones mltiples
Jerarquas de memoria
Jerarqua de memoria
Jerarqua de memoria
Descendiendo la jerarqua
Disminucin del coste por bit. Aumento de la capacidad. Aumento del tiempo de acceso. Disminucin de la frecuencia de acceso a la memoria por parte del procesador:
Cercana de referencias.
I/O CPU
Condicin de error
S Prx. Instruccin
Error
CPU Memoria
S Prx Instruccin
Interrupcin
DMA CPU
Prx. Instruccin
Sistema operativo
Un programa que
controla la ejecucin de los programas de aplicacin acta como interfaz entre el usuario y el hardware enmascara los detalles del hardware
Eficiencia
Permitir un uso eficiente de los recursos
Capacidad de adaptacin
Permitir desarrollo, pruebas e introduccin de nuevas funciones sin interferir con el servicio
Programas de Aplicacin
Utilidades
Diseador Sistema Operativo
Sistema Operativo
Hardware
Ejecucin de programas Acceso a dispositivos de E/S Acceso controlado a archivos Acceso al sistema
errores de software
overflow aritmtico acceso prohibido a lugares de memoria
Programas y Datos
. . .
Controlador E/S
Procesador
. ..
Lmites
Timer
evitar que una tarea monopolice el sistema al expirar el tiempo hay una interrupcin
Instrucciones privilegiadas
ejecutadas solamente por el monitor hay interrupcin cuando un programa prueba estas instrucciones
Interrupciones
provee flexibilidad para controlar los programas de usuario
Espera
Tiempo
Espera
Ejec. A
Ejec. B Tiempo
Espera
Ejec. A
Ejec. B
Espera
TAREA2
" printer?
No
No
Uso de impresora
33%
67%
15 min. 12 tareas/hr
10 min.
Principales logros
Procesos Gestin de memoria Proteccin y seguridad de la informacin Planificacin y gestin de recursos Estructura del sistema
Principales logros
Procesos un programa en ejecucin la entidad que se puede asignar a y ejecutar en un procesador el espritu animado de un programa lo que se manifiesta por la existencia de un bloque de control de proceso en el sistema operativo
Principales logros
Proceso. Componentes programa ejecutable datos asociados contexto de ejecucin
Principales logros
Principales logros
Manejo de memoria Aislamiento de procesos Asignacin y manejo automticos Apoyo para programacin modular Proteccin y control de acceso Almacenamiento por largos periodos de tiempo
Principales logros
Memoria virtual Permite a los programas direccionar la memoria desde un punto de vista lgico sin tener en cuenta la cantidad de memoria real disponible Solo una porcin del programa y los datos se encuentran en memoria (real) mientras el programa se ejecuta
Principales logros
Memoria virtual Las referencias a memoria se hacen a la memoria virtual que puede ser tanto
un espacio de direcciones lineal, como un conjunto de segmentos (bloques de tamao variable)
Principales logros
Sistema de archivos Implementa almacenamiento permanente Se almacena informacin en objetos con nombre denominados archivos
Principales logros
Seguridad y proteccin de la informacin
Control de acceso
regula acceso del usuario al sistema
Certificacin
regula el acceso y el control de flujo segn las especificaciones requeridas
Principales logros
Planificacin y manejo de recursos Equidad
dar acceso justo y equiparado a todos los procesos
Sensibilidad diferencial
discriminar entre clases de tareas distintas
Eficiencia
maximizar transmisin, minimizar tiempo de respuesta y acomodar tantos usuarios como sea posible
Principales logros
Elementos Principales de un Sistema Operativo
Sistema Operativo
Llamada servicio de un proceso Controlador del Servicio de Llamadas
Controlador de Interrupciones
Cola E/S
Despachador
Principales logros
Estructura del Sistema
Vista del sistema como una serie de niveles Cada nivel ejecuta un subconjunto relacionado de funciones Cada nivel cuenta con el nivel prximo ms bajo para realizar funciones ms primitivas Esto descompone un problema dentro de un nmero ms manejable de subproblemas
Principales logros
Jerarqua de diseo de SO
Nivel Nombre 13 Shell Objetos Ambiente program. usuario Operaciones ejemplo Comandos del lenguaje del shell Quit, kill, suspender, Crear, destruir, agregar, buscar, listar
Dispositivos externos Crear, destruir, abrir, cerrar, como impresoras leer, escribir teclados, etc Archivos Tubos (pipes) Crear, destruir, abrir, cerrar leer, escribir Crear, destruir, abrir. cerrar, leer, escribir
Objetos externos
9 8
Principales logros
Jerarqua de diseo de SO
Nivel Nombre 7 6 5 Memoria virtual Almacenamiento local secundario Objetos Segmentos, pginas Bloques de datos, canales dispositivos Operaciones ejemplo Leer, escribir, buscar Leer, escribir, asignar, liberar
Procesos primitivos Primitivas, semforos, Suspender, reanudar, lista de listos esperar, avisar
multiprogramacin
Principales logros
Jerarqua de diseo de SO
Nivel Nombre 4 Interrupciones desenmascarar 3 Procedimientos Procedimientos, pila Call, return Objetos Programas de mane Operaciones ejemplo Invocar, enmascarar, jo de interrupciones
hardware
Microsoft Windows
Explota la potencia de los microprocesadores actuales Provee multitarea en un ambiente monousuario (multiusuario en servers) Se puede ejecutar en varias plataformas Soporta aplicaciones escritas para otros sistemas operativos Procesamiento distribuido
Microsoft Windows
Arquitectura
Microsoft Windows
Componentes modo kernel kernel Componentes ms usados del sistema operativo. No se ejecuta en hilos, no es apropiable ni paginable capa abstraccin de hardware (HAL) Asla al sistema operativo de las diferencias especficas de hardware hace que el kernel vea igual al hardware provee soporte para multiprocesamiento simtrico device drivers Traducen las llamadas de E/S de usuario en pedidos del dispositivo especficos al hardware Sistema de ventanas y grficos Implementa las funciones de GUI (Graphics User Interface)
Microsoft Windows
Componentes modo kernel
Ejecutivo
Administrador E/S, Administrador de cache Administrador de objetos Administrador plug and play Administrador de energa Monitor de seguridad Administrador memoria virtual Administrador procesos/hilos Administrador de configuracin Facilidad llamadas a procedimientos locales (LPC)
Microsoft Windows
Procesos modo usuario Procesos especiales de soporte del sistema Procesos de servidor Subsistemas de ambiente Aplicaciones de usuario
Microsoft Windows
Modelo cliente/servidor
Simplifica el ejecutivo
es posible construir una variedad de APIs (application programming interface)
Mejora confiabilidad
cada mdulo de servicio se ejecuta como un proceso separado con su propia particin de memoria los clientes no pueden acceder directamente al hardware
Microsoft Windows
Hilos y SMP Las rutinas del SO se pueden ejecutar en cualquier procesador y distintas rutinas se pueden ejecutar simultneamente en distintos procesadores Hilos mltiples de ejecucin en un solo procesador Servidores usan hilos mltiples para procesar pedidos de ms de un cliente simultneamente Provee mecanismos para compartir datos y recursos
Microsoft Windows
Objetos
Encapsulacin
Un objeto est compuesto por uno o ms elementos de informacin y uno o ms procedimientos
Herencia
Soportada por alguna extensin dentro del sistema ejecutivo
Polimorfismo
UNIX
Arquitectura general El hardware est rodeado por el sistema operativo El sistema operativo se llama ncleo (kernel) Viene con varios servicios de usuarios e interfaces
shell compilador C
Arquitectura tradicional
Hardware
Aplicaciones usuario
Linux
Arquitectura modular Monoltico estructurado como coleccin de mdulos (loadable modules)
Enlazado dinmico Apilables
Linux