1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

51
1 / 58 58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS

Transcript of 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

Page 1: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

11 /58/58

Introducción a los Sistemas Operativos

SISTEMAS OPERATIVOS

Page 2: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

22 /58/58

Los Sistemas Operativos son programas para la administración eficiente de los recursos del

computador.

Page 3: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

33 /58/58

Tabla de Contenido

i. Introducción

1. Estructura del SO

1. Componentes

2. Llamadas al Sistema

3. Estructura de un SO

4. Máquinas Virtuales

2. Diseño e Implementación

3. Bibliografía

Page 4: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

44 /58/58

INTRODUCCIÓN

Page 5: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

55 /58/58

Sistema Operativo• Un Sistema Operativo es un programa que actúa como

un intermediario entre el computador y el usuario.

• Consta de un conjunto de rutinas (algoritmos) para gestionar los recursos del computador, como son: el Procesador, la memoria, los Dispositivos de E/S y los archivos

• El Sistema Operativo:– Es un administrador de los recursos del computador.– Controla la ejecución de los programas de los usuarios.– Controla por ejemplo el acceso concurrente a los recursos.

Page 6: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

66 /58/58

Sistema de Computo

Page 7: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

77 /58/58

Sistema de ComputoEl usuario.• Puede ser una persona, una maquina u otro computador

que quiere resolver un problema.Los Programas de Aplicación.• Define la via por la cual los recursos de hardware

pueden ser usados para resolver problemas. Bases de Datos, compiladores, editores, etc.

El Sistema Operativo.• Controla y coordina el uso de hardware entre varios

programas de aplicación.El Hardware.• Provee los recursos de computación básicos. CPU,

Memoria, E/S.

Page 8: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

88 /58/58

Visión abstracta del sistema

compilador ensamblador editor de texto ... base de datos

Aplicaciones del sistema

compilador ensamblador editor de texto ... base de datos

Aplicaciones del sistema

Sistema OperativoSistema Operativo

Hardware delcomputador

Hardware delcomputador

usuario1

usuario1

usuario2

usuario2

usuario3

usuario3

usuarion

usuarion

...

Page 9: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

99 /58/58

Definiciones de Sistema Operativo• Administrador de recursos:

– Gestión y asignación de recursos del computador• Programa de control:

– Controla la ejecución de los programas de usuario y las operaciones de los dispositivos de E/S

• Núcleo:– El único programa que ejecuta siempre

(por debajo y anterior a cualquier otro programa)• Máquina virtual:

– Extiende y enmascara la funcionalidad del hardware

Page 10: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1010 /58/58

Objetivos del Sistema Operativo• Objetivos del sistema operativo:

– Facilitar el uso al usuario (interfaz)– Facilitar la programación al programador (máquina virtual extendida)– Ejecutar programas eficientemente (gestor de recursos)

• Conveniencia. Proveer un medio ambiente al usuario para ejecutar sus programas. por ejemplo en computadoras personales.

• Eficiencia. Incrementar la productividad de los recursos de producción, como son: el HD del SC y el usuario del SC. por ejemplo en grandes sistema de computo

Page 11: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1111 /58/58

Servicios del SO como interfaz U/PC

1. Creación de programas (editores, depuradores)

2. Ejecución de programas (Carga las Instruciones en MP, inicializa los dispositivos)

3. Acceso a dispositivos de E/S (cada uno requiere un conjunto peculiar de Instrucciones)

4. Acceso controlado a los archivos (formato de los archivos y del medio de almacenamiento)

5. Acceso al sistema (En sistemas compartidos)

6. Detección y respuesta de errores (Internos y externos al hardware)

7. Contabilidad, estadísticas (de uso y rendimiento)

Page 12: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1212 /58/58

Máquina Extendida/ControladorLos SO llevan a cabo dos funciones que en esencia no tienen relación.

• Máquina Extendida: La función del SO es presentar al usuario el equivalente de una máquina extendida o virtual que sea más fácil de programar que el hardware que hay por debajo.

• Controlador de recursos:La función del SO es controlar todas las piezas de un complejo sistema. Proporcionar una asignación ordenada y controlada de los procesadores, memoria, dispositivos de E/S para los varios programas que compiten por ellos.

Page 13: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1313 /58/58

Modo dual de operación• Compartir recursos

– El SO asegura que un programa no afectará a otro

• Solución:– Mecanismo de protección hardware (bit) que permite, al menos,

2 modos de ejecución: usuario (1) y sistema (0).

• Instrucciones privilegiadas sólo posibles en modo sistema

• Cuando hay interrupción, trap o excepción, el hardware cambia a modo sistema

Page 14: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1414 /58/58

Modo dual de operación

monitormonitor usuariousuario

interrupción/fallo

pasar a modo usuario

Page 15: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1515 /58/58

Protección por hardware • E/S:

– siempre instrucciones privilegiadas, modo sistema• Memoria:

– registros base y límite por programa– accesos fuera originan un fallo de protección

• UCP:– temporizador que interrumpe periódicamente para

dar control al SO y que decida

Page 16: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1616 /58/58

Protección por hardware

monitormonitor

tarea 1tarea 1

tarea 2tarea 2

256000

300040

registro base

registro límite

300040

256000

0

420940

Page 17: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1717 /58/58

Arquitectura general del sistema

Si las instrucciones de E/S son privilegiadas,¿cómo ejecuta el usuario la E/S?

• Llamada al sistema:– Método estándar de acceso a los servicios del SO– El programa genera un trap (interrupción sw)– Se salta a ejecutar la RTI (servicio del SO)

y a la vez se cambia a modo sistema– El SO verifica los parámetros, ejecuta la petición y

devuelve control en la instrucción siguiente• El SO oculta las llamadas al sistema en bibliotecas

que se instalan con el SO

Page 18: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1818 /58/58

ESTRUCTURA.

Page 19: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

1919 /58/58

Estructura del Sistema Operativo

1. Componentes del sistema

2. Llamadas al sistema

3. Estructura de un sistema operativo

4. Máquinas virtuales

Page 20: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2020 /58/58

1. COMPONENTES DEL SO

Page 21: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2121 /58/58

Componentes del SO• Básicos:

1. Gestor de procesos

2. Gestor de memoria

3. Gestor de E/S

4. Gestor del almacenamiento secundario

• Servidores:

5. Servidor de ficheros

6. Servidor de protección y seguridad

7. Servidor de comunicaciones por red

• Utilidades:

8. Intérprete de mandatos

9. Programas de sistema

Page 22: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2222 /58/58

1. Gestor de procesos • Un proceso es un programa en ejecución• Es la unidad que consume recursos:

– UCP, memoria, ficheros, etc.• El SO gestionar lo siguiente de los procesos:

– Creación y destrucción– Suspensión y reanudación– Mecanismos de comunicación y sincronización– Asignación de los recursos al proceso

Page 23: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2323 /58/58

2. Gestor de memoria• Memoria:

– Vector enorme de palabras o bytes (direcciones)– Compartida por UCP y dispositivos E/S– Volátil: pierde su contenido sin alimentación

• El SO gestiona lo siguiente de la memoria:– Qué partes están en uso y quién las está usando– Qué procesos se deben cargar, y dónde– Asigna y libera espacio cuando se requiere

Page 24: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2424 /58/58

3. Gestor de entrada/salida• El gestor de E/S está formado por:

– Almacenamiento intermedio en memoria (caché)– Manejadores genéricos, uno por cada clase de

dispositivo– Gestión individualizada por dispositivo existente

• El SO gestiona lo siguiente de la E/S: – Traduce peticiones a formato de manejador– Copia memoria de/hacia el controlador– Controla transferencias por DMA

Page 25: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2525 /58/58

4. Gestión del almacenamiento secundario

• Dispositivos rápidos de E/S (discos)– Vector enorme de “bloques”– Almacenamiento no volátil– Usado como respaldo de memoria principal

• El SO gestiona lo siguiente del almacenamiento secundario: – Asignación y liberación de espacio– Planificación de accesos a los discos

Page 26: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2626 /58/58

5. Servidor de ficheros y directorios• Fichero:

– Conjunto de información lógicamente relacionada• Directorio:

– Fichero que contiene asociaciones entre nombres de fichero e identificadores internos del SO

• El SO gestiona lo siguiente de los ficheros:– Creación y borrado de ficheros y directorios– Primitivas para manipularlos– Proyectar los ficheros en memoria– Respaldar los ficheros en dispositivos no volátiles

Page 27: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2727 /58/58

6. Servidor de protección y seguridad I • Protección:

– Controlar el acceso a los recursos por parte de los procesos (de los usuarios)

• El servidor de protección debe:– Distinguir entre uso autorizado y no autorizado– Especificar los controles de acceso a llevar a cabo– Proporcionar métodos de control de acceso

Page 28: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2828 /58/58

6. Servidor de protección y seguridad II• Seguridad:

– Proteger al sistema de un uso indebido (fraudulento)

• El servidor de seguridad debe:– Autenticar a los usuarios– Evitar amenazas al sistema

(gusanos, virus, piratas, fuego, etc.)– Evitar intercepción de comunicaciones

(cifrado, canales seguros, etc.)

Page 29: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

2929 /58/58

7. Servidor de comunicaciones • Sistema en red o distribuido:

– Conjunto de procesadores que no comparten memoria– Conectados mediante una red de comunicación

• El servidor de comunicaciones debe:– Proporcionar mecanismos para comunicación local y

remota entre procesos– Para distintos tipos de redes

(Ethernet, ATM, telefónica, etc.)• Responsabilidad del SO:

– Resolución de nombres, enrutamiento, conexiones y control de flujo

Page 30: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3030 /58/58

8. Intérprete de mandatos • Programa cuya función es obtener los mandatos del

usuario y lanzar su ejecución• Hay dos tipos básicos:

– Intérprete de mandatos en línea en modo texto, como el shell de UNIX y LINUX

– Interfaz gráfico de usuario,como el de Windows y X-Windows

• Puede haber múltiples intérpretes de mandatos sobre el mismo SO– La visión del mismo SO cambia según el usuario

(POSIX sobre Windows NT o Win32 sobre LINUX)

Page 31: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3131 /58/58

9. Programas de sistema • Proporcionan un entorno adecuado para el desarrollo y

ejecución de programas• Son la visión del SO que tienen muchos usuarios, y no

la de las llamadas al sistema• Categorías:

– Manipulación de ficheros: copia, mover, ...– Información de estado: monitores, ...– Programación: compiladores, depuradores, …– Carga y ejecución: cargador, …– Comunicaciones: telnet, ftp, …– Aplicaciones: servidores BD, navegadores, ...

Page 32: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3232 /58/58

2. LLAMADAS AL SISTEMA

Page 33: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3333 /58/58

Llamadas al sistema• Interfaz entre aplicaciones y SO

– Con un trap o interrupción sw– Acceso como función en los lenguajes (C, …)

• Paso de parámetros:– En registros– En memoria, se pasa la dirección en un registro– En la pila y dejar que el SO los extraiga

• El SO se define por sus llamadas al sistema:– Estándar POSIX en UNIX y LINUX– Win32 en Windows NT

Page 34: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3434 /58/58

Paso de llamadas al sistema

Programa deusuario 1

llamada al sistema

Programa deusuario n Se ejecuta

en modoNO privilegiado

Se ejecutaen modoPRIVILEGIADO

...

Tablade RTI

trap

Control vuelveal programade usuario 1

rutina de

servicio

Procesamientode la interrupción

Page 35: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3535 /58/58

3. ESTRUCTURA DE UN SO

Page 36: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3636 /58/58

Sistemas monolíticos I• Núcleo:

– Todo entre las llamadas al sistema y el hardware– No dividido en módulos– Interfaces y niveles de funcionalidad no separados

• Ej: Monitor o ejecutivo (MS-DOS)– Escritos para funcionalidad específica y gestionar

hardware reducido– Monoproceso

Page 37: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3737 /58/58

Sistemas monolíticos II

Intérpretede mandatos

Programasde sistema

Llamadas al sistemaPOSIX Win32

Núcleo

ServidoresFicheros Memoria Protección Comunicaciones

ManejadoresTeclado Ratón Disco

Programas de usuario

Page 38: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3838 /58/58

Sistemas modulares I• Núcleo:

– Dividido en módulos con funcionalidad e interfaces claramente definidos

– Modular y estructurado– Se pueden sustituir componentes por otros con el

mismo interfaz(manejadores, sistemas de ficheros, ...)

– Un único trap, el proceso existe en dos modos• Ej: UNIX, LINUX

• Muchas funcionalidades• Multiproceso y multiusuario

Page 39: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

3939 /58/58

Sistemas modulares II

Núcleo

Intérpretede mandatos

Programasde sistema

Llamadas al sistemaPOSIX Win32

Programas de usuario

ManejadoresTeclado Ratón Disco

ServidoresFicheros Memoria Protección Comunicaciones

Page 40: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4040 /58/58

Sistemas por capas• Núcleo:

– Dividido en múltiples niveles, capas de una cebolla– El más alto la interfaz de llamadas– Cada nivel usa únicamente servicios del inferior y da

servicio al superior– Comunicación entre capas vía traps

• Ej: THE, Multics• Problema:

– Una llamada puede necesitar varios niveles de traps

Page 41: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4141 /58/58

Sistemas con micronúcleo• Núcleo:

– Reducido a las funcionalidades mínimas imprescindibles– Se sacan fuera del núcleo los demás servicios– Comunicación vía paso de mensajes

• Servidores:– Hilos de ejecución independiente– Los más altos ofrecen la interfaz de llamadas– Los más bajos gestionan el hardware

• Problema:– Una llamada puede necesitar muchos mensajes

• Ventaja:– Piezas separables, paso a SO Distribuido

• Ej: MINIX, Mach (Windows-NT)

Page 42: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4242 /58/58

4. MAQUINAS VIRTUALES

Page 43: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4343 /58/58

Máquinas virtuales I • Una MV crea una copia idéntica del hardware

– Procesador con su propia memoria y E/S– Sobre una MV se puede ejecutar cualquier SO– Sobre el mismo computador varios SSOO a la vez

• El Monitor de MVs ejecuta sobre el HW real ¿Cómo se hace?– Planificación UCP para MV multiproceso– Spooling y sistema ficheros multiplexación E/S– MV del operador control del sistema

• Ventajas:– Protección sencilla, muy modular, bueno para investigación y desarrollo

(SO distribuido)

• Inconvenientes:– Difícil compartir recursos– Difícil implementar duplicados exactos del HW

• Usado para emular SSOO sobre otros• Ej. VM-370, MS-DOS en Windows, VMware

Page 44: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4444 /58/58

Máquinas virtuales II

Hardware desnudo

Monitor de máquinas virtuales

CMS MS-DOS OS/2

Llamadasal sistema

Instruccionesde E/S trap

trap

370 virtual

Page 45: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4545 /58/58

DISEÑO E IMPLEMENTACION.

Page 46: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4646 /58/58

Aspectos de Diseño e Implem.• Objetivos de diseño• Implementación• Arranque del sistema

Page 47: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4747 /58/58

Objetivos de diseño de un SO • Para el usuario:

– Fácil de usar, fiable, seguro, potente y sencillo• Internamente:

– Fácil de implementar y mantener– Flexible, fiable, eficiente y estar libre de errores

• Diferenciar claramente entre:– Mecanismos: qué cosas se pueden hacer– Políticas: criterio para decidir qué hacer– Separarlos es importante para poder afinar bien

los sistemas

Page 48: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4848 /58/58

Implementación del sistema • Tradicionalmente: ensamblador• Actualmente: C y ensamblador• Uso lenguaje alto nivel:

– Desarrollo más rápido– Más fácil de comprender y depurar– Más fácil de transportar de un hardware a otro

(Ej. UNIX, Linux, Windows-NT)• Base:

– HAL (Hardware Abstraction Layer)– Oculta los detalles específicos de la arquitectura– Proporciona una interfaz de alto nivel

Page 49: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

4949 /58/58

Arranque del sistema1. Cargador ROM

– Carga y ejecuta el MRB

2. Master Record Boot (sector de arranque)– Carga y ejecuta el ejecutable del SO

3. Ejecutable del SO– Inicializa el núcleo– Arranca e inicializa los manejadores de los dispositivos existentes– Crea el primer proceso (PID==1) init.

4. Proceso init– Ejecuta scripts del nivel (rc.#)– Se lanzan los servidores– Sigue el guión inittab– Crea un proceso login por terminal

5. Proceso login– Autentifica el acceso de usuarios al sistema– Crea un shell (intérprete de mandatos)

Page 50: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

5050 /58/58

BIBLIOGRAFIA

1. Sistemas Operativos, 2da Edición (1997) William Stallings, Prentice Hall España

2. Sistemas Operativos, conceptos fundamentales , 3ra. Edición (1994) A. Silberschatz, J. Peterson, P. Galvin, Addison-Wesley Publishing Company USA

3. Sistemas Operativos, 2da Edición (1993), H. M. Deitel, Addison-Wesley Publishing Company USA

Page 51: 1/58 Introducción a los Sistemas Operativos SISTEMAS OPERATIVOS.

5151 /58/58

PREGUNTAS