La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Tema 2: Fundamentos Sistemas Operativos. 22 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna.

Presentaciones similares


Presentación del tema: "1 Tema 2: Fundamentos Sistemas Operativos. 22 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna."— Transcripción de la presentación:

1 1 Tema 2: Fundamentos Sistemas Operativos

2 22 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna

3 33 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna

4 4 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

5 5 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

6 6 1.1 Conceptos básicos sobre A.O.  Organización básica de un ordenador: Tema 2: Fundamentos BUS procesador Adaptador Teclado Memoria Adaptador ratón Adaptador Pantalla DMA Controlador discos duros …

7 7 1.1 Conceptos básicos sobre A.O. Tema 2: Fundamentos La CPU. Modos de ejecución  Contiene un conjunto de registros de 8, 16, 32 o 64 bits  Estado de la CPU = valores de sus registros  Dos registros especiales: siguiente instrucción (IP, PC…) y estado (CCR)  Instrucciones: realización de operaciones aritméticas, lógicas o de movimiento de datos  Los operandos pueden ser registros o posiciones de memoria  Al menos dos modos de ejecución:  Supervisor: ejecución sin restricciones  Usuario: se restringen las instrucciones que puedan acceder a recursos del sistema  Si en modo usuario se intenta ejecutar instrucción privilegiada: excepción

8 8 1.1 Conceptos básicos sobre A.O. Tema 2: Fundamentos Interrupciones y excepciones  Interrupción = alteración en secuencia de ejecución de instrucciones. Causas:  Interrupción hardware  Excepción  Ejecución de instrucción de petición de interrupción (INT, TRAP)  Tratamiento: 1.CPU termina de ejecutar instrucción actual 2.Se almacena estado de CPU en la pila 3.CPU pasa a modo supervisor 4.Determina dirección SSI (normalmente: tabla de vectores) 5.Salta a SSI 6.Al retornar de SSI: se restaura estado (y modo de ejecución) 7.Se prosigue ejecución por siguiente instrucción

9 9 1.1 Conceptos básicos sobre A.O. Tema 2: Fundamentos Arranque del sistema  Arranque del sistema = secuencia de operaciones que tras el encendido llevan la máquina a un estado usable  Pasos: 1.Procesador realiza inicialización interna que termina transfiriendo control a una dirección determinada 2.En dicha dirección puede haber…  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…  Inicialización mínima: determina características y correcto funcionamiento del sistema  Determina dispositivo de carga del sistema operativo  Lee de dicho dispositivo el cargador software →

10 10 1.1 Conceptos básicos sobre A.O. Tema 2: Fundamentos Arranque del sistema (cont.) 4.Cargador software (pertenece a SO): carga el sistema operativo y le transfiere el control una vez cargado 5.Inicialización del sistema operativo:  Se crean estructuras de datos del sistema operativo  Comprobación detallada del sistema: detección de nuevos dispositivos, comprobación del sistema de archivos, etc.  Se cargan los componentes opcionales que procedan del SO  Se crea uno o más procesos de inicio de sesión  Tras iniciar sesión, se crea un proceso intérprete de comandos (texto o gráfico)

11 11 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

12 12 1.2 Procesos Tema 2: Fundamentos  Proceso = programa en ejecución  Si se ejecuta dos o más 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 más de un proceso en ejecución simultáneamente  Emplean mecanismos de protección para aislar procesos  Cada proceso tiene su propio espacio de memoria  Se proporciona mecanismos de comunicación y sincronización  Mecanismos de identificación de procesos (PID)  Un proceso puede crear otros procesos  Relación paterno/filial entre procesos  Procesos padre: atribuciones especiales sobre procesos hijos

13 13 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

14 14 1.3 Llamadas al sistema Tema 2: Fundamentos  Llamada al sistema: petición que hace un proceso al sistema operativo para obtener algún 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  API’s estandarizadas: POSIX (Portable Operating System Interface)  API’s propietarias: WIN32, WinFX  Formas de implementación:  Mediante rutinas  Mediante interrupciones

15 15 1.3 Llamadas al sistema Tema 2: Fundamentos Implementación mediante rutinas  Por cada llamada al sistema, una rutina que la implementa  Primera dificultad: ¿en qué direcciones están?  Soluciones: (Para simplificar: un único punto de entrada)  Punto de entrada en dirección fija ¡Los programas dependen de esta dirección!  Punto de entrada en dirección apuntada por una variable ¡Los programas dependen de la dirección de dicha variable!  Programas hacen referencia a punto de entrada mediante una variable conocida por montador de enlaces (Ej: CALL SYS) ¡Si cambia de versión de SO, hay que reenlazar los programas!  Segunda dificultad: ¿paso a modo supervisor?

16 16 1.3 Llamadas al sistema Tema 2: Fundamentos Implementación mediante interrupciones  Punto de entrada único al que se accede mediante una interrupción  Punto de entrada se coloca en cualquier dirección de memoria  Para efectuar llamada al sistema, se usa instrucción INT n  En el vector n de interrupción: dirección punto de entrada  Al realizar una llamada:  Se pasa a modo supervisor  Hardware determina dirección de punto de entrada  Código del SO se ejecuta en modo supervisor  Al retornar, se restaura modo de ejecución previo a llamada

17 17 1.3 Llamadas al sistema Tema 2: Fundamentos Implementación mediante interrupciones (cont.)  Ventajas:  Independencia de los programas respecto a ubicación de punto de entrada en memoria  Conmutación implícita a modo supervisor  Posibilidad de llamadas implícitas al sistema

18 18 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

19 19 1.4 Usuarios Tema 2: Fundamentos  Usuario = personas autorizadas a usar el sistema  Los sistemas multiprogramados mantienen asociación entre cada proceso y su usuario propietario  Es el usuario quien determina los derechos del proceso a acceder a recursos del sistema  Identificación de usuario: UID (normalmente numérico)  Posibilidad de definir grupos de usuario  Grupos identificados por GID (normalmente numérico)  Derechos del proceso: determinados por [UID, GID]

20 20 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

21 21 1.5 Archivos Tema 2: Fundamentos  Archivo = conjunto de información  Organización jerárquica basada en directorios y subdirectorios  Archivos frecuentemente residen en dispositivos  Identificación 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 protección del sistema de archivos

22 22 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

23 23 1.6 Intérpretes de órdenes Tema 2: Fundamentos  Intérprete de órdenes = programa interactivo que lee e interpreta comandos del usuario  Nombres alternativos: intérpretes de comandos, shells…  Algunos sistemas permiten usar distintos intérpretes de comandos  Ejemplo: UNIX  En otros casos está integrado en sistema operativo  Ejemplo: MS-DOS  Funciones soportadas más frecuentemente:  Ejecución de programas con redirección de entrada y/o salida  Ejecución en paralelo de procesos unidos por una tubería  Ejecución de secuencias de comandos (scripts)  …

24 24 1. Conceptos básicos Tema 2: Fundamentos 1.Conceptos básicos sobre arquitectura de ordenadores 2.Procesos 3.Llamadas al sistema 4.Usuarios 5.Archivos 6.Intérpretes de órdenes 7.Interfaces gráficas de usuario

25 25 GNOME Explorer (Windows XP) 1.7 Interfaces gráficas de usuario Tema 2: Fundamentos  Interfaz gráfica de usuario (GUI) = intérprete de órdenes en modo gráfico  Suelen ofrecer API que permite su uso por parte de programas de usuario Beryl Aero (Windows Vista)

26 26 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna

27 27 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

28 28 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

29 29 2.1 Modelo monolítico Tema 2: Fundamentos  Todo el sistema operativo comparte un único espacio de memoria Administración de Memoria Gestor de Disco rutina_auxiliar () { … } planificador () { … } rutina_servicio_interrupcion() { … } Tabla de procesos Administración de archivos Tabla de archivos

30 30 2.1 Modelo monolítico Tema 2: Fundamentos  Ventajas:  Eficiencia en tiempo de ejecución  Sistemas compactos  Inconvenientes:  Dificultad de depuración  Complejidad y dificultad mantenimiento

31 31 2.1 Modelo monolítico Tema 2: Fundamentos Estructura de un sistema monolítico Despachador Servicio 1Servicio 2Servicio 3Servicio N Rutina Aux. 1Rutina Aux. 2Rutina Aux. 3 SSI Int.1SSI Int.2 … … …

32 32 2.1 Modelo monolítico Tema 2: Fundamentos Funcionamiento del despachador 1.¿Llamada explícita al sistema o fallo de protección?  En caso de llamada explícita, 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(...)... void seleccionar(int ident_servicio) { fun_serv tabla_servicios[] = {servicio1, servicio2, servicio3…}; tabla_servicios[ident_servicio](…); } tabla_servicios servicio1() servicio2() servicio3() …

33 33 2.1 Modelo monolítico Tema 2: Fundamentos  Ejemplos de sistemas monolíticos:  Linux y la mayoría de Unix, a excepción de Solaris  Las versiones de windows basadas en MS-DOS

34 34 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

35 35 2.2 Modelo en estratos Tema 2: Fundamentos  Idea: colocando una capa de software sobre el hardware conseguimos una máquina ampliada  Podemos construir un sistema colocando sucesivas capas una encima de otra Hardware Capa 0: Planificación Capa 1: Gestión de la memoria Capa 2: Comunicación proceso-consola Capa 3: Gestión de entrada-salida Proceso de usuario

36 36 2.2 Modelo en estratos Tema 2: Fundamentos  Ventajas:  Gracias a la modularidad, sistema más fácil de depurar y mantener  Inconvenientes:  Al ser las capas cajas negras, se pierde la posibilidad de compartir código y datos entre distintas capas  Ejemplo de sistemas en estratos:  Multics  OS/2

37 37 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

38 38 2.3 Modelo micronúcleo Tema 2: Fundamentos  Parte más compleja de un sistema operativo: el núcleo  Idea: hagamos un núcleo tan simple como sea posible  Saquemos fuera de él toda la funcionalidad posible  Funcionalidad sacada del núcleo: se implementa mediante procesos externos  Núcleo mínimo:  Multiprogramación  Comunicación entre procesos  Atención de interrupciones Hardware Micronúcleo Administrador Archivos Administrador Memoria Gestor de Disco Proceso de Usuario …

39 39 2.3 Modelo micronúcleo Tema 2: Fundamentos  Ventajas:  Facilidad de depuración  Robustez  Flexibilidad  Fácil adaptación a sistemas distribuidos  Inconvenientes:  Sistemas más lentos  Requieren más memoria

40 40 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

41 41 2.4 Máquinas virtuales Tema 2: Fundamentos  Colocando una capa de software sobre el hardware obtenemos una máquina ampliada con interfaz de más alto nivel  Idea:  ¿Por qué una?  ¿Por qué de más alto nivel? Hardware Monitor de máquinas virtuales Hardware (1)Hardware (2)Hardware (n) Sistema Operativo 1 Sistema Operativo 2 Sistema Operativo n … …

42 42 2.4 Máquinas virtuales Tema 2: Fundamentos  Monitor de máquinas virtuales…  Reparte recursos (memoria, disco)  Simula dispositivos e interrupciones  En particular: simula procesador Reparte tiempo de procesador entre las máquinas virtuales Simula los cambios de modo de ejecución Hardware Monitor de máquinas virtuales Hardware (1)Hardware (2)Hardware (n) Sistema Operativo 1 Sistema Operativo 2 Sistema Operativo n … … Proceso de Usuario OUT DX, AL IN EAX,DX OUT DX,AL

43 43 2.4 Máquinas virtuales Tema 2: Fundamentos  Aplicaciones de virtualización  Ejecución simultánea de varios SO en una misma máquina  Explotación de Mainframes: múltiples máquinas adaptadas cada una a las necesidades de usuario (escalabilidad)  Depurado de sistemas operativos  …  Téngase en cuenta…  Estamos dividiendo la potencia de la máquina  Monitor introduce sobrecarga Suma de potencia de máquinas menor que la de la máquina real

44 44 2.4 Máquinas virtuales Tema 2: Fundamentos Algunos virtualizadores  z/VM (http://www.vm.ibm.com)http://www.vm.ibm.com  VMWare (http://www.vmware.com)http://www.vmware.com  Virtual PC / Virtual Server (http://www.microsoft.com/windows/products/winfamily/v irtualpc/default.mspx)http://www.microsoft.com/windows/products/winfamily/v irtualpc/default.mspx  BOCHS (http://bochs.sourceforge.net/)http://bochs.sourceforge.net/  QEMU (http://fabrice.bellard.free.fr/qemu/)http://fabrice.bellard.free.fr/qemu/  Emulador de procesador  Plex86 (http://plex86.sourceforge.net/)http://plex86.sourceforge.net/  Lightweight Virtual Machine diseñada sólo para ejecutar Linux  Xen (http://www.cl.cam.ac.uk/research/srg/netos/xen/)http://www.cl.cam.ac.uk/research/srg/netos/xen/  Paravirtualizador

45 45 2. Modelos de diseño Tema 2: Fundamentos 1.Modelo monolítico 2.Modelo en estratos 3.Modelo micronúcleo 4.Máquinas virtuales 5.Diseño orientado a objetos

46 46 2.5 Diseño orientado a objetos Tema 2: Fundamentos  No es un modelo de diseño en sí mismo  Consecuencia aplicación al desarrollo de un SO de los métodos de análisis y diseño orientado a objetos  Un sistema operativo orientado a objetos puede desarrollarse con cualquier organización  Recursos en el sistema: se consideran objetos  Operaciones aplicables: depende de tipo de objetos

47 47 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna

48 48 3. Ejemplos de organización interna Tema 2: Fundamentos 1.Linux 2.Minix 3.Windows 2000

49 49 3. Ejemplos de organización interna Tema 2: Fundamentos 1.Linux 2.Minix 3.Windows 2000

50 50 3.1 Linux Tema 2: Fundamentos  Al igual que demás sistemas Unix, consta de:  Núcleo  Librerías del sistema  Utilidades del sistema Núcleo Bibliotecas del sistema Utilidades del Sistema Procesos de usuario

51 51 3.1 Linux Tema 2: Fundamentos  Núcleo monolítico  Problema: dificultad de mantenimiento  ¡Muchas personas trabajan en núcleo de Linux!  Solución: módulos cargables  Enlace dinámico  Módulos apilables  El núcleo gestiona dependencias entre módulos  Tiene en cuenta dichas dependencia al cargar/descargar  Esto facilita compartir código entre componentes de manera ordenada A B C D E

52 52 3.1 Linux Tema 2: Fundamentos  Se suelen cargar como módulos  Gestores de dispositivos  Sistemas de archivos  …  Procesos de usuario pueden cargar/descargar módulos:  insprobe: carga un módulo en el núcleo  rmmod: elimina un módulo del núcleo  modprobe: gestión de módulos Linux Kernel Development, 2ª Edición Robert Love Novel Press Linux Kernel Development, 2ª Edición Robert Love Novel Press

53 53 3. Ejemplos de organización interna Tema 2: Fundamentos 1.Linux 2.Minix 3.Windows 2000

54 54 3.2 Minix Tema 2: Fundamentos  Organización micronúcleo pura  Organización de Minix 3:  En modo supervisor:  Todo lo demás en modo usuario Micronúcleo Tarea del reloj Tarea del sistema Tarea de disco Tarea de terminales Tarea de ethernet … Administrador de archivos Administrador de memoria Administrador de red … init proceso 1 de usuario … Operating Systems Design and Implementation, 3ª Edición Andrew S. Tanenbaum, Albert S. Woodhull-Amherst Prentice Hall Operating Systems Design and Implementation, 3ª Edición Andrew S. Tanenbaum, Albert S. Woodhull-Amherst Prentice Hall

55 55 3. Ejemplos de organización interna Tema 2: Fundamentos 1.Linux 2.Minix 3.Windows 2000

56 56 3.3 Windows 2000 Tema 2: Fundamentos  Combina modelos micronúcleo y monolítico Procesos de Servicios Aplicaciones de usuario Librerías del sistema (DLL’s) Subsistemas de entorno Hardware Abstraction Layer (HAL) Kernel Gestores de Dispositivos Executive Interfaz Gráfica de Usuario Modo usuario Modo núcleo Inside Windows 2000 David A. Solomon, Mark E. Russinovich Microsoft Press Inside Windows 2000 David A. Solomon, Mark E. Russinovich Microsoft Press

57 57


Descargar ppt "1 Tema 2: Fundamentos Sistemas Operativos. 22 Tema 2: Fundamentos Índice: 1.Conceptos básicos 2.Modelos de diseño 3.Ejemplos de organización interna."

Presentaciones similares


Anuncios Google