1 / 25

Estructura del sistema operativo

Estructura del sistema operativo. Rina Arauz. Introducción. En el tema anterior se dio una visión desde el punto de vista funcional del sistema operativo ¿Qué hace? En este tema lo analizaremos desde el punto de vista estructural ¿Cómo lo hace? Objetivo de la estructuración:

rollin
Télécharger la présentation

Estructura del sistema operativo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Estructura del sistema operativo Rina Arauz

  2. Introducción • En el tema anterior se dio una visión desde el punto de vista funcional del sistema operativo • ¿Qué hace? • En este tema lo analizaremos desde el punto de vista estructural • ¿Cómo lo hace? • Objetivo de la estructuración: • Buscar una organización interna que facilite la comprensión, incremente la portabilidad, extensión y favorezca el mantenimiento

  3. El sistema operativo debe ser seguro, estable y con un alto rendimiento. • En un sistema multiprogramado los recursos se comparten y la cpu se conmuta entre los procesos en estado de listo. Un sistema operativo bien diseñado debe evitar que una operación incorrecta por parte de un proceso afecte al resto de procesos en el sistema. • El diseñador de sistemas operativos solicita al arquitecto de computadores: • Modo dual de ejecución de instrucciones • Instrucciones normales e instrucciones privilegiadas • Mecanismos para pasar a modo protegido • Interrupciones y llamadas al sistema • Mecanismos de protección de: • Memoria • E/S (Dispositivos) • Procesador

  4. Modo dual de ejecución de las instrucciones: • Para asegurar una operación adecuada, se debe proteger: al sistema operativo, a todos los otros programas y a los datos; de cualquier programa que esté funcionando de forma incorrecta. • La protección es necesaria para cualquier recurso compartido. El enfoque que asumen muchos SO es proporcionar un soporte HW que permita diferenciar entre cada modo de ejecución. • Se requieren 2 modos distintos de operación: modo usuario y modo supervisor. • Se adiciona al hardware un bit de modo para indicar el modo actual: Monitor (0) o modo usuario (1).

  5. Modo dual de ejecución de las instrucciones: • Modo supervisor –> Ejecución realizada por parte del sistema operativo También llamado modo sistema. Ejecuta instrucciones privilegiadas(cuya ejecución afecta directamente los recursos de la máquina y están asociada a la protección E/S, la memoria el procesador). • Modo de usuario –-> Ejecución de parte del usuario Se ejecutan instrucciones normales (no privilegiadas, aquellas que su ejecución no afecta los recursos de la máquina y pueden ser empleadas tanto por los procesos del sistema operativo como por los procesos de usuario).

  6. Llamadas al sistema operativo • Son las llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO. • Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el S.O. • Cada SO implementa un conjunto propio de llamadas al sistema. • Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones.

  7. Mecanismos para pasar a modo protegido • Solo el sistema accede directamente a los recursos del sistema ¿Cómo pasar a modo protegido para acceder a los recursos necesarios (dispositivos de E/S, etc)? • A través de las INTERRUPCIONES y SVC, un programa de usuario conmuta del modo usuario al modo sistema (modo protegido). • Las aplicaciones que se ejecutan en modo usuario necesitan pasar a modo supervisor cuando pretenden utilizar alguno de los recursos protegidos y para ello realizan las llamadas a las funciones del kernel (svc). • El codigo de las SVC es codigo del sistema y por lo tanto tambien se ejecuta en modo sistema(modo protegido).

  8. Mecanismos de protección de: • E/S: Para evitar el libre acceso a los registros de control de los dispositivos ->Todas las instrucciones de E/S son privilegiadas. • Memoria:Con el fin de proteger la memoria asignada a cada proceso, se agregan dos registros que determinan el rango de las direcciones validas que un programa puede acceder: • Registro Base –> Contiene la dirección legal física más pequeña. • Registro Limite –> Contiene el tamaño. • CPU: Para evitar que un proceso monopolice el procesador ->Temporizador – Interrumpe al computador después de un periodo especifico para garantizar que el SO mantenga el control.

  9. Enfoques de diseño • A grandes rasgos cabe considerar dos enfoques de diseño: • Enfoque monitor monolítico • Enfoque micronúcleo • En el primero, toda la funcionalidad del SO se incluye se incluye en el núcleo • Ejemplo: MS-DOS, Windows XP, Linux • En el segundo, parte de esa funcionalidad es llevada a cabo por procesos de sistema que se sirven de la funcionalidad mínima proporcionada por un micronúcleo • Ejemplo: Windows 2000

  10. Monitor monolítico Proceso de usuario Proceso de usuario Proceso de usuario Procesos de usuario SVC Despertar Intérprete de la SVC Desbloquear Monitor Petición de E/S Proceso de la interrupción Comienzo de la E/S Interrupción Dispositivos

  11. Estructura de UNIX Bibliotecas Programas de usuario Trap Nivel de usuario Nivel kernel Interfaz de llamadas al sistema Subsistema Subsistema de Subsistema control de procesos de archivos de E/S Manejo de memoria Buffer caché IPC Bloque Carácter Planificador Drivers Control hardware Nivel kernel Nivel hardware HARDWARE

  12. Enfoque micronúcleo • Este método estructura al SO removiendo todos los componentes no esenciales del kernel, e implementándolos como programas del sistema y de nivel de usuario. • La función principal del micronucleo es proporcionar un modulo de comunicaciones entre el programa cliente y los diversos servicios que también están ejecutándose en el espacio de usuario, mediante el paso de mensajes. • Ventaja: • Si un servicio falla el resto del SO permanece intacto.

  13. Micronúcleo Proceso de usuario Proceso de usuario Proceso de usuario Proceso de usuario Devolver los datos Inicio de la E/S Proceso gestionador de dispositivo Dispositivo Lectura de disco Interrupción Despertar Determinación del proceso que solicitó la E/S Proceso de la interrupción Micronúcleo

  14. Estructura de W2K Procesos de sistema Servicios Aplicaciones Subsistemas POSIX Controlador de servicios Replicador Alertador OS2 WinLogon RPC Aplicaciones de usuario Manejador de sesiones DLLs Registrador de eventos Win32 DLLs DLLs Hilos del sistema NTDLL.DLL API del núcleo Manejador de E/S Sistema de archivos Manejador de cache PnP Control de alimentación Seguridad Memoria virtual Procesos e hilos Win32 GDI NtosKrnl.exe Manejador de objetos Manejadores de dispositivo Kernel HAL HARDWARE

  15. Monitor monolítico Micronúcleo Comparativa • Todo el SO se ejecuta en modo supervisor • Sólo el núcleo se ejecuta en modo supervisor • El SO es interrumpible • El SO es ininterrumpible • Mayor rendimiento • Menor rendimiento debido a la sobrecarga de comunicaciones • Difícil de modificar en tiempo de ejecución • Fácil de modificar en tiempo de ejecución • Menos adaptable • Más adaptable

  16. Diseño por capas • El diseño por capas lleva asociada una jerarquización que permite disminuir la complejidad observable de un sistema • Concepto de capa: conjunto de funciones claramente definidas hacia un objetivo común Entidad N Capa N Servicios Entidad N-1 Entidad N-1 Capa N-1

  17. Ventajas del empleo de capas • Las estructuras internas y algoritmos de una capa no son visibles a las demás • El sistema puede evolucionar fácilmente. Lo único que hay que mantener son las interfaces • Pueden existir realizaciones alternativas llevadas a cabo por diferentes grupos de trabajo • Algunas capas pueden ser transparentes si sus servicios no son necesarios • Cada capa se codifica y prueba de modo independiente. Esto es muy importante en el desarrollo del software • Desventaja: Poca eficiencia (por ejemplo cuando un proceso de usuario hace una llamada, toma mas tiempo, porque debe pasar por cada una de las capas).

  18. Niveles clásicos de un SO

  19. Niveles clásicos de un SO NIVEL 1 Nivel inferior de gestión del procesador • Objetivo: • Compartir la CPU entre procesos • Funciones: • Sincronización entre procesos • Conmutación de la CPU • Gestión de interrupciones

  20. Niveles clásicos de un SO NIVEL 2 Gestión de memoria • Objetivo: • Repartir la memoria entre procesos • Funciones: • Asignación y liberación de memoria • Control violación de acceso

  21. Niveles clásicos de un SO NIVEL 3 Nivel superior de gestión de procesos • Objetivo: • Gestión de procesos • Funciones: • Creación y destrucción de procesos • Intercambio de mensajes entre procesos • Detención y arranque de procesos

  22. Niveles clásicos de un SO NIVEL 4 Nivel de gestión de dispositivos • Objetivo: • Realizar la gestión de las E/S en función de los dispositivos existentes • Funciones: • Creación de procesos de E/S • Asignación y liberación de dispositivos de E/S • Planificación de la E/S

  23. Niveles clásicos de un SO NIVEL 5 Nivel de gestión de la información • Objetivo: • Gestionar el espacio de nombres lógicos y la protección de la información. • Funciones: • Creación y destrucción de archivos y directorios • Apertura y cierre de archivos • Lectura y escritura de archivos • Protección de acceso

More Related