Vous êtes sur la page 1sur 41

Sistemas operativos: una visin aplicada

Captulo 2 Introduccin a los sistemas operativos

Contenido
Qu es un sistema operativo? Arranque del computador Componentes y estructura de un sistema operativo Activacin del sistema operativo Interfaz del programador Interfaz del usuario Historia y evolucin

Sistemas operativos: una visin aplicada

J. Carretero, F. Garca, P. de Miguel, F. Prez

Qu es un sistema operativo?
Un programa que acta como intermediario entre el usuario de un computador y el hardware del mismo Objetivos del sistema operativo: Ejecutar programas y facilitar la solucin de los problemas del usuario Hacer un uso conveniente del computador Usar el computador de forma eficiente Proporcionar una mquina virtual extendida

Sistemas operativos: una visin aplicada

J. Carretero, F. Garca, P. de Miguel, F. Prez

Funciones del sistema operativo


Gestor de recursos (UCP, memoria, ...) Asignacin y recuperacin de recursos Proteccin de los usuarios Contabilidad/monitorizacin Soporte de usuario Mquina extendida (servicios) Ejecucin de programas (procesos) rdenes de E/S Operaciones sobre archivos Deteccin y tratamiento de errores Interfaz de usuario Shell
Sistemas operativos: una visin aplicada 3 J. Carretero, F. Garca, P. de Miguel, F. Prez

Niveles del sistema operativo

U s u a r i o s P r o g r a m a s S h e l l S e r v i c i o s N c l e o H a r d w a r e

A P I S i s t e m a o p e r a t i v o

Sistemas operativos: una visin aplicada

J. Carretero, F. Garca, P. de Miguel, F. Prez

Contenido
Qu es un sistema operativo?

Arranque del computador


Componentes y estructura de un sistema operativo Activacin del sistema operativo Interfaz del programador Interfaz del usuario Historia y evolucin

Sistemas operativos: una visin aplicada

J. Carretero, F. Garca, P. de Miguel, F. Prez

Arranque del computador


El Reset carga valores predefinidos en registros CP direccin de arranque del cargador ROM Se ejecuta el cargador ROM del sistema Test del sistema Trae a memoria el boot del SO
Unidad de Memoria
Direccin 0 2.047 Celdas Zona ROM

Unidad de Memoria
Direccin 0 Celdas

1.046.528 1.048.575 1.048.575

Zona ROM

En el caso del PC la ROM contiene, adems, sw de E/S (BIOS)


Sistemas operativos: una visin aplicada 6 J. Carretero, F. Garca, P. de Miguel, F. Prez

Arranque del sistema operativo


El SO est almacenado en el disco
Programa cargador (identificador)

Disco

Sistema Operativo

Sistemas operativos: una visin aplicada

J. Carretero, F. Garca, P. de Miguel, F. Prez

Arranque del sistema operativo


El cargador ROM carga el sector de boot del SO y le da control El boot del SO carga el SO residente y da control al programa de arranque del SO, que: Comprueba el hardware Comprueba el sistema de ficheros Establece las tablas del SO Crea procesos (segn el tipo de SO)
Proceso INIT Procesos o tareas del sistema (demonios) Procesos de login (uno por terminal)

Tras la autenticacin, el proceso login se convierte en shell

Sistemas operativos: una visin aplicada

J. Carretero, F. Garca, P. de Miguel, F. Prez

Contenido
Qu es un sistema operativo? Arranque del sistema operativo

Componentes y estructura de un sistema operativo


Activacin del sistema operativo Interfaz del programador Interfaz del usuario Historia y evolucin

Sistemas operativos: una visin aplicada

J. Carretero, F. Garca, P. de Miguel, F. Prez

Componentes del SO

Usuarios Programas de usuario Win 32 Shell 1 Shell 2 POSIX Varias API

Gestin de Seguridad Comunicac. Gestin de Gestin de Gestin de y archivos y y procesos memoria la E/S directorios proteccin sincroniz.

Sistema operativo

Ncleo Hardware

Sistemas operativos: una visin aplicada

10

J. Carretero, F. Garca, P. de Miguel, F. Prez

Gestin de procesos
Un proceso es un programa en ejecucin. Un proceso necesita recursos, tales como UCP, memoria, ficheros, etc., para llevar a cabo su tarea. El SO tiene la responsabilidad de gestionar los siguientes aspectos de procesos: Creacin y destruccin. Suspensin y reanudacin. Asignacin y mantenimiento de los recursos del proceso. Proporcionar mecanismos de sincronizacin y comunicacin. Gestionar los interbloqueos.

Sistemas operativos: una visin aplicada

11

J. Carretero, F. Garca, P. de Miguel, F. Prez

Elementos de un proceso

Cdigo y datos

Mapa de E/S

Registros generales

BCP Mapa de Memoria

PC SP Estado

Sistemas operativos: una visin aplicada

12

J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios de procesos
Crear un procesos A partir de un proceso padre (UNIX) A partir de un archivo ejecutable (Windows NT) Ejecutar un proceso Terminar la ejecucin de un proceso Cambiar el programa que ejecuta un proceso

Sistemas operativos: una visin aplicada

13

J. Carretero, F. Garca, P. de Miguel, F. Prez

Gestin de memoria
Memoria: vector enorme de palabras o bytes, cada uno con su propia direccin. Compartido por UCP y dispositivos E/S. Voltil: pierde su contenido si el sistema falla. El SO tiene la responsabilidad de gestionar los siguientes aspectos de la memoria: Mantener un mapa de las partes de memoria en uso y saber quin las est usando. Decidir qu procesos se deben cargar, y dnde, cuando hay memoria disponible. Asignar y liberar espacio de memoria cuando sea necesario. Ofrecer servicios para que los procesos puedan compartir memoria.
Sistemas operativos: una visin aplicada 14 J. Carretero, F. Garca, P. de Miguel, F. Prez

Comunicacin y sincronizacin entre procesos

Proceso de Usuario

Proceso de Usuario

Proceso de Usuario

Proceso de Usuario

SO

SO

SO

UN COMPUTADOR

DOS COMPUTADORES

Sistemas operativos: una visin aplicada

15

J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios de comunicacin y sincronizacin


Servicios de comunicacin Crear el mecanismo de comunicacin Enviar datos a un proceso Recibir datos de un proceso Destruir el servicio de comunicacin Servicios de sincronizacin Crear el mecanismo de sincronizacin Bloquear un proceso hasta que ocurra un evento Despertar a un proceso bloqueado Destruir el mecanismo de sincronizacin
Sistemas operativos: una visin aplicada 16 J. Carretero, F. Garca, P. de Miguel, F. Prez

Tipos de comunicacin
Comunicacin sncrona Los dos procesos han de ejecutar los servicios de comunicacin al mismo tiempo
Proceso A Proceso B Proceso B enviar Espera recibir Proceso A recibir enviar Espera

Avanza la ejecucin

El proceso A espera al B

El proceso B espera al A

Comunicacin asncrona Los dos procesos no tiene que ejecutar los servicios de comunicacin al mismo tiempo
Sistemas operativos: una visin aplicada 17 J. Carretero, F. Garca, P. de Miguel, F. Prez

Gestin de E/S
El gestor de E/S est formado por: Un sistema global de almacenamiento intermedio en memoria. Manejadores genricos, uno por cada clase, de dispositivos. Manejadores especficos para cada dispositivo. Almacenamiento secundario no voltil en dispositivos rpidos de E/S como respaldo de la memoria. El SO tiene la responsabilidad de gestionar los siguientes aspectos de la E/S y el almacenamiento secundario: Traducir peticiones a formato de manejador. Copiar memoria de/a memoria a/de controlador. Controlar operaciones por DMA. Controlar dispositivos de E/S serie: teclado, ratn, etc. Asignacin y liberacin de espacio. Planificacin de accesos a los dispositivos.
Sistemas operativos: una visin aplicada 18 J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios de E/S
Servicios orientados a caracteres Impresoras, terminales Servicios orientados a bloques La operacin de E/S se hace sobre un bloque de informacin de un nmero fijo de caracteres Discos

Sistemas operativos: una visin aplicada

19

J. Carretero, F. Garca, P. de Miguel, F. Prez

Gestin de archivos y directorios


Archivo: conjunto de informacin lgicamente relacionada y definida por su creador. Directorio: conjunto de identificadores lgicos de archivos y su relacin con identificadores internos del SO. Archivos frecuentes: programas (fuentes y ejecutables) y datos. El SO tiene la responsabilidad de gestionar los siguientes aspectos del servicio de archivos: Creacin y borrado de archivos y directorios. Primitivas para manipular archivos y directorios. Proyectar los ficheros sobre almacenamiento secundario. Hacer respaldo de archivos sobre dispositivos estables y no voltiles.
Sistemas operativos: una visin aplicada 20 J. Carretero, F. Garca, P. de Miguel, F. Prez

Seguridad y proteccin
Proteccin: controlar accesos a los recursos de usuario y sistema. El servidor de proteccin debe: Distinguir entre uso autorizado y no autorizado. Especificar los controles de acceso a llevar a cabo. Proporcionar mtodos de control de acceso. Seguridad: proteger al sistema de un uso indebido. El servidor de seguridad debe: Autenticar a los usuarios. Evitar amenazas al sistema (gusanos, virus, piratas, fuego, etc.) Evitar la intercepcin de comunicaciones: cifrado, canales seguros, etc.
Sistemas operativos: una visin aplicada 21 J. Carretero, F. Garca, P. de Miguel, F. Prez

Contenido
Qu es un sistema operativo? Arranque del sistema operativo Componentes y estructura de un sistema operativo

Activacin del sistema operativo


Interfaz del programador Interfaz del usuario Historia y evolucin

Sistemas operativos: una visin aplicada

22

J. Carretero, F. Garca, P. de Miguel, F. Prez

Activacin de los servicios del SO


Fuentes de las peticiones Mandatos de los usuarios interpretados por el shell Llamadas al sistema emitidas por los programas Interrupciones producidas por los perifricos Condiciones de excepcin o error del hardware Forma de solicitar los servicios Por llamada problema de seguridad Por interrupcin o trap Rutina de biblioteca:
Instrucciones de mquina que prepara la llamada al SO

Sistemas operativos: una visin aplicada

23

J. Carretero, F. Garca, P. de Miguel, F. Prez

Fases en la activacin del SO

Avanza la ejecucin

Proceso A Sistema operativo

Se solicita el SO
Salva el estado del proceso A

Realiza la funcin pedida


Planificador Activador

Proceso B

Sistemas operativos: una visin aplicada

24

J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios del SO: llamadas al sistema


Interfaz entre aplicaciones y SO. Generalmente disponibles como funciones en ensamblador. Actualmente en otros lenguajes de alto nivel (C, Bliss, ). Servicios tpicos del sistema operativo Gestin de procesos Gestin de procesos ligeros Gestin de seales, temporizadores Gestin de memoria Gestin de ficheros y directorios Ejemplos de llamada read: permite leer datos de un fichero fork: permite crear un nuevo proceso
Sistemas operativos: una visin aplicada 25 J. Carretero, F. Garca, P. de Miguel, F. Prez

Paso de los parmetros a las llamadas


Tres mtodos genricos para pasar parmetros a las llamadas al sistema: En registros. En una tabla de memoria, cuya direccin se pasa al SO en un registro. Poner los parmetros en la pila del programa y dejar que el SO los extraiga. Cada SO proporciona sus propias llamadas al sistema: Estndar POSIX en UNIX y LINUX. Win32 en Windows NT.

Sistemas operativos: una visin aplicada

26

J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios del SO
Los servicios se programan mediante sentencias de un lenguaje (p.e. C) Estas sentencias son como llamadas a funcin Se convierten, mediante una rutina de biblioteca de sistemas en un conjunto de instrucciones de mquina que terminan con una instruccin de trap El trap, como toda interrupcin es tratada por el SO El SO realiza el servicio pedido y devuelve un valor Ejemplo:
int fork() { int r; LOAD R8, FOR_SYSTEM_CALL TRAP LOAD r, R9 return r; }
Sistemas operativos: una visin aplicada 27 J. Carretero, F. Garca, P. de Miguel, F. Prez

Paso de llamadas al sistema


MEMORIA
PROCESO N

PROCESO 2 Rutina de biblioteca PROCESO 1


LOAD R8, FORK_SYSTEM_CALL TRAP LOAD r, R9

MODO USUARIO

1
2 R8
FORK_SYSTEM_CALL

6 3 4
TABLA
SERVICIO fork LOAD R9, resultado Retorno del TRAP

R9 5

Resultado

MODO NCLEO

SISTEMA OPERATIVO

PROCESO DE USUARIO

RUTINA DE BIBLIOTECA

TRAP

TRATAMIENT0 DE INTERRUP.

RUTINA DE SERVICIO

PROCESO DE USUARIO

HW

SISTEMA OPERATIVO

Sistemas operativos: una visin aplicada

28

J. Carretero, F. Garca, P. de Miguel, F. Prez

Contenido
Qu es un sistema operativo? Arranque del computador Componentes y estructura de un sistema operativo Activacin del sistema operativo

Interfaz del programador


Interfaz del usuario Historia y evolucin

Sistemas operativos: una visin aplicada

29

J. Carretero, F. Garca, P. de Miguel, F. Prez

Interfaz del programador


Esta interfaz recupera la visin que como mquina extendida tiene el usuario del sistema operativo Interfaces seguidas: POSIX Win32

Sistemas operativos: una visin aplicada

30

J. Carretero, F. Garca, P. de Miguel, F. Prez

Estndar POSIX
Interfaz estndar de sistemas operativos de IEEE. Objetivo: portabilidad de las aplicaciones entre diferentes plataformas y sistemas operativos. NO es una implementacin. Slo define una interfaz Diferentes estndares 1003.1 Servicios bsicos del SO 1003.1a Extensiones a los servicios bsicos 1003.1b Extensiones de tiempo real 1003.1c Extensiones de procesos ligeros 1003.2 Shell y utilidades 1003.2b Utilidades adicionales
Sistemas operativos: una visin aplicada 31 J. Carretero, F. Garca, P. de Miguel, F. Prez

Caractersticas de POSIX
Nombres de funciones cortos y en letras minsculas fork read close Las funciones normalmente devuelve 0 en caso de xito o 1 en caso de error Variable errno Recursos gestionados por el sistema operativo se referencian mediante descriptores

Sistemas operativos: una visin aplicada

32

J. Carretero, F. Garca, P. de Miguel, F. Prez

Win32
Define los servicios ofrecidos por los sistemas Windows 95/98, Windows NT y Windows 2000 No es un estndar API totalmente distinto a POSIX

Sistemas operativos: una visin aplicada

33

J. Carretero, F. Garca, P. de Miguel, F. Prez

Caractersticas de Win32
Los recursos se referencian mediante manejadores Nombres de funciones largos y descriptivos: GetFileAttributes CreateNamedPipe Dispone de tipos de datos predefinidos BOOL DWORD TCHAR Las funciones devuelven en general true en caso de xito y false en caso de error

Sistemas operativos: una visin aplicada

34

J. Carretero, F. Garca, P. de Miguel, F. Prez

Contenido
Qu es un sistema operativo? Arranque del computador Componentes y estructura de un sistema operativo Activacin del sistema operativo Interfaz del programador Interfaz del usuario

Historia y evolucin

Sistemas operativos: una visin aplicada

35

J. Carretero, F. Garca, P. de Miguel, F. Prez

Prehistoria
Aos 40 Primeros computadores No existen sistemas operativos Todos los trabajos se ejecutan en serie

Sistemas operativos: una visin aplicada

36

J. Carretero, F. Garca, P. de Miguel, F. Prez

Primera generacin (aos 50)


Los trabajos siguen ejecutndose en serie Se procesan los trabajos por lotes Se dispone de rutinas de E/S Se usan mecanismos rpidos para pasar de un trabajo al siguiente Recuperacin del sistema si un trabajo acaba en error Lenguaje de control de trabajos para especificar los recursos a utilizar y las operaciones a realizar en cada trabajo

Sistemas operativos: una visin aplicada

37

J. Carretero, F. Garca, P. de Miguel, F. Prez

Segunda generacin (aos 60)


Aparece el concepto de multiprogramacin Se construyen los primeros multiprocesadores Sistemas de tiempo compartido. Planificacin de la UCP en rodajas Primeros sistemas de tiempo real

Sistemas operativos: una visin aplicada

38

J. Carretero, F. Garca, P. de Miguel, F. Prez

Tercera generacin (aos 70)


Sistemas de propsito general Procesamiento por lotes Multiprogramacin Tiempo compartido Modo multiprocesador Aparicin de los sistemas UNIX y MVS

Sistemas operativos: una visin aplicada

39

J. Carretero, F. Garca, P. de Miguel, F. Prez

Cuarta generacin (aos 80-actualidad)


Procesamiento distribuido Se desarrollan los sistemas operativos para computadores personales (MS-DOS y sistemas Windows) Aparecen los sistemas operativos de tiempo real Se desarrollan los primeros sistemas operativos distribiudos Middlewares POSIX y Win32

Sistemas operativos: una visin aplicada

40

J. Carretero, F. Garca, P. de Miguel, F. Prez

Vous aimerez peut-être aussi