Sie sind auf Seite 1von 59

Introduccin a los Sistemas Operativos

Ing. Leonardo Cern

ndice

Definicin Evolucin de los Sistemas Operativos Entorno HW Estructura del Sistema Operativo Ncleos de Sistema Operativos

Introduccin a los Sistemas Operativos 2

Definicin

Programa que acta como interfaz entre el usuario de un ordenador y el hardware del mismo, ofreciendo el entorno necesario para que el usuario pueda ejecutar programas. Visin de Mquina virtual

Presenta al usuario una mquina abstracta ms fcil de programar que el hardware subyacente, ocultando su complejidad, y dando un tratamiento homogneo a diferentes objetos de bajo nivel (archivos, proceso, dispositivos) Controla y protege los recursos (procesador, dispositivos de E/S, memoria, etc.) entre los procesos y usuarios que compiten por ellos.
Introduccin a los Sistemas Operativos 3

Visin de Gestor de recursos

Evolucin de los SSOO (1/6)

Monitor simple residente

Un solo fragmento de cdigo que se enlazaba con los programas, cargndose todo en memoria y ejecutndose junto con el programa (biblioteca en tiempo de ejecucin) Se podran considerar como los primeros SSOOs reales El SSOO estaba almacenado en memoria Cargaba un nico trabajo en memoria (desde el lector de tarjetas)

Sistemas por lotes (batch)


Introduccin a los Sistemas Operativos 4

Evolucin de los SSOO (2/6)


Ejecutaba el trabajo (generaba su salida) Cargaba el siguiente trabajo Las tarjetas de control indicaban qu hacer al SSOO Problemas

- Largas esperas entre lotes de trabajo - La dificultad de manejar la concurrencia entre E/S y ejecucin en CPU ayud a estimular el desarrollo de los SSOO multiprogramados - Carecen de interactividad entre el usuario y los trabajos que se ejecutan.
Introduccin a los Sistemas Operativos 5

Evolucin de los SSOO (3/6)

Multiprogramacin Objetivo: Aprovechar los tiempos de espera de un trabajo en la CPU para ejecutar instrucciones de otro trabajo Mtodo:
- Mantener los trabajos simultneamente en memoria - Elegir el trabajo a conmutar - Necesidad de usar interrupciones o DMA

Se optimiza la productividad (throughput) del sistema

Introduccin a los Sistemas Operativos 6

Evolucin de los SSOO (4/6)

Elementos necesarios:
- Las rutinas de E/S deben estar suministradas por el SSOO - Debe existir una gestin de memoria para poder asignar y controlar la memoria repartida entre varios trabajos - Debe existir una planificacin de la CPU. El SSOO debe elegir uno de entre los diferentes trabajos listos para ejecutarse que hay en memoria - La asignacin de los dispositivos es realizada por el SSOO

Introduccin a los Sistemas Operativos 7

Evolucin de los SSOO (5/6)

Tiempo Compartido Objetivo: Permitir la interaccin entre el usuario y el trabajo que se est ejecutando. Mtodo:
- Utilizar las tcnicas de multiprogramacin y planificacin de la CPU para proporcionar a cada usuario una pequea proporcin del tiempo de CPU.

Caractersticas:
- Cada usuario tiene la impresin de disponer de la mquina completa. - Se intenta optimizar el tiempo de respuesta. - Basados en la asignacin de fracciones de tiempo (se divide el tiempo de CPU de forma equitativa entre los procesos).
Introduccin a los Sistemas Operativos 8

Evolucin de los SSOO (6/6)

Sistemas de tiempo real El factor tiempo se convierte en una variable fundamental. Muy utilizados en sistemas empotrados. El sistema operativo debe responder siempre dentro de los mrgenes requeridos por el sistema controlado, si nos salimos de esos mrgenes, tendremos que buscar otras soluciones. Existen actualmente lenguajes de programacin (Ada) que nos dan grandes posibilidades para controlar procesos en tiempo real.
Introduccin a los Sistemas Operativos 9

Monoprogramacin, Multiprogramacin, Multiprocesamiento.


Monoprogramacin: Tcnica en que los recursos del sistema de
computacin son asignados a un programa hasta completar su ejecucin.

Multiprogramacin: Su objetivo es tener varios programas en


memoria principal, de manera que si uno de ellos tiene que esperar la terminacin de un proceso de transferencia de datos o de E/S, otro (que no est en esa situacin) se pueda ejecutar.

Multiprocesamiento: La multiprogramacin puede conseguirse


usando un procesador o varios. Si se utilizan varios se habla de multiprocesamiento.

Tipos de S. O.

Estructura jerrquica

Tipos de S. O.

Sistema operativos por servicios

Entorno Hardware

Sistema computador Interrupciones y excepciones Modo dual de operacin Proteccin de memoria Proteccin de la CPU

Introduccin a los Sistemas Operativos 13

Sistema computador (1/3)

CPU

Controlador de disco

Controlador de impresora

Controlador de terminal

Bus del sistema

Controlador de memoria

Memoria

Introduccin a los Sistemas Operativos 14

Sistema computador (2/3)

El sistema dispone de un bus comn. La CPU y los controladores de dispositivos se comunican a travs del bus comn. El controlador de memoria sincroniza los accesos a memoria. Los dispositivos de E/S y la CPU operan concurrentemente. Los controladores de dispositivos gestionan el tipo particular de dispositivo.

Introduccin a los Sistemas Operativos 15

Sistema computador (3/3)

Los controladores de dispositivos tienen un bfer local, colas de peticiones y registros de control/estado. La CPU transfiere los datos de/a memoria principal a/de los bferes locales. Las E/S se realizan desde el dispositivo al bfer local del controlador. Los controladores de dispositivo informan a la CPU que han finalizado mediante una interrupcin.

Introduccin a los Sistemas Operativos 16

Interrupciones y excepciones (1/5)

Definiciones: Interrupcin: es un suceso que cambia el flujo normal de ejecucin. Excepcin: es un suceso inesperado interno al procesador (desbordamiento aritmtico, direccin invlida, instruccin privilegiada, etc.).

Introduccin a los Sistemas Operativos 17

Interrupciones y excepciones (2/5)

Manejo de las interrupciones:


CPU
Salto

Ctrldor. Dispositivo
Dispositivos de E/S, reloj, etc.

Gestor general
de interrupciones SSOO

Memoria Principal

Rutina de atencin a la interrupcin n

SSOO

Cdigo de usuario

Introduccin a los Sistemas Operativos 18

Interrupciones y excepciones (3/5)

Gestor de interrupciones:

Salva el contexto del proceso en ejecucin

Contenido de los registros del la CPU

Determina el tipo de interrupcin y ejecuta la rutina de atencin a la interrupcin. En planificacin de CPU selecciona el proceso que se ejecutar prximamente. Restaura el contexto salvado del proceso en ejecucin (o del seleccionado para ejecutarse)
Introduccin a los Sistemas Operativos 19

Interrupciones y excepciones (4/5)

Gestor de excepciones:

Al detectarse la excepcin, se transfiere el control al manejador de excepciones (igual que en las interrupciones). Las excepciones se tratan en espacio de usuario. El SSOO simplemente las notifica.

Introduccin a los Sistemas Operativos 20

Interrupciones y excepciones (5/5)

Proteccin Hardware:

Objetivo: Evitar la interferencia entre procesos de usuario, y entre los procesos y el SSOO. Mtodo: Definir como instrucciones privilegiadas aquellas que pueden potencialmente daar a otros procesos o usuarios (operaciones de E/S, actualizacin de reloj, deshabilitar interrupciones, etc.) Consecuencia: Diferentes modos de funcionamiento del Hardware.
Introduccin a los Sistemas Operativos 21

Modo dual de ejecucin (1/4)

La CPU debe disponer de dos modos de funcionamiento:

Modo usuario

Slo se ejecutan las instrucciones no privilegiadas.

Modo Kernel o supervisor

- Se puede ejecutar cualquier instruccin. - El SSOO se ejecuta en modo kernel o supervisor. - El cambio de modo se realiza mediante una instruccin privilegiada. - El HW cambia a modo kernel cuando se produce una interrupcin o excepcin.

Introduccin a los Sistemas Operativos 22

Modo dual de ejecucin (2/4)

Llamadas al sistema:

Procedimientos o funciones que ofrece el sistema a un proceso de usuario para acceder a determinados servicios propios del SSOO, es decir, servicios que se deben ejecutar en modo kernel o supervisor. Las llamadas al sistema se implementan como excepciones.

Introduccin a los Sistemas Operativos 23

Modo dual de ejecucin (3/4)

Esquema de llamada al sistema:


......... main () { ......... ......... write (fd, ...); ......... ......... } .........

(1)

(6)

......... ......... call (...); ......... .........

(2)
excepcin

Manejador de excepciones

(3)

(5)
Modo usuario

(4)
Modo kernel

Rutina de atencin del sistema

Introduccin a los Sistemas Operativos 24

Modo dual de ejecucin (4/4)

Paso de parmetros en llamada al sistema:

Registros (MS-DOS) Almacenar en una tabla de memoria y pasar la direccin de la tabla como parmetro en un registro. El programa mete los parmetros en pila y el SSOO los recupera.

Objetivo: Proteger la memoria para evitar que un proceso de usuario acceda (lectura/escritura) en la memoria asignada a otro proceso. Los SSOO multiusuario y/o multitarea asignan a cada proceso en ejecucin una zona de Introduccin a los Sistemas Operativos 25 memoria.

Proteccin de memoria (1/3)

Objetivo: Proteger la memoria para evitar que un proceso de usuario acceda (lectura/escritura) en la memoria asignada a otro proceso. Los SSOO multiusuario y/o multitarea asignan a cada proceso en ejecucin una zona de memoria.

Introduccin a los Sistemas Operativos 26

Proteccin de memoria (2/3)

Solucin: Utilizacin de registros base y lmite Memoria


rea de ncleo
Informacin de procesos
PID pid_1 pid_2 RB Dir_1 Dir_3 RL Dir_2 Dir_4

Dir_1
PROCESO 1 Dir_2

Dir_3
Dir_4 PROCESO 2

Introduccin a los Sistemas Operativos 27

Proteccin de memoria (3/3)

Forma de uso:
REGISTRO BASE REGISTRO REGISTRO + LIMITE BASE M E M O R I A

CPU

>=
NO

<
NO

Bus de direcciones

Excepcin de error de direccionamiento

Introduccin a los Sistemas Operativos 28

Proteccin de CPU

Los SSOO multiprogramados deben evitar que los procesos se apoderen de la CPU. Mtodo: Uso de un reloj programable o temporizador

El reloj puede tener un contador que se decrementa/incrementa en cada ciclo generando una interrupcin cuando llega a cero/overflow

El SSOO asocia una fraccin de tiempo a aquel proceso al cual se le asigna la CPU En cada interrupcin de reloj la rutina de atencin comprueba si el plazo a concluido.
Introduccin a los Sistemas Operativos 29

Estructura del Sistema Operativo

Entidad de ejecucin (proceso) Componentes Propiedades Tipos de estructuras o arquitecturas


Monoltica Capas Mquina virtual Kernel

Introduccin a los Sistemas Operativos 30

Entidad de ejecucin (proceso)


Proceso Programa en ejecucin Proceso Programa cargado en memoria y con recursos asignados Responsabilidades del SSOO:

crear/destruir procesos suspender/reanudar procesos suministrar mecanismos para sincronizar y comunicar procesos
Introduccin a los Sistemas Operativos 31

Asignacin de recursos y planificacin


Fin de un intervalo de tiempo

Nuevos programas

Cola del procesador

Programas listos para ejecutarse

Programas terminados

Procesador
Ejecucin de Un programa

Programas ejecutables

Programas cuyas peticiones e/s satisfechas

Colas de Entrada/salida
Programas no ejecutables

Programas bloqueados por peticiones e/s

CONCEPTOS PROCESOS:

CONCEPTO CENTRAL DE TODOS LOS S.O. CONSTA DEL PROGRAMA EJECUTABLE, DATOS, PILA Y CONTADOR DE REGISTROS, INFORMACION NECESRIA PARA EJECUTAR UN PROGRAMA

SUBPROCESOS

UN PROCESO DEBE SER CAPAZ DE CREAR OTROS PROCESOS (SPAWN) TERMINOLOGIA


HIJO PADRE DESCENDIENTE SINCRONAMENTE: PADRE ESPERA QUE HIJO TERMINE ASINCRONAMENTE: PADRE PUEDE HACER OTRAS COSAS DESPUES DE CREAR UN PROCESO HIJO

EJECUTARSE

MEDIOS DE INTERCAMBIO DE INFORMACION

PADRE PASA ARGUMENTOS AL HIJO CUANDO ESTE SE CREA HIJO NO REGRESA RESULTADOS IPC INTER PROCESS COMMUNICATIONS

PROCRESOS EN S.O.

IBM MAINFRAME

UN USUARIO=UN LOGIN=UN PROCESO

MODO BATCH

VAX/VMS

LOGIN CREA UN PROCESO, EJECUTA UN INTERPRETE DE LINEA DE COMANDO. LOGIN CORRE UN SHELL, LA MAYORIA DE LOS COMANDOS CREAN UN NUEVO SUBPROCESO.

UNIX

BLOQUE DE CONTROL DE PROCESOS (PCB)

SISTEMA DE E/S ASOCIADO CON LOS PROCESOS

CONOCIDO COMO ENCABEZADO DE PROCESOS (PROCESS HEADER) UTILIZADO POR EL S.O.

PCB CONTIENE

Algo como

IDENTIFICACION UNICA Unix: pid Prioridades Privilegios Contexto del hardware


Copia del contador de programa (PC) Guarda area de registros

Mas del PCB

Registro de la memoria asignada


Datos y cdigo. Tablas y sus paginas

Registro de los recursos asignados Cantidad de tiempo real y uso de la CPU.

Componentes (1/5)

Gestor de memoria principal


Asignar/Desasignar memoria a los programas Conocer en todo momento la memoria utilizada y quien la usa Decidir el tamao de memoria que se asigna a cada proceso y cuando debe ser retirado de la misma

Introduccin a los Sistemas Operativos 40

Gestin de la memoria

La memoria principal de la mayora de los ordenadores es mucho mas pequea de lo que sera necesario para manejar todos los programas y datos. El mdulo de gestin de memoria es el encargado de asignar ciertas porciones de la memoria principal a los diferentes programas, mientras el resto de programas y datos se mantienen en los dispositivos de almacenamiento masivo. La forma mas comn de gestin de memoria es crear una memoria virtual utilizando los dispositivos de almacenamiento masivo.

Gestin de la memoria

Gestin de la memoria

Divisin de la memoria entre las tareas

Por pginas: bloques de bytes de igual tamao para todos los procesos y tareas. Por segmentos: bloques de bytes con distinto tamao segn el proceso. Por segmentos paginados: Los segmentos de tamao distinto se dividen a su vez en pginas de distinto tamao.

Componentes (2/5)

Gestor de archivos

Archivo Coleccin de datos (informacin) referenciada bajo un nombre. Operaciones sobre archivos:

Crear/borrar archivos o (directorios) Llamadas al sistema para su manipulacin: leer, escribir, renombrar, etc. Servicios de backup

Introduccin a los Sistemas Operativos 45

Sistema de archivos

Componentes (3/5)

Gestor de E/S

Los SSOOs modernos proporcionan una I/F estndar entre los programas y los dispositivos, es decir, utilizan las mismas funciones independientemente del dispositivo. El mdulo del SSOO responsable de gestionar el tipo de dispositivo y encapsular el conocimiento especfico del dispositivo es el manejador de dispositivo.

Introduccin a los Sistemas Operativos 47

Gestin de entradas/salidas
Proceso Soft E/S Soft Perif Ctrl Interr Hardware

Peticin E/S Peticin OK

Componentes (4/5)

Sistema de Proteccin

Objetivo: Controlar los accesos de programas, procesos o usuarios, al sistema o a los recursos de usuario. Mtodo:

- Distinguir entre uso autorizado o no - Especificar el control que se debe imponer - Suministrar los medios para su aplicacin

El sistema de proteccin no est localizado en un nico mdulo, sino que que es un mecanismo general a todo el SSOO. Introduccin a los Sistemas Operativos 49

Proteccin

Acta contra dos sucesos:


Errores Abuso deliberado de los recursos del sistema

Bloqueos

Componentes (5/5)

Intrprete de rdenes

Proceso que maneja la interpretacin de rdenes del usuario desde un terminal, para utilizar los servicios que proporciona el SSOO. Este proceso hace de interfaz con el usuario u operador del sistema. (csh, bash, ksh, etc.)

Introduccin a los Sistemas Operativos 52

Propiedades

Eficacia

Consumo: >40% de los ciclos de CPU Robustez: El SSOO debe responder de forma predecible a casos de error, incluidos fallos HW Proteccin: El SSOO debe protegerse a s mismo y a los usuarios de acciones accidentales o malintencionadas. Variar o hacer crecer la funcionalidad del SSOO Introduccin a los Sistemas Operativos 53 de forma sencilla.

Fiabilidad

Extensibilidad

Tipos de estructuras o arquitecturas(1/6)

Monoltica

Toda la funcionalidad del SSOO se incluye en el ncleo Todos los componentes del SSOO se ejecutan en modo supervisor Empleado en sistemas pequeos Difcil de modificar en tiempo de ejecucin Difcil de mantener

Introduccin a los Sistemas Operativos 54

Tipos de estructuras o arquitecturas(2/6)

Partes diferenciadas:

Ncleo dependiente del HW


- Manejar las interrupciones del HW - Manejo de bajo nivel de memoria y discos - Trabajar con los manejadores de dispositivos de bajo nivel - Ofrece las llamadas al sistema (system calls) - Manejar los sistemas de archivos - Gestionar la planificacin de procesos
Introduccin a los Sistemas Operativos 55

Ncleo independiente del HW


Tipos de estructuras o arquitecturas(3/6)


Procesos de usuario
Proceso de usuario Proceso de usuario Proceso de usuario

orden Despertar Intrprete de la orden Desbloquear

Monitor
Peticin de E/S Proceso de la interrupcin

Comienzo de la E/S

Interrupcin

Dispositivos
Introduccin a los Sistemas Operativos 56

Tipos de estructuras o arquitecturas(4/6)

Kernel

Manejo de procesos e hilos Manejo bajo de memoria Soporte a las comunicaciones Manejo de interrupciones y operaciones de bajo nivel de E/S Se usan procesos servidores que se encargan de ofrecer el resto de servicios (por ejemplo el de sistema de archivos) Menor rendimiento que la arquitectura monoltica debido a la sobrecarga de comunicaciones
Introduccin a los Sistemas Operativos 57

Tipos de estructuras o arquitecturas(5/6)


Empleado en sistemas grandes Fcil de modificar en tiempo de ejecucin Ms adaptable que la arquitectura monoltica Slo el micro-ncleo se ejecuta en modo supervisor

Introduccin a los Sistemas Operativos 58

Tipos de estructuras o arquitecturas(6/6)


Proceso Proceso Proceso de Proceso de dede usuario usuario usuario usuario

Devolver los datos


Inicio de la E/S

Lectura de disco

Proceso gestionador de dispositivo

Dispositivo

Interrupcin Despertar

Microncleo

Determinacin del proceso que solicit la E/S

Proceso de la interrupcin

Introduccin a los Sistemas Operativos 59

Das könnte Ihnen auch gefallen