Sistemas Operativos Cont

30
Estructura de los Sistemas Operativos Semana 2

description

SO's

Transcript of Sistemas Operativos Cont

  • Estructura de los Sistemas

    OperativosSemana 2

  • Se considera la organizacin interna de los S. O. y conforme a ella se los clasifica de la siguiente manera, destacndose sus principales caractersticas:

    Sistemas monolticos

    Sistemas con capas

    Mquinas virtuales

    Modelo cliente - servidor

  • Sistemas monolticos

    Es muy comn: no existe estructura propiamente dicha o es mnima.

    El S. O. es una coleccin de procedimientos que se pueden llamar entre s.

    Cada procedimiento tiene una interfaz bien definida en trminos de parmetros y resultados.

  • Para ejecutar los servicios del S. O. (llamadas al sistema):

    Se solicitan colocando los parmetros en lugares bien definidos (registros o pilas).

    Se ejecuta una instruccin especial de trampa: llamada al ncleo o llamada al supervisor.

    La instruccin cambia la mquina del modo usuario al modo ncleo (o modo supervisor).

    Se transfiere el control al S. O.

    El S. O. examina los parmetros de la llamada para determinar cul de ellas se desea realizar.

    El S. O. analiza una tabla que contiene en la entrada k un apuntador al procedimiento que realiza la k-sima llamada al sistema:

    Identifica al procedimiento de servicio llamado.

    La llamada al sistema termina y el control regresa al programa del usuario.

  • Modelo de estructura simple para un

    sistema monoltico.

  • Forma de llamada al sistema en un sistema

    monoltico

  • Sistemas con capas

    Es una generalizacin del modelo de estructura simple para un sistema monoltico.

    Consiste en organizar el S.O. como una jerarqua de capas, cada una construida sobre la inmediata inferior.

    El primer sistema con este esquema fue el THE (1968): THE: Technische Hogeschool Eindhoven.

    Capa 0:

    Trabaja con la asignacin del procesador.

    Alterna entre los procesos cuando ocurren las interrupciones o expiran los cronmetros.

    Proporciona la multiprogramacin bsica.

  • Capa 1:

    Administra la memoria.

    Asegura que las pginas (porciones de memoria) requeridas de los procesos lleguen a memoria cuando fueran necesarias.

    Capa 2:

    Administra la comunicacin entre cada proceso y la consola del operador.

    Por sobre esta capa, cada proceso tiene su propia consola de operador.

    Capa 3:

    Controla los dispositivos de e / s y almacena en buffers los flujos de informacin entre ellos.

    Por sobre la capa 3 cada proceso puede trabajar con dispositivos abstractos de e / s en vez de con dispositivos reales.

  • Capa 4:

    Aloja los programas del usuario.

    Los programas. del usuario no tienen que preocuparse por el proceso, memoria, consola o control de e / s.

    Capa 5:

    Localiza el proceso operador del sistema.

  • Estructura del S.O. en capas THE.

  • Mquinas virtuales

    Se separan totalmente las funciones de multiprogramacin y de mquina extendida.

    Existe un elemento central llamado monitor de la mquina virtual que:

    Se ejecuta en el hardware.

    Realiza la multiprogramacin.

    Proporciona varias mquinas virtuales a la capa superior.

    Las mquinas virtuales instrumentan copias exactas del hardware simple, con su modo ncleo / usuario, e / s, interrupciones y todo lo dems que posee una mquina real.

    Pueden ejecutar cualquier S. O. que se ejecute en forma directa sobre el hardware.

    Las distintas mquinas virtuales pueden ejecutar distintos S. O. y en general as lo hacen.

    Soportan perifricos virtuales.

  • Modelo cliente - servidor Una tendencia en los S. O. modernos es la de explotar la idea de

    mover el cdigo a capas superiores y mantener un ncleo mnimo, de manera similar al VM/370.

    Implantar la mayora de las funciones del S. O. en los procesos del usuario.

    Para solicitar un servicio (por ej.: lectura de un bloque de cierto archivo) segn el modelo cliente - servidor:

    El proceso del usuario (proceso cliente) enva la solicitud a un proceso servidor:

    Realiza el trabajo y regresa la respuesta.

    El ncleo controla la comunicacin entre los clientes y los servidores.

    Se fracciona el S. O. en partes, cada una controlando una faceta:

    Servicio a archivos, a procesos, a terminales, a memoria, etc., cada parte pequea y ms fcilmente controlable.

  • Los servidores se ejecutan como procesos en modo usuario:

    No tienen acceso directo al hardware.

    Se aslan y acotan ms fcilmente los problemas.

    Se adapta para su uso en los sistemas distribuidos:

    Si un cliente se comunica con un servidor mediante mensajes:

    No necesita saber si el mensaje se atiende localmente o mediante un servidor remoto, situado en otra mquina conectada.

    Enva una solicitud y obtiene una respuesta.

  • Diagrama

  • El modelo cliente - servidor en un sistema distribuido.

  • Tendencias

    Las principales tendencias en S. O. son las siguientes:

    Soporte generalizado para multiprocesamiento.

    Migracin hacia el micro cdigo de funciones de los S. O. realizadas por software.

    Distribucin del control entre procesadores localizados.

    Mejora de la eficiencia en el soporte de la ejecucin concurrente de programas.

    Soporte del paralelismo masivo con altsimo grado de concurrencia.

    Profundizacin de los esquemas de mquinas virtuales.

    Continuacin del esquema de familias de S. O. para familias de computadoras, viendo las aplicaciones mquinas virtuales.

    Compatibilidad con nuevas generaciones de computadoras.

  • Desarrollos en la ingeniera de software para brindar S. O. ms preservables, confiables y comprensibles.

    Proliferacin de redes de sistemas, distribuyendo tareas en equipos sobre los que el usuario puede no tener conocimiento ni control con nfasis en la importancia de la perspectiva de las mquinas virtuales.

    Permanencia del concepto de almacenamiento virtual.

    Permanencia de la perspectiva del S. O. como administrador de recursos, teniendo presente que los datos sern considerados cada vez ms como un recurso para ser administrado.

    Profundizacin del desarrollo de S. O. con funciones distribuidas entre varios procesadores a travs de grandes redes de sistemas.

  • Hardware

    Los principales aspectos del hardware, de importancia para los S. O.:

    Compaginacin del almacenamiento:Objetivo: acelerar el acceso al almacenamiento primario

    (bancos de memoria).

    Generalmente, mientras cualquiera de las localidades de un banco de almacenamiento primario, est siendo accedida, ninguna otra referencia puede estar en curso.

    La compaginacin del almacenamiento coloca localidades de memoria adyacentes en diferentes bancos de almacenamiento, para permitir varias referencias al mismo tiempo.

  • Registro de relocalizacin:

    Permite relocalizar de forma dinmica los programas.

    La direccin base de un programa en la memoria principal se sita en el registro de relocalizacin.

    El contenido del registro de relocalizacin se aade a cada direccin desarrollada por un programa en ejecucin.

    Permite al programa residir en localizaciones diferentes a aquellas para las cuales fue traducido.

  • Interrupciones y escrutinio:

    Interrupciones: permiten a una unidad obtener la inmediata atencin de otra, de manera que la primera pueda informar de un cambio de estado:

    Permite salvar el estado de la unidad interrumpida antes de procesar la interrupcin.

    Escrutinio: tcnica que permite que una unidad verifique el estado de otra unidad de funcionamiento independiente.

  • Utilizacin del buffer:

    Un buffer es un rea de almacenamiento primario destinada a contener datos durante transferencias de e / s.

    Cuando concluye la transferencia los datos pueden ser accedidos por el procesador.

    Dispositivos perifricos:

    Permiten el almacenamiento de grandes cantidades de informacin fuera del almacenamiento principal.

    Existen dispositivos secuenciales y de acceso directo.

    Las caractersticas y prestaciones son muy variadas.

  • Almacenamiento virtual:

    Los sistemas de almacenamiento virtual permiten a los programas referenciar direcciones que no necesitan corresponder con las direcciones reales disponibles en el almacenamiento primario.

    Las direcciones virtuales desarrolladas por los programas en ejecucin son traducidas dinmicamente por el hardware a las direcciones reales de instrucciones y datos del almacenamiento principal.

    Los programas pueden referenciar espacios de direcciones mucho mayores que los espacios de direcciones disponibles en el almacenamiento primario.

  • Multiprocesamiento:

    Varios procesadores comparten un

    almacenamiento primario comn y un solo S. O.

    Es necesario secuencializar el acceso a una

    localizacin (direccin) de almacenamiento

    compartido para que dos o ms procesadores

    no intenten:

    Modificarla al mismo tiempo.

    Modificarla uno(s) mientras otro(s) intenta(n)

    leerla.

  • Software

    Los aspectos ms destacados en relacin con los S. O.

    Programacin en lenguaje de mquina

    Ensambladores y macroprocesadores

    Compiladores

    Sistemas de control de entrada / salida

    Utilizacin del SPOOL

    Lenguajes orientados hacia el procedimiento versus lenguajes orientados hacia el problema

  • Procesos y

    Administracin del Procesador

  • Concepto

    El proceso se puede definir como un programa en ejecucin y, de una forma un poco ms precisa, como la unidad de procesamiento gestionada por el sistema operativo.

    El sistema operativo mantiene por cada proceso una serie de estructuras de informacin que permiten identificar las caractersticas de ste, as como los recursos que tiene asignados. En esta ltima categora entran los descriptores de los segmentos de memoria asignados, los descriptores de los archivos abiertos, los descriptores de los puertos de comunicaciones, etc.

  • La informacin que compone un proceso es la siguiente:

    Contenido de los segmentos de memoria en los que residen el cdigo y los datos del proceso. A esta informacin se le denomina imagen de memoria o core image.

    Contenido de los registros del modelo de programacin.

    Contenido del BCP.

  • Jerarqua de procesos

    Para referirse a las relaciones entre los procesos de la jerarqua

    se emplean los trminos de padre, hijo. hermano o abuelo.

    Cuando el proceso A solicita al sistema operativo que cree el

    proceso B. se dice que A es padre de B y que B es hijo de A.

    Bajo esta ptica, la jerarqua de procesos puede considerarse

    como un rbol genealgico.

    Entorno del

    proceso

  • Grupos de procesos

    Los procesos forman grupos que tienen diversas propiedades. El conjunto de procesos creados a partir de un shell puede formar un grupo de procesos. Tambin pueden formar un grupo los procesos dependientes de un terminal.

    El inters del concepto de grupo de procesos es que hay determinadas operaciones que se pueden hacer sobre todos los procesos de un determinado grupo, como se ver al estudiar algunos de los servicios. Un ejemplo es la posibilidad de matar a todos los procesos pertenecientes a un mismo grupo.

  • MULTITAREA

    Dependiendo del nmero de procesos y de

    usuarios que puedan ejecutar simultneamente,

    un sistema operativo puede ser:

    Monotarea o monoproceso.

    Multitarea o multiproceso.

    Monousuario.

    Multiusuario (tiempo compartido).