Anda di halaman 1dari 58

Sistemas Operativos

Tema 2: Fundamentos

ndice:
1. Conceptos bsicos

2. Modelos de diseo
Tema 2: Fundamentos

3. Ejemplos de organizacin interna

ndice:
1. Conceptos bsicos

2. Modelos de diseo
Tema 2: Fundamentos

3. Ejemplos de organizacin interna

1. Conceptos bsicos

1. Conceptos bsicos sobre arquitectura de ordenadores


2. Procesos

3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos

5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario

1. Conceptos bsicos

1. Conceptos bsicos sobre arquitectura de ordenadores


2. Procesos

3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos

5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario

1.1 Conceptos bsicos sobre A.O.

Organizacin bsica de un ordenador:

procesador

Memoria

Adaptador Teclado

Adaptador ratn

Adaptador Pantalla

Tema 2: Fundamentos

BUS

DMA

Controlador discos duros

1.1 Conceptos bsicos sobre A.O.

La CPU. Modos de ejecucin Contiene un conjunto de registros de 8, 16, 32 o 64 bits


Estado de la CPU = valores de sus registros Dos registros especiales: siguiente instruccin (IP, PC) y estado (CCR)

Instrucciones: realizacin de operaciones aritmticas, lgicas o de movimiento de datos


Los operandos pueden ser registros o posiciones de memoria
Tema 2: Fundamentos

Al menos dos modos de ejecucin:


Supervisor: ejecucin sin restricciones Usuario: se restringen las instrucciones que puedan acceder a recursos del sistema

Si en modo usuario se intenta ejecutar instruccin privilegiada: excepcin

1.1 Conceptos bsicos sobre A.O.

Interrupciones y excepciones Interrupcin = alteracin en secuencia de ejecucin de instrucciones. Causas:


Interrupcin hardware Excepcin Ejecucin de instruccin de peticin de interrupcin (INT, TRAP)

Tratamiento:
1. CPU termina de ejecutar instruccin actual 2. Se almacena estado de CPU en la pila 3. CPU pasa a modo supervisor 4. Determina direccin SSI (normalmente: tabla de vectores) 5. Salta a SSI 6. Al retornar de SSI: se restaura estado (y modo de ejecucin) 7. Se prosigue ejecucin por siguiente instruccin
Tema 2: Fundamentos

1.1 Conceptos bsicos sobre A.O.

Arranque del sistema Arranque del sistema = secuencia de operaciones que tras el encendido llevan la mquina a un estado usable Pasos:
1. Procesador realiza inicializacin interna que termina transfiriendo control a una direccin determinada 2. En dicha direccin puede haber
Tema 2: Fundamentos

Si sistema operativo en ROM: el sistema operativo (ir a paso 5) Si sistema operativo no en ROM: el cargador hardware

3. Cargador hardware: realiza


Inicializacin mnima: determina caractersticas y correcto funcionamiento del sistema Determina dispositivo de carga del sistema operativo Lee de dicho dispositivo el cargador software

1.1 Conceptos bsicos sobre A.O.

Arranque del sistema (cont.)


4. Cargador software (pertenece a SO): carga el sistema operativo y le transfiere el control una vez cargado 5. Inicializacin del sistema operativo:
Se crean estructuras de datos del sistema operativo Comprobacin detallada del sistema: deteccin de nuevos dispositivos, comprobacin del sistema de archivos, etc. Se cargan los componentes opcionales que procedan del SO Se crea uno o ms procesos de inicio de sesin Tras iniciar sesin, se crea un proceso intrprete de comandos (texto o grfico)

Tema 2: Fundamentos

1. Conceptos bsicos

1. Conceptos bsicos sobre arquitectura de ordenadores


2. Procesos

3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos

5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario

1.2 Procesos

Proceso = programa en ejecucin


Si se ejecuta dos o ms veces un mismo programa: procesos distintos Un proceso puede cambiar el programa (execve) y sigue siendo el mismo proceso

S.O. multiprogramado: aquel que permite ms de un proceso en ejecucin simultneamente


Tema 2: Fundamentos

Emplean mecanismos de proteccin para aislar procesos Cada proceso tiene su propio espacio de memoria Se proporciona mecanismos de comunicacin y sincronizacin Mecanismos de identificacin de procesos (PID)

Un proceso puede crear otros procesos


Relacin paterno/filial entre procesos Procesos padre: atribuciones especiales sobre procesos hijos

1. Conceptos bsicos

1. Conceptos bsicos sobre arquitectura de ordenadores


2. Procesos

3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos

5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario

1.3 Llamadas al sistema

Llamada al sistema: peticin que hace un proceso al sistema operativo para obtener algn tipo de servicio API (Aplication Programming Interface):
Interfaz que el sistema operativo presenta a los programas Compuesta por el conjunto de todas las llamadas al sistema soportadas APIs estandarizadas: POSIX (Portable Operating System Interface) APIs propietarias: WIN32, WinFX
Tema 2: Fundamentos

Formas de implementacin:
Mediante rutinas Mediante interrupciones

1.3 Llamadas al sistema

Implementacin mediante rutinas Por cada llamada al sistema, una rutina que la implementa Primera dificultad: en qu direcciones estn? Soluciones: (Para simplificar: un nico punto de entrada)
Punto de entrada en direccin fija
Los programas dependen de esta direccin!

Punto de entrada en direccin apuntada por una variable


Tema 2: Fundamentos

Los programas dependen de la direccin de dicha variable!

Programas hacen referencia a punto de entrada mediante una variable conocida por montador de enlaces (Ej: CALL SYS)
Si cambia de versin de SO, hay que reenlazar los programas!

Segunda dificultad: paso a modo supervisor?

1.3 Llamadas al sistema

Implementacin mediante interrupciones Punto de entrada nico al que se accede mediante una interrupcin
Punto de entrada se coloca en cualquier direccin de memoria Para efectuar llamada al sistema, se usa instruccin INT n En el vector n de interrupcin: direccin punto de entrada

Al realizar una llamada:


Tema 2: Fundamentos

Se pasa a modo supervisor Hardware determina direccin de punto de entrada Cdigo del SO se ejecuta en modo supervisor Al retornar, se restaura modo de ejecucin previo a llamada

1.3 Llamadas al sistema

Implementacin mediante interrupciones (cont.) Ventajas:


Independencia de los programas respecto a ubicacin de punto de entrada en memoria Conmutacin implcita a modo supervisor Posibilidad de llamadas implcitas al sistema

Tema 2: Fundamentos

1. Conceptos bsicos

1. Conceptos bsicos sobre arquitectura de ordenadores


2. Procesos

3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos

5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario

1.4 Usuarios

Usuario = personas autorizadas a usar el sistema Los sistemas multiprogramados mantienen asociacin entre cada proceso y su usuario propietario
Es el usuario quien determina los derechos del proceso a acceder a recursos del sistema

Identificacin de usuario: UID (normalmente numrico)


Tema 2: Fundamentos

Posibilidad de definir grupos de usuario


Grupos identificados por GID (normalmente numrico) Derechos del proceso: determinados por [UID, GID]

1. Conceptos bsicos

1. Conceptos bsicos sobre arquitectura de ordenadores


2. Procesos

3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos

5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario

1.5 Archivos

Archivo = conjunto de informacin Organizacin jerrquica basada en directorios y subdirectorios

Archivos frecuentemente residen en dispositivos


Identificacin de dispositivos: dependen de sistema
Letras de unidad: C:, D:, etc. Archivo especial: /def/fd0, /dev/hda, etc.

Tema 2: Fundamentos

En sistemas multiusuario se proporcionan mecanismos de proteccin del sistema de archivos

1. Conceptos bsicos

1. Conceptos bsicos sobre arquitectura de ordenadores


2. Procesos

3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos

5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario

1.6 Intrpretes de rdenes

Intrprete de rdenes = programa interactivo que lee e interpreta comandos del usuario
Nombres alternativos: intrpretes de comandos, shells

Algunos sistemas permiten usar distintos intrpretes de comandos


Ejemplo: UNIX

En otros casos est integrado en sistema operativo


Ejemplo: MS-DOS
Tema 2: Fundamentos

Funciones soportadas ms frecuentemente:


Ejecucin de programas con redireccin de entrada y/o salida Ejecucin en paralelo de procesos unidos por una tubera Ejecucin de secuencias de comandos (scripts)

1. Conceptos bsicos

1. Conceptos bsicos sobre arquitectura de ordenadores


2. Procesos

3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos

5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario

1.7 Interfaces grficas de usuario

Interfaz grfica de usuario (GUI) = intrprete de rdenes en modo grfico Suelen ofrecer API que permite su uso por parte de programas de usuario
Aero (Windows Vista) Beryl

Tema 2: Fundamentos

Explorer (Windows XP) GNOME

ndice:
1. Conceptos bsicos

2. Modelos de diseo
Tema 2: Fundamentos

3. Ejemplos de organizacin interna

26

2. Modelos de diseo

1. Modelo monoltico
2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos

5. Diseo orientado a objetos

2. Modelos de diseo

1. Modelo monoltico
2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos

5. Diseo orientado a objetos

2.1 Modelo monoltico

Todo el sistema operativo se encuentra en un nico espacio de memoria


rutina_servicio_interrupcion() { } planificador () { }

Administracin de Memoria

Gestor de Disco

Tema 2: Fundamentos

rutina_auxiliar () { Administracin de archivos }

2.1 Modelo monoltico

Ventajas:
Eficiencia en tiempo de ejecucin Eficiencia en ocupacin de memoria

Inconvenientes:
Dificultad de depuracin Complejidad y dificultad mantenimiento
Tema 2: Fundamentos

2.1 Modelo monoltico

Estructura de un sistema monoltico


Despachador

Servicio 1

Servicio 2

Servicio 3

Servicio N

Tema 2: Fundamentos

Rutina Aux. 1

Rutina Aux. 2

Rutina Aux. 3

SSI Int.2

SSI Int.1

2.1 Modelo monoltico

Funcionamiento del despachador 1. Llamada explcita al sistema o fallo de proteccin?


En caso de llamada explcita, comprobar validez de llamada

2. Seleccionar rutina de servicio e invocarla 3. Devolver el control


void seleccionar(int ident_servicio) { if (ident_servicio == IDENT1) servicio1(...) else if (ident_servicio == IDENT2) servicio2(...) else if (ident_servicio == IDENT3) servicio3(...) else if (ident_servicio == IDENT4) servicio4(...) ...

Tema 2: Fundamentos

voidtabla_servicios seleccionar(int ident_servicio) { servicio1() fun_serv tabla_servicios[] = {servicio1, servicio2() servicio2, servicio3}; servicio3() tabla_servicios[ident_servicio](); }

2.1 Modelo monoltico

Ejemplos de sistemas monolticos:


Linux y la mayora de Unix, a excepcin de Solaris Las versiones de windows basadas en MS-DOS

Tema 2: Fundamentos

2. Modelos de diseo

1. Modelo monoltico
2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos

5. Diseo orientado a objetos

2.2 Modelo en estratos

Idea: colocando una capa de software sobre el hardware conseguimos una mquina ampliada Podemos construir un sistema colocando sucesivas capas una encima de otra
Proceso de usuario Capa 3: Gestin de entrada-salida
Tema 2: Fundamentos

Capa 2: Comunicacin proceso-consola Capa 1: Gestin de la memoria Capa 0: Planificacin

Hardware

2.2 Modelo en estratos

Ventajas:
Gracias a la modularidad, sistema ms fcil de depurar y mantener

Inconvenientes:
Al ser las capas cajas negras, se pierde la posibilidad de compartir cdigo y datos entre distintas capas

Ejemplo de sistemas en estratos:


Tema 2: Fundamentos

Multics OS/2

2. Modelos de diseo

1. Modelo monoltico
2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos

5. Diseo orientado a objetos

2.3 Modelo microncleo

Parte ms compleja de un sistema operativo: el ncleo Idea: hagamos un ncleo tan simple como sea posible
Saquemos fuera de l toda la funcionalidad posible Funcionalidad sacada del ncleo: se implementa mediante procesos externos

Ncleo mnimo:
Tema 2: Fundamentos

Multiprogramacin Comunicacin entre procesos Atencin de interrupciones Administrador Administrador Gestor de Archivos Memoria Disco Microncleo

Proceso de Usuario

Hardware

2.3 Modelo microncleo

Ventajas:
Facilidad de depuracin Robustez Flexibilidad Fcil adaptacin a sistemas distribuidos

Inconvenientes:
Tema 2: Fundamentos

Sistemas ms lentos Requieren ms memoria

2. Modelos de diseo

1. Modelo monoltico
2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos

5. Diseo orientado a objetos

2.4 Mquinas virtuales

Colocando una capa de software sobre el hardware obtenemos una mquina ampliada con interfaz de ms alto nivel Idea:
Por qu una? Por qu de ms alto nivel?

Tema 2: Fundamentos

Sistema Operativo 1

Sistema Operativo 2

Sistema Operativo n

Hardware (1)

Hardware (2)

Hardware (n)

Monitor de mquinas virtuales

Hardware

2.4 Mquinas virtuales

Monitor de mquinas virtuales


Reparte recursos (memoria, disco) Simula dispositivos e interrupciones En particular: simula procesador
Reparte tiempo de procesador entre las mquinas virtuales Simula los cambios de modo de ejecucin

Tema 2: Fundamentos

Proceso de IN EAX,DX Usuario Sistema OUT DX, AL Operativo 1

Sistema Operativo 2

Sistema Operativo n

Hardware (1)
OUT DX,AL

Hardware (2)

Hardware (n)

Monitor de mquinas virtuales

Hardware

2.4 Mquinas virtuales

Aplicaciones de virtualizacin
Ejecucin simultnea de varios SO en una misma mquina Explotacin de Mainframes: mltiples mquinas adaptadas cada una a las necesidades de usuario (escalabilidad) Depurado de sistemas operativos

Tngase en cuenta
Tema 2: Fundamentos

Estamos dividiendo la potencia de la mquina Monitor introduce sobrecarga


Suma de potencia de mquinas menor que la de la mquina real

2.4 Mquinas virtuales

Tema 2: Fundamentos

Algunos virtualizadores z/VM (http://www.vm.ibm.com) VMWare (http://www.vmware.com) Virtual PC / Virtual Server (http://www.microsoft.com/windows/products/winfamily/v irtualpc/default.mspx) BOCHS (http://bochs.sourceforge.net/) QEMU (http://fabrice.bellard.free.fr/qemu/)
Emulador de procesador

Plex86 (http://plex86.sourceforge.net/)
Lightweight Virtual Machine diseada slo para ejecutar Linux

Xen (http://www.cl.cam.ac.uk/research/srg/netos/xen/)
Paravirtualizador

2. Modelos de diseo

1. Modelo monoltico
2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos

5. Diseo orientado a objetos

2.5 Diseo orientado a objetos

No es un modelo de diseo en s mismo Consecuencia aplicacin al desarrollo de un SO de los mtodos de anlisis y diseo orientado a objetos

Un sistema operativo orientado a objetos puede desarrollarse con cualquier organizacin


Tema 2: Fundamentos

Recursos en el sistema: se consideran objetos


Operaciones aplicables: depende de tipo de objetos

ndice:
1. Conceptos bsicos

2. Modelos de diseo
Tema 2: Fundamentos

3. Ejemplos de organizacin interna

47

3. Ejemplos de organizacin interna

1. Linux
2. Minix

3. Windows 2000

Tema 2: Fundamentos

3. Ejemplos de organizacin interna

1. Linux
2. Minix

3. Windows 2000

Tema 2: Fundamentos

3.1 Linux

Al igual que dems sistemas Unix, consta de:


Ncleo Libreras del sistema Utilidades del sistema

Utilidades del Sistema


Tema 2: Fundamentos

Procesos de usuario

Bibliotecas del sistema

Ncleo

3.1 Linux

Ncleo monoltico Problema: dificultad de mantenimiento


Muchas personas trabajan en ncleo de Linux!

Solucin: mdulos cargables


Enlace dinmico Mdulos apilables

El ncleo gestiona dependencias entre mdulos


Tema 2: Fundamentos

Tiene en cuenta dichas dependencias al cargar/descargar Esto facilita compartir cdigo entre componentes de manera ordenada

3.1 Linux

Se suelen cargar como mdulos


Gestores de dispositivos Sistemas de archivos

Procesos de usuario pueden cargar/descargar mdulos:


insprobe: carga un mdulo en el ncleo rmmod: elimina un mdulo del ncleo modprobe: gestin de mdulos

Tema 2: Fundamentos

Linux Kernel Development, 2 Edicin Robert Love Novel Press

3. Ejemplos de organizacin interna

1. Linux
2. Minix

3. Windows 2000

Tema 2: Fundamentos

3.2 Minix

Organizacin microncleo pura Organizacin de Minix 3:


En modo supervisor: Todo lo dems en modo usuario proceso 1 de usuario proceso 1 de usuario

init
Tema 2: Fundamentos

Administrador de Administrador de Administrador de archivos memoria red Tarea de Tarea de disco terminales Tarea de ethernet

Operating Systems Design and Implementation, 3 Edicin Microncleo Andrew S. Tanenbaum, Albert S. Woodhull-Amherst Prentice Hall

Tarea del Tarea del reloj sistema

3. Ejemplos de organizacin interna

1. Linux
2. Minix

3. Windows 2000

Tema 2: Fundamentos

3.3 Windows 2000

Combina modelos microncleo y monoltico


Procesos de Soporte del Sistema Procesos de Servicios Aplicaciones de usuario Subsistemas de entorno

Libreras del sistema (DLLs)


Modo usuario Modo ncleo Tema 2: Fundamentos

Executive Kernel

Inside Windows 2000 Hardware Abstraction Layer (HAL) David A. Solomon, Mark E. Russinovich Microsoft Press

Gestores de Dispositivos

Interfaz Grfica de Usuario

INSTALACION DE UN SISTEMA OPERTIVO.


Instalar un sistemas operativo cualesquiera e identificar sus componentes internos (software) tomando en cuenta el desarrollo de la sesin 02 , Que tipo de sistema operativo pertenece Cualquier sistema Operativo Menos Windows (monoltico).