1 / 24

Sistemas Operativos

Sistemas Operativos. Introducción Unidad II. Sergio Fuenlabrada Velázquez Edna Martha Miranda Chávez. Revisión Feb 2011. Sergio Fuenlabrada Velázquez. Evolución de la estructura de los Sistemas Operativos . Estructura del Sistema Operativo (SO). Modelo Monolítico o estructura simple

happy
Télécharger la présentation

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. Sistemas Operativos Introducción Unidad II Sergio Fuenlabrada Velázquez Edna Martha Miranda Chávez Revisión Feb 2011 Sergio Fuenlabrada Velázquez

  2. Evolución de la estructura de los Sistemas Operativos

  3. Estructura del Sistema Operativo (SO) • Modelo Monolítico o estructura simple • Modelo jerárquica, en estratos, modularidad o capas • Modelo en tiempo real • Modelo maquina virtual • Modelo servidor del cliente • Modelo orientado a objetos

  4. Programa de aplicación Programa residente del S.O. Manejadores de dispositivos del S.O. Manejadores de dispositivos del BIOS Estructura monolítico o simple El sistema operativo estaba conformado por un sólo programa el cual tenia subrutinas que eran llamadas por el modulo principal (kernel) Proceso lento Usuario Shell, comandos, compiladores, interpretes Monolítico Administradores, planificadores, manejadores E/S, kernel Hardware Controladores, manejadores de dispositivos

  5. Estructura Monolítico o simple • Los sistemas operativos monolíticos, cuentan con un núcleo (kernel) llamado monolítico, este es grande y complejo, engloba todos los servicios que proporciona el sistema operativo, la gestion de recursos, los servicios y manejo de dispositivos se encuentran integrados en un único programa. • Este tipo de sistemas operativos inicio siendo un programa sencillo llamado monitor, pero conforme la tecnología avanzaba, y los servicios requeridos aumentaban, éste se vuelve complejo, con miles de líneas de código. Lo que a su vez provoca una respuesta lenta al servicio solicitado. • Las modificaciones a este tipo de sistema operativo son complicadas por lo grande del código y cada modificación requiere la re-compilación del núcleo.

  6. Estructura Monolítico o simple • No exhibe una estructura, ya que es un enorme programa, El programa consta de una rutina principal llamada núcleo (en ingles kernel) y conjunto de procedimientos (o subrutinas). • Una llamada al sistema es interceptada por el núcleo y este a su vez llama a los procedimientos que requiera para dar servicio a dicha llamada. Para controlar multiples llamadas utilizaregistros, colas y pilas. • Los procedimientos o subrutinas son llamados para su ejecución por el núcleo o por otros procedimientos o rutinas siempre que se requieran

  7. Estructura Monolítico o simple Llamada al sistema • El programa del usuario captura al kernel • El kernel establece el servicio que se solicita. • El núcleo localiza y llama a un procedimiento que proporciona el servicio solicitado • El procedimiento efectúa el servicio • El control se devuelve al núcleo y este lo regresa al programa del usuario

  8. Estructura Jerárquica, por Estratos, modularidad o capas Micro-núcleo Los sistemas operativos con Micro-núcleo o microkernel cuentan con un núcleo pequeño, que descentraliza los servicios y manejo de fallos o errores. Todos las solicitudes de servicios provistos por el sistema operativo son recibidas por el núcleo, y este a su vez llama a los administradores o gestores para que efectúen el servicio solicitado. Como ventaja esta estructura presenta la facilidad para modificar al sistema operativo, ya que para añadir nuevas funcionalidades y servicios, sólo es necesario el recompilar el modulo específicos.

  9. Procedimiento central – micro-núcleo Procedimientos de servicio Procedimientos de uso general Estructura Jerárquica, por Estratos, modularidad o capas El sistema operativo esta dividido en partes, módulos, estratos o capas, cada parte se encarga de una tarea especifica. Jerarquía de estratos, cada uno construido arriba del que esta de bajo. Estrato Una generalización de este modelo es el modelo de anillos concéntricos. Los anillos internos tienen más privilegios que los anillos externos.

  10. Estructura Jerárquica, por Estratos, modularidad o capasEjemplo de un Sistema Operativo de 6 estratos: Estrato 7.- Programas del usuario Estrato 6.- Proceso operador del sistema (comunicación con el usuario y con el hardware -- estrato más interno del S.O.) Estrato 5.- Distribución del procesador y multiprogramación. Estrato 4.- Manejo de memoria Estrato 3.- Comunicación entre procesos Estrato 2.- Manejo de dispositivos E/S Estrato 1.- Proceso operador del sistema Estrato 0.- Hardware Secuencia

  11. Tiempo real • El sistema operativo de tiempo real (Real Time Operating System), fue desarrollado para soportar aplicaciones en tiempo real. • Las aplicaciones en tiempo real se caracterizan por contar con una serie de dispositivos los cuales reciben información del medio ambiente, y el sistema debe dar una respuesta inmediata a dicho requerimiento. • Los sistemas operativos en tiempo real se evalúan en función al tiempo que se tardan en recibir los datos, generar y emitir una respuesta. • Este tipo de sistema operativo se encuentra instalado en aviones, automoviles, equipos industriales, etc.

  12. Tiempo real Una versión de los sistemas operativos de tiempo real son: • Los sistema operativos guiados por eventos. Se activan cuando un evento ocasiona o requiere un servicio. Ejemplo se recibe una señal de un electrodo conectado a un paciente el cual indica que los niveles de insulina se encuentran abajo del minimo establecido. El sistema puede responder enviando una dosis de insulina o emitiendo una alarma audible, o enviando un mensaje al pool de enfermeras, etc. • Se comparte el recurso por tiempo. Estos cambian o activan tareas por que se generó una interrupción del reloj o por un evento. Ejemplo, nuevamente un electrodo conectado a un paciente y un control de tiempo del sistema. El paciente puede recibir medicamento de acuerdo a un horario establecido o porque la enfermera programa el dispositivo para emitir una descarga de dicho medicamento.

  13. Programa usuario Programa usuario Programa usuario Llamada al sistema Maquina virtual Maquina virtual Maquina virtual Copia Sistema Operativo Distribución del procesador y multiprogramación Monitor de maquina virtual Hardware Maquina virtual • Cada proceso genera una maquina virtual (Virtual Machine -VM). La cual consta de una copia de los programas de servicio, programas de control y el corazón del sistema operativo. El Acceso al procesador lo controla el monitor de maquina virtual. • Cada VM interactúa directamente con el hardware en E/S. • En un equipo de computo pueden estar ejecutandose varias VM, incluso pueden ejecutarse en diferente sistemas operativos.

  14. Maquina virtual Difícil implementación Cada proceso: • Crea la ilusión de que es el unico proceso ejecutandose en el computador, ya que se crea la imagen de que el proceso cuenta con su propio procesador, memoria, dispositivo etc. A cada proceso se le presenta una copia virtual del procesador y la memoria. • Cada MV se le crea un espacio de memoria, llamada minidiscos. • El spooling ayuda a simular dispositivos dedicados. • Java (1995) • Interfaz API – soporte de lenguaje basico para graficar • Maquina virtual – JVM - Interprete de JAVA, ejecuta codigos de bytes independiente del Hardware.

  15. Servidor del cliente Mas usado actualmente Procesos Cliente 4 Mensaje Mensajes 1 Microkernel / Núcleo hibrido Mensajes 2 3 Programas servicio Este tipo de estructura puede operar con microkernel o núcleo hibrido

  16. Núcleo Hibrido Los núcleos híbridos aumentar el rendimiento del sistema operativo, integrándose fundamentalmente con micro núcleos. Esto es, transfieren algo de código del núcleo (componente no esencial) al espacio de usuario El núcleo híbrido usa conceptos de arquitectura o mecanismos tanto del diseño monolítico como de micro núcleo Se basan en el paso de mensajes. La mayoría de los sistemas operativos actuales (año 2008) pertenecen a esta categoría, como Microsoft Windows, XNU, Mac OS X.

  17. Servidor del cliente (micro-kernel) Inicio Mediados 80’s • Se basan en núcleos híbridos - La idea es pasar código a estratos mayores (usuario) e implantar la mayoría de las funciones del S.O. en procesos del usuario y minimizar el núcleo (micro-kernel). • La comunicación (paso de mensajes) facilita la ejecución de procesos locales y remotos. • Todos los procesos se corren en modo usuario, por lo tanto el acceso al hardware sigue siendo responsabilidad del S.O. • Existe independencia de procesos y por lo tanto de errores. • El proceso puede enviar información a una dirección y esto significa (por default, ya que se prende una bandera) que se requiere leer la información que se encuentra en esa dirección o enviarla a un buffer.

  18. Orientación a Objetos Futuro de los S.O. • Toma las características de operación de sus antecesores. • Se basa en el principio de dividir al sistemas operativo en funciones o servicios. Por lo tanto cada objeto ejecuta una función o servicio especifico y mientras más especializado mejor. • La comunicación entre objetos es a través de mensajes. • Un objeto ejecuta una tarea especifica de principio a fin. • El kernel es el objeto primario y establece las comunicaciones entre clientes (procesos usuarios) y servidores (gestores de recursos). • Facilita al usuario la interacción con el sistema operativo y la ejecución de procesos locales y remotos, ya que pierde importancia de donde proceda el mensaje. • Los objetos del sistema operativo pueden ser llamados (ejecutados) por aplicaciones del usuario.

  19. Sistemas operativos por servicios Son los tipos de sistemas más conocidos desde el punto de vista de los servicios que ofrecen al usuario. • Mono-usuario • Multiusuario • Mono-tareas • Multitareas • Uniproceso o mono-proceso • Multiproceso asimétrica (un procesador pivote y “n” esclavos) o simétrica (“n” procesadores trabajando en paridad). • En tiempo real • En red • Procesamiento distribuido • Dispositivos remotos • Dispositivos móviles

  20. Ejemplos de estructuras de diferentes sistemas operativos para Computadoras Personales

  21. Ejemplo Arquitectura de Sistema Operativo UNIX Sistemas Operativos, Gary Nutt, Ed. Pearson

  22. Ejemplo Organización de Windows NT/2000/XP Sistemas Operativos, Gary Nutt, Ed. Pearson

  23. INVESTIGACIÓN Tarea: Investigue una estructura de los sistemas operativos distribuidos y de sistemas operativos para equipos móviles

  24. Modo Súper-usuario, administrador Hoy en día para diferenciar las llamadas que puede el usuario efectuar al sistema operativo se dice que trabaja en modo supervisor o súper usuario o modo usuario • Modo supervisor o súper usuario: el usuario puede ejecutar el juego completo de instrucciones disponibles del sistema operativo. En las computadoras personales normalmente existe un solo súper usuario para el sistema operativo. • Modo usuario: el usuario sólo podrá ejecutar un juego restringido de instrucciones. Pueden existir “n” usuarios para la computadora.

More Related