Anda di halaman 1dari 57

Sistemas Operativos

Tema 2: Fundamentos

ndice:
Tema 2: Fundamentos

1. Conceptos bsicos

2. Modelos de diseo
3. Ejemplos de organizacin interna

ndice:
Tema 2: Fundamentos

1. Conceptos bsicos

2. Modelos de diseo
3. Ejemplos de organizacin interna

1. Conceptos bsicos
1. Conceptos bsicos sobre arquitectura de ordenadores
Tema 2: Fundamentos

2. Procesos

3. Llamadas al sistema
4. Usuarios 5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario
4

1. Conceptos bsicos
1. Conceptos bsicos sobre arquitectura de ordenadores
Tema 2: Fundamentos

2. Procesos

3. Llamadas al sistema
4. Usuarios 5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario
5

1.1 Conceptos bsicos sobre A.O.


Organizacin bsica de un ordenador:
Tema 2: Fundamentos

procesador

Memoria

Adaptador Teclado

Adaptador ratn

Adaptador Pantalla

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
Tema 2: Fundamentos

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

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)

Tema 2: Fundamentos

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

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
Si sistema operativo en ROM: el sistema operativo (ir a paso 5) Si sistema operativo no en ROM: el cargador hardware

Tema 2: Fundamentos

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.)
Tema 2: Fundamentos

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)

10

1. Conceptos bsicos
1. Conceptos bsicos sobre arquitectura de ordenadores
Tema 2: Fundamentos

2. Procesos

3. Llamadas al sistema
4. Usuarios 5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario
11

1.2 Procesos
Proceso = programa en ejecucin
Tema 2: Fundamentos

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


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
12

1. Conceptos bsicos
1. Conceptos bsicos sobre arquitectura de ordenadores
Tema 2: Fundamentos

2. Procesos

3. Llamadas al sistema
4. Usuarios 5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario
13

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
14

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!

Tema 2: Fundamentos

Punto de entrada en direccin apuntada por una variable


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?


15

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

Tema 2: Fundamentos

Al realizar una llamada:


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
16

1.3 Llamadas al sistema


Implementacin mediante interrupciones (cont.) Ventajas:
Tema 2: Fundamentos

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

17

1. Conceptos bsicos
1. Conceptos bsicos sobre arquitectura de ordenadores
Tema 2: Fundamentos

2. Procesos

3. Llamadas al sistema
4. Usuarios 5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario
18

1.4 Usuarios
Usuario = personas autorizadas a usar el sistema
Tema 2: Fundamentos

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)

Posibilidad de definir grupos de usuario


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

1. Conceptos bsicos
1. Conceptos bsicos sobre arquitectura de ordenadores
Tema 2: Fundamentos

2. Procesos

3. Llamadas al sistema
4. Usuarios 5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario
20

1.5 Archivos
Archivo = conjunto de informacin
Tema 2: Fundamentos

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.

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

21

1. Conceptos bsicos
1. Conceptos bsicos sobre arquitectura de ordenadores
Tema 2: Fundamentos

2. Procesos

3. Llamadas al sistema
4. Usuarios 5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario
22

1.6 Intrpretes de rdenes


Intrprete de rdenes = programa interactivo que lee e interpreta comandos del usuario
Tema 2: Fundamentos

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

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)
23

1. Conceptos bsicos
1. Conceptos bsicos sobre arquitectura de ordenadores
Tema 2: Fundamentos

2. Procesos

3. Llamadas al sistema
4. Usuarios 5. Archivos 6. Intrpretes de rdenes 7. Interfaces grficas de usuario
24

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


25

ndice:
Tema 2: Fundamentos

1. Conceptos bsicos

2. Modelos de diseo
3. Ejemplos de organizacin interna

26

2. Modelos de diseo
1. Modelo monoltico
Tema 2: Fundamentos

2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales

5. Diseo orientado a objetos

27

2. Modelos de diseo
1. Modelo monoltico
Tema 2: Fundamentos

2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales

5. Diseo orientado a objetos

28

2.1 Modelo monoltico


Todo el sistema operativo comparte un nico espacio de memoria
Tema 2: Fundamentos rutina_servicio_interrupcion() { } planificador () { }

Administracin de Memoria

Gestor de Disco

rutina_auxiliar () { Administracin de archivos }

29

2.1 Modelo monoltico


Ventajas:
Tema 2: Fundamentos

Eficiencia en tiempo de ejecucin Sistemas compactos

Inconvenientes:
Dificultad de depuracin Complejidad y dificultad mantenimiento

30

2.1 Modelo monoltico


Estructura de un sistema monoltico
Tema 2: Fundamentos Despachador

Servicio 1

Servicio 2

Servicio 3

Servicio N

Rutina Aux. 1

Rutina Aux. 2

Rutina Aux. 3

SSI Int.1

SSI Int.2

31

2.1 Modelo monoltico


Funcionamiento del despachador 1. Llamada explcita al sistema o fallo de proteccin?
Tema 2: Fundamentos

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(...) ...

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

2.1 Modelo monoltico


Ejemplos de sistemas monolticos:
Tema 2: Fundamentos

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

33

2. Modelos de diseo
1. Modelo monoltico
Tema 2: Fundamentos

2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales

5. Diseo orientado a objetos

34

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 Capa 2: Comunicacin proceso-consola Capa 1: Gestin de la memoria Capa 0: Planificacin

Tema 2: Fundamentos

Hardware
35

2.2 Modelo en estratos


Ventajas:
Tema 2: Fundamentos

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:


Multics OS/2

36

2. Modelos de diseo
1. Modelo monoltico
Tema 2: Fundamentos

2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales

5. Diseo orientado a objetos

37

2.3 Modelo microncleo


Parte ms compleja de un sistema operativo: el ncleo Idea: hagamos un ncleo tan simple como sea posible
Tema 2: Fundamentos

Saquemos fuera de l toda la funcionalidad posible Funcionalidad sacada del ncleo: se implementa mediante procesos externos

Ncleo mnimo:
Multiprogramacin Comunicacin entre procesos Atencin de interrupciones Administrador Administrador Archivos Memoria Gestor de Disco

Proceso de Usuario

Microncleo

Hardware

38

2.3 Modelo microncleo


Ventajas:
Tema 2: Fundamentos

Facilidad de depuracin Robustez Flexibilidad Fcil adaptacin a sistemas distribuidos

Inconvenientes:
Sistemas ms lentos Requieren ms memoria

39

2. Modelos de diseo
1. Modelo monoltico
Tema 2: Fundamentos

2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales

5. Diseo orientado a objetos

40

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

41

2.4 Mquinas virtuales


Monitor de mquinas virtuales
Tema 2: Fundamentos

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

Proceso de Usuario Sistema OUT DX, AL Operativo 1


IN EAX,DX

Sistema Operativo 2

Sistema Operativo n

Hardware (1)
OUT DX,AL

Hardware (2)

Hardware (n)

Monitor de mquinas virtuales

Hardware

42

2.4 Mquinas virtuales


Aplicaciones de virtualizacin
Tema 2: Fundamentos

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
Estamos dividiendo la potencia de la mquina Monitor introduce sobrecarga
Suma de potencia de mquinas menor que la de la mquina real

43

2.4 Mquinas virtuales


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

Tema 2: Fundamentos

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
44

2. Modelos de diseo
1. Modelo monoltico
Tema 2: Fundamentos

2. Modelo en estratos

3. Modelo microncleo
4. Mquinas virtuales

5. Diseo orientado a objetos

45

2.5 Diseo orientado a objetos


No es un modelo de diseo en s mismo
Tema 2: Fundamentos

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


Recursos en el sistema: se consideran objetos
Operaciones aplicables: depende de tipo de objetos

46

ndice:
Tema 2: Fundamentos

1. Conceptos bsicos

2. Modelos de diseo
3. Ejemplos de organizacin interna

47

3. Ejemplos de organizacin interna


1. Linux
Tema 2: Fundamentos

2. Minix

3. Windows 2000

48

3. Ejemplos de organizacin interna


1. Linux
Tema 2: Fundamentos

2. Minix

3. Windows 2000

49

3.1 Linux
Al igual que dems sistemas Unix, consta de:
Tema 2: Fundamentos

Ncleo Libreras del sistema Utilidades del sistema

Utilidades del Sistema

Procesos de usuario

Bibliotecas del sistema

Ncleo

50

3.1 Linux
Ncleo monoltico Problema: dificultad de mantenimiento
Tema 2: Fundamentos

Muchas personas trabajan en ncleo de Linux!

Solucin: mdulos cargables


Enlace dinmico Mdulos apilables

El ncleo gestiona dependencias entre mdulos


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

E
51

3.1 Linux
Se suelen cargar como mdulos
Tema 2: Fundamentos

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

Linux Kernel Development, 2 Edicin Robert Love Novel Press


52

3. Ejemplos de organizacin interna


1. Linux
Tema 2: Fundamentos

2. Minix

3. Windows 2000

53

3.2 Minix
Organizacin microncleo pura Organizacin de Minix 3:
Tema 2: Fundamentos

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

init


Tarea del sistema

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

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

Tarea del reloj

3. Ejemplos de organizacin interna


1. Linux
Tema 2: Fundamentos

2. Minix

3. Windows 2000

55

3.3 Windows 2000


Combina modelos microncleo y monoltico
Tema 2: Fundamentos

Subsistemas de entorno

Procesos de Servicios

Aplicaciones de usuario

Subsistemas de entorno

Libreras del sistema (DLLs)


Modo usuario Modo ncleo

Executive Kernel

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

Gestores de Dispositivos

Interfaz Grfica de Usuario

56

57

Anda mungkin juga menyukai