Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porAlberto Toro Soler Modificado hace 8 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.