1 / 15

Estructuras en Sistemas Operativos

Estructuras en Sistemas Operativos. DAISY KATERINE RODRÍGUEZ. Objetivos SO. Definir capa de software cuyos componentes maximicen: Confiabilidad Seguridad Extensibilidad Desempeño. Por qué es difícil escribir un SO. Complejidad Millones de líneas de código

Download Presentation

Estructuras en Sistemas Operativos

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. Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ

  2. Objetivos SO • Definir capa de software cuyos componentes maximicen: • Confiabilidad • Seguridad • Extensibilidad • Desempeño

  3. Por qué es difícil escribir un SO • Complejidad • Millones de líneas de código • Miles de desarrolladores y probadores • Ambiente de programación delicado • Se ejecuta sobre HW • Un error puede hacer que sistema se caiga dejando todos los usuarios sin servicio • Concurrencia e interrupciones • Restricciones de compatibilidad con versiones previas

  4. Componentes más importantes del SO • Procesos • Manejo de colas de estados, planificación, protección, comunicación y sincronización • Memoria • Manejo VM por proceso, protección • Almacenamiento secundario • Usado por Sistema de archivos y memoria virtual • Información persistente, comunicación con controlador de disco, protección • E/S • Incluyendo redes • Autentificación • Intérprete de comandos • Auditoria de uso de recursos de sistema • Tiempo, memoria, disco

  5. Estructura de SOs • No siempre claro como interactúan todos los módulos del SO Interprete de Comandos Servicios de informacion Auditoria Manejo de errores Sist Archivos Protección Adm Almacenamiento secundario Administración De Memoria Adm Procesos E/S

  6. Enfoque más simple-Monolítico • Una biblioteca grande • Cualquier función puede llamar a cualquier otra. Programas usuario Funcionalidad SO SO HW

  7. Diseño monolítico • Ventaja • Comunicación entre módulos mediante llamadas a procedimientos • Barato en tiempo, interfaz simple y homogénea • Desventajas • Cuando sistema crece se hace • Difícil de entender • Difícil de modificar • Difícil de mantener • Baja confiabilidad • No exite aislación entre componentes • Alternativas? • Encontrar manera de estructurar componentes para simplicar su diseño, implementación y mantención

  8. Estructura por niveles • Idea: Diseñar e implementar SO mediante un conjunto de niveles • Primer sistema de este tipo propuesto por DIJKSTRA con el sistem THE (1968) • Nivel 5: Adminitrador de tareas • Ejecuta programas de usuarios • Nivel 4: Manejadores de dispositivos • Maneja dispositivos y proporciona buffers • Nivel 3: Consola • Implementa consolas virtuales • Nivel 2: Administrador de Páginas • Implementa memoria virtual para cada proceso • Nivel 1: kernel • Implementa un procesador virtual para cada proceso • Nivel 0: hardware • Cada nivel puede ser probado y verificado independientemente

  9. Desventajas estructura por niveles • Estructura jerárquica es demasiado inflexible • Sistemas reales tienen ciclos de uso • Sistema de archivos requiere servicios de memoria virtual • Memoria virtual puede usar archivos para respaldos en discos • Bajo desempeño • Cada cruce entre niveles involucra una sobrecarga (overhead)

  10. Usos • En cierto grado se pueden definir algunos niveles • Un ejemplo en sistemas modernos • Separar rutinas específicas del HW del núcleo del SO • Proporciona portabilidad • Mejora entendimiento de sistema por la abstracción en cada nivel. Núcleo SO (sistema archivos, planificador, Llamadas a sistema) Abstracción HW Nivel (manejadores disp, Rutinas en assembly)

  11. Microkernels • Filosofía • Jerarquía estricta no es buena • Modularidad es buena • Diseño • Minimizar que va en el kernel • Organizar el resto del SO como procesos de nivel usuario • Ejemplo, Sist de Archivos como un servidor • Procesos se comunican mediante pasos de mensajes • Como en un sistema distribuido • Ejemplos • Hydra (1970s) • Mach (1985-1994)

  12. Ilustración SO Microkernel Modo usuario Firefox powerpoint Procesos usuarios apache Sistema de archivos red Procesos de sistema Paginación planificador hebras kernel Comunicación Control CPU Memoria virtual microkernel protección Hardware

  13. Ventajas/desventajas microkernels • Ventajas • Simplicidad • Kernel pequeño • Extensibilidad • Se puede agregar nueva funcionalidad en modo usuario • Confiabilidad • Servicios SO aislados en modo usuario • Desventajas • Bajo desempeño • Comunicación mediante mensajes no tan bueno como llamadas a sistema

  14. Estado del arte: Modulos kernel • Idea básica: usuarios pueden proporcionar módulos, los cuales se ejecutan directamente en el espacio de dirección del kernel. • También llamados Loadable Kernel Modules (LKM) • Son cargados después que kernel base está en ejecución • Ventajas • Buen desempeño • Provee extensibilidad a SO • Un módulo interesante en kvm Funciona en arquitecturas que soportan virtualización (Intel Dual Core es una de ellas) • Usuarios pueden ejecutar múltiples máquinas virtuales ejecutando linux o Windows. Cada máquina virtual tiene su propio hw virtualizado. • Desventajas • Módulos pueden comprometer seguridad y confiabilidad • Manejadores de dispositivo causan el 85% de las caidas en Windows 2000

  15. ACTIVIDAD N° 2 • Según la lectura del documento, qué diferencias y características encuentras entre un s.o monoprocesador y un s.o multiprocesador. • Explique la estructura por niveles del so • ¿Cuáles son las operaciones que se deben tener en cuenta en un so? • ¿Cuál es la estructura de un so? • Explique el kernel de los so.

More Related