Anda di halaman 1dari 91

SISTEMAS OPERATIVOS

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

Extraer prox. instruccin

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

0001=cargar de mem a AC 0010=almacenar AC en mem 0101=sumar a AC AC: acumulador

940 0 0 0 3 941 0 0 0 2 Paso 5

940 0 0 0 3 941 0 0 0 5 Paso 6

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

Cronmetro E/S Falla de hardware

Flujo de programa

Flujo de programa sin y con interrupciones

Ciclo de instruccin con interrupciones


Ciclo de extraccin Ciclo ejecucin Interrupcin deshabilitada COMIENZO Ciclo interrupcin

Instruccin a extraer

Instruccin ejecucin

Chequeo de Interrupciones: Interrupc Interrupcin Habilitada

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 termina la ejecucin de la instruccin actual

El procesador avisa que sabe de la interrupcin El procesador coloca al PSW y PC en la pila de control

Procesa la interrupcin

Restaura informacin del estado del proceso

El procesador carga un nuevo valor en PC segn interrupc.

Restaura PSW y PC anteriores

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.

Tcnicas de comunicacin de E/S

Tcnicas de comunicacin E/S


E/S programada Lo realiza el mdulo E/S, no el procesador Coloca los bits apropiados en el registro de estado de E/S No ocurren interrupciones El procesador est ocupado chequeando el estado

Tcnicas de comunicacin E/S


E/S programada
Enviar com de lectura a CPU E/S mdulo E/S Leer estado mdulo E/S No listo Ver estado listo Leer E/S CPU palabra mdulo E/S Escribir CPU Memoria palabra en memoria No Hecho?

I/O CPU

Condicin de error

S Prx. Instruccin

Tcnicas de comunicacin E/S


E/S manejada por interrupciones Se interrumpe al procesador cuando el mdulo de E/S est listo para intercambiar datos El procesador est libre para hacer otro trabajo No hay espera innecesaria Consume mucho tiempo de procesador porque cada palabra leda o escrita pasa a travs del procesador

Tcnicas de comunicacin E/S


E/S por interrupciones
Enviar com CPU E/S lectura a Haga otra cosa mdulo E/S Leer estado mdulo E/S Ver estado Ready Leer palabra de E/S CPU mdulo E/S Escribir palabra en memoria No Hecho? Interrupcin E/S CPU

Error

CPU Memoria

S Prx Instruccin

Tcnicas de comunicacin E/S


Acceso directo a memoria Transfiere un bloque de datos directamente desde o hacia la memoria Se enva interrupcin cuando se completa la tarea El procesador est comprometido solamente en el principio y final de la transferencia

Tcnicas de comunicacin E/S


Acceso directo a memoria Ocurren intercambios E/S con memoria directamente El procesador autoriza al mdulo E/S a escribir o leer de memoria Libera al procesador de la tarea El procesador est libre para hacer otras cosas

Tcnicas de comunicacin E/S


Acceso directo a memoria

Enviar comando lectura bloque al mdulo E/S

CPU DMA Haga otra cosa

Leer estado del mdulo DMA

Interrupcin

DMA CPU

Prx. Instruccin

Objetivos y funciones del sistema operativo

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

Objetivos y funciones del sistema operativo


Objetivos Conveniencia
Hacer que una computadora sea ms conveniente para usar

Eficiencia
Permitir un uso eficiente de los recursos

Capacidad de adaptacin
Permitir desarrollo, pruebas e introduccin de nuevas funciones sin interferir con el servicio

Objetivos y funciones del sistema operativo


Capas y vistas de un sistema de cmputos
Usuario Final Programador

Programas de Aplicacin
Utilidades
Diseador Sistema Operativo

Sistema Operativo
Hardware

Objetivos y funciones del sistema operativo


Servicios provistos por el SO Creacin de programas
editores y depuradores

Ejecucin de programas Acceso a dispositivos de E/S Acceso controlado a archivos Acceso al sistema

Servicios provistos por el SO Deteccin de errores y respuesta


error de memoria fallo de dispositivo

Objetivos y funciones del sistema operativo

errores de hardware internos y externos

errores de software
overflow aritmtico acceso prohibido a lugares de memoria

el sistema operativo no puede conceder el pedido de la aplicacin

Objetivos y funciones del sistema operativo


Servicios provistos por el SO Contabilidad
recolectar estadsticas monitorear rendimiento usada para anticipar mejoras futuras usada para facturar a los usuarios

Objetivos y funciones del sistema operativo


El SO como administrador de recursos Es un programa Dirige al procesador en el uso de los recursos del sistema Dirige al procesador cuando ejecuta otros programas Comparte el procesador con los otros programas

Objetivos y funciones del sistema operativo


Sistema Memoria Software Sistema Operativo Controlador E/S Controlador E/S Dispositivos E/S

Programas y Datos

. . .

Controlador E/S

Procesador

. ..

Procesador SO Programas Datos

El SO como administrador de recursos

Objetivos y funciones del sistema operativo


Capacidad de evolucin de un sistema operativo Actualizacin y renovacin de tipos de hardware Nuevos servicios Ajustes

Evolucin de los sistemas operativos

Evolucin de los sistemas operativos


Procesamiento en serie No haba sistema operativo Programas en cdigo de mquina Problemas
Reserva previa de tiempo de uso La instalacin inclua cargar el compilador, el programa fuente, guardar el programa compilado, y luego cargar y enlazar

Evolucin de los sistemas operativos


Sistema simple de lotes. Monitores Software que controla los programas en ejecucin Sistema operativo por lotes Los trabajos se agrupan en lotes El monitor est residente en la memoria principal y disponible para ejecutarse Las utilidades del monitor se cargan cuando se necesitan

Evolucin de los sistemas operativos


Procesamiento interrupciones Controladores Dispositivos Secuenciamiento tareas Intrprete control lenguaje Monitor

Lmites

Area programas usuario

Esquema de memoria para monitor residente

Evolucin de los sistemas operativos


Sistema simple de lotes. Lenguaje de control de trabajos (JCL) Tipo especial de lenguaje de programacin Provee instrucciones para el monitor
qu compilador usar qu datos usar

Evolucin de los sistemas operativos


Sistema simple de lotes. Otras caractersticas de hardware deseables
Proteccin de memoria
no permitir alteraciones del rea de memoria donde est el monitor

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

Evolucin de los sistemas operativos


Sistemas de lotes con multiprogramacin
Permite al procesador ejecutar otro programa mientras un programa debe esperar por un dispositivo de entrada salida
Ejec. Ejec.

Espera
Tiempo

Espera

Ejec. A

Ejec. B Tiempo

Espera

Ejec. A

Ejec. B

Espera

Evolucin de los sistemas operativos


Multiprogramacin. Ejemplo
TAREA1 Tipo de tarea Duracin
Mem requerida

TAREA2

TAREA3 Mucha E/S 10 min. 80 K S No

Mucho clculo Mucha E/S 5 min. 50K No No 15 min. 100 K No S

Necesita disco? " terminal

" printer?

No

No

Evolucin de los sistemas operativos


Multiprogramacin. Efectos
Monoprogramacin Uso de procesador Uso de memoria Uso de disco 17% 30% 33% Multiprogramacin 33% 67% 67%

Uso de impresora

33%

67%
15 min. 12 tareas/hr

Tiempo transcurrido 30 min. Relacin tareas/tpo 6 tareas/hr

Tpo respuesta medio 18 min.

10 min.

Evolucin de los sistemas operativos


Multiprogramacin. Efectos

Evolucin de los sistemas operativos


Sistemas de tiempo compartido Usando multiprogramacin para manejo de mltiples tareas interactivas Se comparte el tiempo de procesador entre mltiples usuarios Mltiples usuarios acceden simultneamente al sistema a travs de terminales

Evolucin de los sistemas operativos


Multiprogramacin por lotes vs tiempo compartido

Estructura de los sistemas operativos

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)

El hardware debe mapear (traducir) la direccin virtual en direccin real

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

Control del flujo de la informacin


regula flujo de datos dentro del sistema y la entrega a los usuarios

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

Interrupcin desde proceso Interrupcin de E/S

Controlador de Interrupciones

Cola Cola listos listos nuevos

Cola E/S

Despachador

Pasar control al proces

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

12 Procesos de usuario Procesos de usuario reanudar 11 10 Directorios Dispositivos Directorios

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

Sistema archivos Comunicaciones

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

2 Conjunto de restar, instrucciones


1 Circuitos electrnicos

Pila de evaluacin, intrprete microprograma, datos Registros, compuertas, buses, etc

Cargar, guardar, sumar, restar, saltar


Borrar, transferir, activar, complementar

hardware

Generalidades de los sistemas modernos

Caractersticas de los Sistemas Operativos Modernos


Arquitectura microkernel
asigna solo unas pocas funciones esenciales al kernel
espacio de direcciones comunicacin entre procesos (IPC) planificacin bsica

Caractersticas de Sistemas Operativos Modernos


Multihilos el proceso se divide en hilos que se pueden ejecutar simultnemente hilo
unidad de tarea ejecutable se ejecuta secuencialmente y es interrumpible

proceso es un conjunto de uno o ms hilos

Caractersticas de Sistemas Operativos Modernos


Multiprocesamiento simtrico
hay mltiples procesadores estos procesadores comparten la memoria principal y facilidades de E/S todos los procesadores pueden ejecutar las mismas funciones

Caractersticas de Sistemas Operativos Modernos

Caractersticas de Sistemas Operativos Modernos


Sistemas operativos distribuidos
proveen la ilusin de una sola memoria principal usados para sistemas de archivos distribuidos

Caractersticas de Sistemas Operativos Modernos


Diseo orientado a objeto
usado para agregar extensiones modulares a un kernel pequeo permite a los programadores personalizar un sistema operativo sin daar la integridad del sistema

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

Provee un medio uniforme para que las aplicaciones se comuniquen va LPC


Provee base para computacin distribuida

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

Clases e instancias de objetos


Crea instancias especficas de un objeto

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 UNIX general


Comandos Unix y librerias

Arquitectura tradicional

Interfaz llamadas al sistema Kernel

Hardware

Aplicaciones usuario

Kernel UNIX tradicional

Kernel UNIX moderno

Linux
Arquitectura modular Monoltico estructurado como coleccin de mdulos (loadable modules)
Enlazado dinmico Apilables

Linux

Anda mungkin juga menyukai