sisope 1 - trabajo 1

Upload: va-mf

Post on 07-Jul-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    1/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado1 de 24

     Sistemas operativos distribuidos

    Autor: Mario Fernando Vásquez Alvarado

    Los sistemas operativos distribuidos abarcan los servicios de los sistemas operativos de red, logrando

    integrar recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en

    una sola máquina virtual que el usuario accede en forma transparente. Es decir, ahora el usuario ya no

    necesita saber la ubicación de los recursos, sino que los conoce por nombre y simplemente los usa como si

    todos fuesen locales a su lugar de trabajo habitual. Al menos eso es lo que en teoría se desearía tener como

    sistema operativo distribuido, pero en la realidad no se ha conseguido crear uno del todo, por la

    complejidad que suponen como por ejemplo: Distribuir los procesos de las varias unidades de

    procesamiento, reintegrar sub resultados, resolver problemas de concurrencia y paralelismo, recuperarse de

    fallas de algunos recursos distribuidos y consolidar la protección y seguridad entre los diferentes

    componentes del sistema y los usuarios. Los avances tecnológicos en las redes de área local y la creación demicroprocesadores de 32 y 64 bits lograron que computadoras más o menos baratas tuvieran el suficiente

    poder en forma autónoma para desafiar en cierto grado a los mainframes, y a la vez se dio la posibilidad de

    intercomunicarlas, sugiriendo la oportunidad de partir procesos muy pesados en cálculo en unidades mas

    pequeñas y distribuirlas en los varios microprocesadores para luego reunir los sub resultados, creando así

    una máquina virtual en la red que exceda en poder a un mainframe, El sistema integrador de los

    microprocesadores, y todos los demás recursos como una sola entidad en forma transparente se llama

    sistema operativo distribuido. Las razones para crear o adoptar sistemas distribuidos se dan por dos razones

    principales: por necesidad (debido a que los problemas a resolver son inherentemente distribuidos) o

    porque se desea tener más confiabilidad y disponibilidad de recursos.

    En Resumen un sistema distribuido se define como: una colección de computadoras separados físicamente y

    conectados entre sí por una red de comunicaciones distribuida; cada máquina posee sus componentes de

    hardware y software que el usuario percibe como un solo sistema (no necesita saber qué cosas están en qué

    máquinas). El usuario accede a los recursos remotos (RPC) de la misma manera en que accede a recursos

    locales, o un grupo de computadores que usan un software para conseguir un objetivo en común.

    Los sistemas distribuidos deben ser muy confiables, ya que si un componente del sistema se descompone

    otro componente debe de ser capaz de reemplazarlo, esto se denomina Tolerancia a Fallos.

    El tamaño de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (red de área local),

    centenas de hosts (red de área metropolitana), y miles o millones de hosts (Internet); esto se denomina

    escalabilidad.

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    2/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado2 de 24

    1.CARACTERÍSTICAS:

    1.  Para cada uno de los usuarios debe de ser similar al trabajo en el Sistema Centralizado.

    2.  Seguridad interna en el sistema distribuido.

    3.  Se ejecuta en múltiples Computadoras.

    4.  Tiene varias copias del mismo Sistema Operativo o de diferentes Sistemas Operativos que proveen los

    mismos servicios.

    5.  Entorno de trabajo cómodo.

    6.  Dependiente de redes (LAN, MAN, WAN, etc.).

    7.  Compatibilidad entre los dispositivos conectados.

    8.  Transparencia (El uso de múltiples procesadores y el acceso remoto debe de ser invisible).

    2.OBJETIVO:

    La computación distribuida ha sido diseñada para resolver problemas demasiado grandes para cualquier

    supercomputadora y mainframe, mientras se mantiene la flexibilidad de trabajar en múltiples problemas

    más pequeños. Por lo tanto, la computación en grid es naturalmente un entorno multiusuario; por ello, las

    técnicas de autorización segura son esenciales antes de permitir que los recursos informáticos sean

    controlados por usuarios remotos. 

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    3/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado3 de 24

    3.ESTRUCTURA Y COMPONENTES DEL SISTEMA OPERATIVO DISTRIBUIDO DOS):

    Como ya se definió anteriormente un sistema operativo distribuido consiste en una colección de

    computadores conectados por una red de comunicaciones, que el usuario percibe como un solo sistema (no

    necesita saber qué cosas están en qué máquinas). El usuario accesa a los recursos remotos de la mismamanera en que accesa a recursos locales, o un grupo de computadores que usan un software para conseguir

    un objetivo en común.

    Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se descompone

    otro componente debe de ser capaz de reemplazarlo.

    El objetivo de un sistema distribuido es integrar los recursos y servicios conectados por una red de

    comunicación. Desde el punto de vista del usuario y de las aplicaciones, un sistema distribuido proporciona

    una visión de máquina única y no difiere de uno centralizado (Figura 1). En cambio, el punto de vista del

    diseñador (el sistema como gestor de los recursos) la estructura interna está condicionada por la

    distribución física de los recursos (Figura 2).

    Aplicaciones

    Servicios del sistema

    Hardware (distribuido)

    Figura 1: Un sistema distribuido desde el punto de vista del usuario. 

    Lo habitual es que el sistema operativo integre los servicios de red, que ofrecen protocolos abiertos de

    comunicación, como es el caso de TCP y UDP. Sobre estos se disponen los soportes adicionales para la

    comunicación distribuida, como es el caso de RPC, RMI o DSM, y los servicios específicos que proporcionan

    las propiedades del sistema distribuido (servicios middleware), como es el caso de la gestión de tiempos,

    eventos y estado global, sobre los que se asientan las aplicaciones.

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    4/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado4 de 24

    Aplicaciones Aplicaciones Aplicaciones

    Servicios

    Middleware

    Servicios

    Middleware … Servicios

    Middleware

    Sistema operativo

    y protocolos de

    red

    Sistema operativo

    y protocolos de

    red

    Sistema operativo

    y protocolos de

    red

    Hardware distribuido y red de interconexión

    Figura 2: Estructura de un sistema distribuido. 

    El tamaño de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (Local Area Network),

    centenas de hosts (Metropolitan Area Network), y miles o millones de hosts (Internet).

    Ejemplo de sistema distribuido simple

    3.1. Estructura General De Los DOS

    Menos autonomía entre computadores da la impresión de que solo hay un sistema operativo controlando la

    red

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    5/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado5 de 24

    3.2. Estructura General De Un Sistema Distribuido Basado En Middleware

    Middelware es una capa adicional por encima de un sistema operativo de red, que implementa servicios de

    propósito general. Middlware es una capa de software intermedia. En los Sistemas distribuidos basados en

    Middlware, los protocolos usados por cada capa middlware deben ser los mismos así como las interfaces

    que ofrecen a las aplicaciones.

    Middleware es un software que enmascara el hardware y los sistemas operativos.Se aplican en los sistemas distribuidos como sistema de comunicación que proporciona alto grado de

    transparencia, administración de recursos por nodos, no tienen el mismo sistema operativo en todos los

    nodos y ofrece n numero de copias del sistema operativo.

    En sistemas distribuidos:

    El Middleware es un software de conectividad que permite ofrecer un conjunto de servicios que hacen

    posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas. Funciona como una

    capa de abstracción de software distribuida que se sitúa entre las capas de aplicaciones y las capas inferiores

    (sistema operativo y red).

    El Middleware nos abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes,así como de los sistemas operativos y lenguajes de programación, proporcionando una API para la fácil

    programación y manejo de aplicaciones distribuidas.

    4. Sistemas Operativos Distribuidos Existentes

    Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, Seti, etc.

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    6/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado6 de 24

     SISTEMA OPERATIVO PROPIETARIO

    Como su nombre lo indica es un sistema operativo privado, significa que no es gratuito, y su código

    fuente no es accesible excepto para la empresa que lo creo. Un ejemplo de este tipo de sistemas

    es Windows, su código es accesible solo para los empleados de Microsoft y su uso es gratuito solo

    para lo mismos (de ahí el término"Propietario", es propiedad de Microsoft). Muy costoso por cierto,

    por eso encontramos tantas versiones falsificadas en Internet que por lo general no se pueden

    actualizar.

    WINDOWS

    Un Sistema Operativo serio, capaz de competir en el mercado con otros como Unix que ya tienen una

    posición privilegiada, en cuanto a resultados, debe tener una serie de características que le permitan

     ganarse ese lugar. Algunas de estas son:  Que corra sobre múltiples arquitecturas de hardware y plataformas.

      Que sea compatible con aplicaciones hechas en plataformas anteriores, es decir que corrieran la

    mayoría de las aplicaciones existentes hechas sobre versiones anteriores a la actual, nos referimos en

    este caso particular a las de 16-bit de MS-DOS y  Microsoft Windows 3.1.

      Reúna los requisitos gubernamentales para POSIX (Portable Operating System Interface for Unix).

      Reúna los requisitos de la industria y del gobierno para la seguridad del Sistema Operativo.

      Sea fácilmente adaptable al mercado global soportando código Unicode.

      Sea un sistema que corra y balancee los procesos de forma paralela en varios procesadores a la vez.

      Sea un Sistema Operativo de memoria virtual.

    Uno de los pasos más importantes que revolucionó los Sistemas Operativos de la Microsoft fue el diseño y

    creación de un Sistema Operativo extensible, portable, fiable, adaptable, robusto, seguro y compatible con

    sus versiones anteriores (Windows NT).

    Y para ello crearon la siguiente arquitectura modular:

    http://www.monografias.com/trabajos13/mercado/mercado.shtmlhttp://www.monografias.com/trabajos36/sistema-unix/sistema-unix.shtmlhttp://www.monografias.com/trabajos/manualdos/manualdos.shtmlhttp://www.monografias.com/trabajos13/quienbill/quienbill.shtmlhttp://www.monografias.com/trabajos16/industria-ingenieria/industria-ingenieria.shtmlhttp://www.monografias.com/trabajos4/derpub/derpub.shtmlhttp://www.monografias.com/trabajos/seguinfo/seguinfo.shtmlhttp://www.monografias.com/trabajos12/eticaplic/eticaplic.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope.shtmlhttp://www.monografias.com/trabajos5/segu/segu.shtmlhttp://www.monografias.com/trabajos5/segu/segu.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope.shtmlhttp://www.monografias.com/trabajos12/eticaplic/eticaplic.shtmlhttp://www.monografias.com/trabajos/seguinfo/seguinfo.shtmlhttp://www.monografias.com/trabajos4/derpub/derpub.shtmlhttp://www.monografias.com/trabajos16/industria-ingenieria/industria-ingenieria.shtmlhttp://www.monografias.com/trabajos13/quienbill/quienbill.shtmlhttp://www.monografias.com/trabajos/manualdos/manualdos.shtmlhttp://www.monografias.com/trabajos36/sistema-unix/sistema-unix.shtmlhttp://www.monografias.com/trabajos13/mercado/mercado.shtml

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    7/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado7 de 24

    La cual está compuesta por una serie de componentes separados donde cada cual es responsable de sus

    funciones y brindan servicios a otros componentes. Esta arquitectura es del tipo cliente –  servidor ya que

    los programas de aplicación son contemplados por el sistema operativo como si fueran clientes a los que hay

    que servir, y para lo cual viene equipado con distintas entidades servidoras.

    Ya creado este diseño las demás versiones que le sucedieron a Windows NT fueron tomando esta

    arquitectura como base y le fueron adicionando nuevos componentes.

    Uno de las características que Windows comparte con el resto de los Sistemas Operativos avanzados es la

    división de tareas del Sistema Operativo en múltiples categorías, las cuales están asociadas a los modos

    actuales soportados por los microprocesadores. Estos modos proporcionan a los programas que corren

    dentro de ellos diferentes niveles de privilegios para acceder al hardware o a otros programas que están

    corriendo en el sistema. Windows usa un modo privilegiado (Kernel) y un modo no privilegiado (Usuario).

    Uno de los objetivos fundamentales del diseño fue el tener un núcleo tan pequeño como fuera posible, en el

    que estuvieran integrados módulos que dieran respuesta a aquellas llamadas al sistema que necesariamente

    se tuvieran que ejecutar en modo privilegiado (modo kernel). El resto de las llamadas se expulsarían del

    núcleo hacia otras entidades que se ejecutarían en modo no privilegiado (modo usuario), y de esta manera el

    núcleo resultaría una base compacta, robusta y estable.

    El Modo Usuario  es un modo menos privilegiado de funcionamiento, sin el acceso directo al hardware. El

    código que corre en este modo sólo actúa en su propio espacio de dirección. Este usa las APIs (System

    Application Program Interfaces) para pedir los servicios del sistema.

    El Modo Kernel  es un modo muy privilegiado de funcionamiento, donde el código tiene el acceso directo a

    http://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos11/sercli/sercli.shtmlhttp://www.monografias.com/trabajos11/introwin/introwin.shtmlhttp://www.monografias.com/trabajos11/micro/micro.shtmlhttp://www.monografias.com/trabajos16/objetivos-educacion/objetivos-educacion.shtmlhttp://www.monografias.com/trabajos15/direccion/direccion.shtmlhttp://www.monografias.com/trabajos15/direccion/direccion.shtmlhttp://www.monografias.com/trabajos16/objetivos-educacion/objetivos-educacion.shtmlhttp://www.monografias.com/trabajos11/micro/micro.shtmlhttp://www.monografias.com/trabajos11/introwin/introwin.shtmlhttp://www.monografias.com/trabajos11/sercli/sercli.shtmlhttp://www.monografias.com/Computacion/Programacion/

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    8/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado8 de 24

    todo el hardware y toda la memoria, incluso a los espacios de dirección de todos los procesos del modo

    usuario. La parte de WINDOWS que corre en el modo Kernel se llama Ejecutor de Windows, que no es más

    que un conjunto de servicios disponibles a todos los componentes del Sistema Operativo, donde

    cada grupo de servicios es manipulado por componentes que son totalmente independientes (entre ellos el

    Núcleo) entre sí y se comunican a través de interfaces bien definidas.

    Todos los programas que no corren en Modo Kernel corren en Modo Usuario. La mayoría del código del

    Sistema Operativo corre en Modo Usuario, así como los subsistemas de ambiente (Win32 y POSIX que serán

    explicados en capítulos posteriores) y aplicaciones de usuario. Estos programas solamente acceden a su

    propio espacio de direcciones e interactúan con el resto del sistema a través de mensajes Cliente/Servidor.

    1.Modo Kernel: 

    1.1 Capa de Abstracción de Hardware HAL). 

    Conocido por sus siglas en inglés HAL (Hardware Abstraction Layer) es una interfaz entre el hardware y el

    resto del Sistema Operativo, está implementada como una biblioteca de enlace dinámico (dll) y es

    responsable de proteger el resto del sistema de las especificaciones del hardware, tales como controladoresde interrupción e interfaces de entrada/salida. Esta abstracción hace al sistema más portable ya que el resto

    del sistema no tiene que preocuparse sobre que plataforma está corriendo. Cada plataforma en que el

    sistema corre necesita un HAL específico. El diseño intenta que cuando Windows sea portado a una nueva

    arquitectura de procesador, el HAL sea reescrito para el nuevo procesador, pero el resto del sistema

    simplemente debe ser recompilado.

    Este también suministra la interfaz para el multiprocesamiento simétrico (conocido por sus siglas en inglés

    SMP). Las versiones Server contienen dos HALs para arquitectura de procesador (Intel, MIPS, PowerPC y and

    Alpha), el primero es usado para soportar un solo procesador, mientras que el segundo soporta hasta cuatro

    procesadores.

    Para cada procesador físico que existe en la computadora el HAL representa un procesador virtualizado al

    microkernel. La idea es que el procesador virtualizado esconda las características especiales del propio

    procesador al sistema operativo, quiere esto decir que si por ejemplo se tiene dos sistemas

    multiprocesadores, uno corriendo sobre un procesador Intel y otro corriendo con un Alpha, los HALs en

    cada sistema serían diferentes, pero los procesadores virtualizados que este presenta al microkernel en

    ambos casos pudieran ser idénticos. Sobre un sistema SMP (Multiprocesamiento Simétrico) para cada

    procesador físico en el sistema el HAL representa un procesador virtualizado al microkernel.

    A este componente solo pueden acceder componentes del Ejecutor de Windows y nunca se llama por los

    programas del Modo Usuario. El HAL también intenta ser la única pieza de software dentro del sistema que

    se comunique con el hardware, la ventaja de esto es que otros programas no pueden escribir información enel hardware ni accidentalmente, ni intencionalmente y causar una caída del sistema, también impidiendo

    que programas lean información directamente del hardware.

    Aunque la meta de Windows es que todas las llamadas relacionas con el hardware sean a través del HAL, la

    realidad es que un número pequeño de llamadas de los drivers y del Kernel bordean al HAL e interactúan

    directamente con el hardware.

    http://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos14/dinamica-grupos/dinamica-grupos.shtmlhttp://www.monografias.com/trabajos15/medio-ambiente-venezuela/medio-ambiente-venezuela.shtmlhttp://www.monografias.com/trabajos16/manual-ingles/manual-ingles.shtmlhttp://www.monografias.com/trabajos10/ponency/ponency.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/Computacion/Software/http://www.monografias.com/trabajos7/sisinf/sisinf.shtmlhttp://www.monografias.com/trabajos7/plane/plane.shtmlhttp://www.monografias.com/trabajos7/plane/plane.shtmlhttp://www.monografias.com/trabajos7/sisinf/sisinf.shtmlhttp://www.monografias.com/Computacion/Software/http://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope.shtmlhttp://www.monografias.com/trabajos10/ponency/ponency.shtmlhttp://www.monografias.com/trabajos16/manual-ingles/manual-ingles.shtmlhttp://www.monografias.com/trabajos15/medio-ambiente-venezuela/medio-ambiente-venezuela.shtmlhttp://www.monografias.com/trabajos14/dinamica-grupos/dinamica-grupos.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtml

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    9/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado9 de 24

    La capa de Abstracción de Hardware conocida por sus siglas en inglés (HAL) es una biblioteca de

    manipulación de hardware con rutinas suministradas por Microsoft o por el fabricante del hardware. Esta

    capa queda en el nivel más bajo del Ejecutor de Windows (entre el hardware y el resto del Sistema

    Operativo), esta esconde las características de la plataforma para que todas las plataformas y arquitecturas

    parezcan igual al Sistema Operativo, esto permite al SO correr sobre diferentes plataformas con uno o

    varios procesadores, facilitando además a los drivers de dispositivos adaptarse a distintas arquitecturas deE/S sin tener que ser modificados en gran medida.

    1.2 MicroKernel 

    Es el responsable de todas las acciones que se realizan sobre le sistema y casi todas las funciones del sistema

    pasan a través de él.

    El diseño de este componente asigna muchas de las funciones normalmente asignadas al Kernel en los

    Sistemas Operativos tradicionales a un grupo de programas llamado Ejecutor de Windows, del cual el

    microkernel es parte, corre en el modo privilegiado y ambos (el ejecutor y el microkernel) se comunican a

    través de primitivas del sistema operativo a bajo nivel.

    La principal tarea de este componente es la planificación de ejecución de hilos (segmento de código

    perteneciente a un proceso particular). A cada hilo es asignada una prioridad de 0 a 31, este entonces envía

    hilos a correr en dependencia de su número de prioridad y los permite ejecutarse un tiempo determinado

    antes de apropiarse de ellos y permitir que otro proceso corra.

    Aquí es importante aclarar que el microkernel no planifica la ejecución de procesos, sino que planifica la

    ejecución de hilos en el entorno de un proceso, este procedimiento es el que hace posible la multitarea con

    preferencia al ser el microkernel el que planifica la ejecución de todo el código que corre en el sistema.

    En un sistema multiprocesador, una copia del microkernel corre en cada procesador. Estos segmentos del

    microkernel son usados para mantener la coherencia de los recursos del sistema que son compartidos yaque son accedidos por los hilos que corren en todos los procesadores.

    Este también es responsable de la manipulación de interrupciones del sistema desde dispositivos físicos.

    Normalmente cuando el sistema es interrumpido, el microkernel se apropia del hilo que este corriendo en

    ese momento para procesar la interrupción.

    El microkernel también manipula las excepciones del procesador, donde estas excepciones ocurren cuando

    el procesador intenta hacer alguna operación que no se le está permitida, como el intento de escribir en una

    porción de memoria a la cual no tiene acceso o cuando se divide por cero.

    El uso final del microkernel es suministrar un soporte para la recuperación del sistema de una caída de

    energía. Si el sistema esta equipado con un suministrador de energía ininterrumpible (más conocido por sussiglas inglés UPS) el microkernel es advertido cuando la caída de energía es detectada, entonces este

    coordina un cierre ordenado del sistema, el cual incluye la advertencia a los dispositivos de Entrada/Salida

    de la caída de la energía y permitir entonces restaurarse consecuentemente.

    Puesto que el Microkernel está involucrado en la mayoría de las acciones asumidas por el Sistema

    Operativo, las porciones críticas de este son escritas en lenguaje ensamblador para garantizar que este

    http://www.monografias.com/trabajos4/acciones/acciones.shtmlhttp://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/trabajos4/refrec/refrec.shtmlhttp://www.monografias.com/trabajos35/concepto-de-lenguaje/concepto-de-lenguaje.shtmlhttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos35/concepto-de-lenguaje/concepto-de-lenguaje.shtmlhttp://www.monografias.com/trabajos4/refrec/refrec.shtmlhttp://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/trabajos4/acciones/acciones.shtml

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    10/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado10 de 24

    pueda correr lo más rápido y eficientemente posible, lo que trae consigo que su optimización sea un factor

    crítico de funcionamiento cuando el sistema es portado a diferentes arquitecturas.

    El microkernel está situado en el corazón de Windows, trabaja muy estrechamente con el HAL (Nivel de

    Abstracción de Hardware), este planifica la ejecución de hilos y manipula las interrupciones y excepciones

    de procesos. El papel de este es mantener a los procesadores lo mas ocupado posible. En sentido general este

    se encarga de las funciones más básicas de todo el SO, como son:

      Ejecución de subprocesos.

      Sincronización multiprocesador.

      Manejo de las interrupciones de hardware.

    1.3 El Ejecutor de Windows.

    El Ejecutor de Windows se encarga de las tareas importantes, las que son de vital importancia para el

    sistema completo, ya que el microkernel está casi siempre demasiado ocupado para dirigirse directamente.

    Una definición clara es que el Ejecutor de Windows provee los fundamentos del sistema operativo que seránsuministradas a todas las aplicaciones que corren sobre el sistema. Este incluye servicios como

    la Administración de Objetos, de Memoria virtual, de Entrada-Salida y de Procesos.

    El Ejecutor de Windows corre exclusivamente en Modo Kernel y es llamado por los subsistemas de ambiente

    protegido cuando estos necesitan de sus servicios. Debido a la jerarquía de Windows las aplicaciones que

    corren en Modo Usuario no pueden llamar segmentos del Ejecutor de Windows directamente, sino servicios

    de demanda de los subsistemas de ambiente (explicado en capítulos posteriores), como Win32 y POSIX los

    que a su vez se encargan de llamar los componentes del Ejecutor de Windows.

    1.4 El Administrador de Objetos. 

    El Administrador de Objetos (Object Manager) es usado para crear, modificar y eliminar objetos (tipos dedatos abstractos que son usados para representar recursos del Sistema Operativo) usados por todos los

    sistemas que conforman el Ejecutor de Windows. Este también proporciona información sobre el estado de

    los objetos a todo el Sistema Operativo.

    Los objetos pueden ser cosas concretas, tales como puertos de dispositivos, o pueden ser más abstractos

    como hilos. Cuando un objeto es creado a este se le da un nombre por el cual otros programas pueden

    accederle. Cuando un proceso necesita acceder al objeto este solicita un tratamiento de objeto al

    administrador de objetos. El manipulador de objetos suministra un puntero que es usado para localizar al

    objeto, así como una información de controlde acceso que dice como se puede acceder a el. Esta

    información de control de acceso es suministrada por el subsistema de seguridad (tema que se abordará en

    próximos temas).

    Este también se asegura que los objetos no consuman muchos recursos (por lo regular la memoria),

    manteniendo cuotas para los diferentes tipos de objetos.

    Además el Administrador de Objetos se encarga de limpiar objetos huérfanos (objetos que parecen no tener

    dueño), esto es conocido como recolección de basura. La carencia de esta facilidad en Windows 3.x era la

    http://www.monografias.com/trabajos5/ancar/ancar.shtmlhttp://www.monografias.com/trabajos36/administracion-y-gerencia/administracion-y-gerencia.shtmlhttp://www.monografias.com/trabajos10/gesmem/gesmem.shtml#VIRTUhttp://www.monografias.com/trabajos/ofertaydemanda/ofertaydemanda.shtmlhttp://www.monografias.com/trabajos10/habi/habi.shtmlhttp://www.monografias.com/trabajos11/basdat/basdat.shtmlhttp://www.monografias.com/trabajos11/basdat/basdat.shtmlhttp://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos11/recibas/recibas.shtmlhttp://www.monografias.com/trabajos11/recibas/recibas.shtmlhttp://www.monografias.com/trabajos14/control/control.shtmlhttp://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/trabajos11/basdat/basdat.shtmlhttp://www.monografias.com/trabajos11/basdat/basdat.shtmlhttp://www.monografias.com/trabajos10/habi/habi.shtmlhttp://www.monografias.com/trabajos/ofertaydemanda/ofertaydemanda.shtmlhttp://www.monografias.com/trabajos10/gesmem/gesmem.shtml#VIRTUhttp://www.monografias.com/trabajos36/administracion-y-gerencia/administracion-y-gerencia.shtmlhttp://www.monografias.com/trabajos5/ancar/ancar.shtml

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    11/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado11 de 24

    causa de muchos problemas, ya que cuando un programa colapsaba o manipulaba incorrectamente los

    recursos del sistema, los recursos consumidos por este no eran devueltos al sistema para que volvieran a

    estar disponibles produciendo un error por falta de recursos del sistema. De hecho esto era un escape de

    memoria.

    A modo de resumen el Administrador de Objetos se encarga de crear, destruir y gestionar todos los objetos

    del Ejecutor de Windows.

    1.5 El Administrador de Procesos. 

    El Administrador de Procesos (Process Manager) es el responsable de crear, quitar y modificar los estados de

    todos los procesos e hilos. Este también proporciona información sobre el  estado de procesos e hilos al resto

    del sistema.

    Un proceso, por la definición, incluye un espacio de dirección virtual, uno o más hilos, un segmento de

    código del programa ejecutable, y un conjunto de recursos del sistema. Un hilo es un objeto ejecutable que

    pertenece a un solo proceso y contiene a un contador del programa que apunta a su posición actual en el

    segmento de código ejecutable del proceso, dos pilas, y un conjunto de valores del registro. 

    El Administrador de Procesos, como todos los miembros del Ejecutor de Windows, juega un papel vital en el

    funcionamiento del sistema entero. Cuando una aplicación comienza su ejecución, se crea como un proceso

    lo que requiere una llamada al Administrador de Procesos. Como todo proceso debe tener por lo menos un

    hilo, el Administrador de Procesos es invocado de nuevo para crear el hilo.

    El Administrador de Procesos se usa para manejar los hilos, pero no tiene su propio conjunto

    de políticas sobre cómo planificar la ejecución de procesos e hilos. Estas políticas son determinadas por el

    propio microkernel.

    El administrador de Procesos (Process Manager) es el responsable de crear, quitar y modificar los estados de

    todos los procesos e hilos, así como de proporcionar información sobre el estado de procesos e hilos al restodel sistema.

    1.6 El Administrador de Memoria Virtual. 

    El Administrador de Memoria Virtual (Virtual Memory Manager o VMM) proporciona la gestión de

    memoria virtual del sistema. La memoria virtual es un esquema que permite usar los recursos del disco en

    lugar de la memoria física del sistema moviendo las páginas al disco cuando estas no están siendo usadas y

    recuperándolas cuando se les necesitan. Este es un segmento integral de Windows el cual asigna espacios de

    direcciones de 32 bit a cada proceso sin preocuparse de la cantidad de memoria física del sistema.

    A cada proceso se asigna un espacio de memoria virtual de 4GB. De este espacio, los dos giga bites

    superiores son reservados para el uso del sistema, mientras que los otros dos giga bites restantes son para el

    uso del proceso. El Administrador de Memoria Virtual es el responsable de traducir las direcciones de

    memoria del proceso a las direcciones de memoria reales del sistema. Si la dirección de memoria del proceso

    hace referencia a un segmento de memoria que ha sido paginada hacia el disco, el Administrador de

    Memoria Virtual recupera la página del disco.

    El Administrador de Memoria Virtual se encarga de todo lo relacionado con la política de gestión de la

    http://www.monografias.com/trabajos15/calidad-serv/calidad-serv.shtml#PLANThttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/trabajos11/pila/pila.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos10/poli/poli.shtmlhttp://www.monografias.com/Fisica/index.shtmlhttp://www.monografias.com/Politica/index.shtmlhttp://www.monografias.com/Politica/index.shtmlhttp://www.monografias.com/Fisica/index.shtmlhttp://www.monografias.com/trabajos10/poli/poli.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos11/pila/pila.shtmlhttp://www.monografias.com/trabajos12/elorigest/elorigest.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos15/calidad-serv/calidad-serv.shtml#PLANT

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    12/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado12 de 24

    memoria, determina los conjuntos de trabajo de cada proceso, mantiene un conjunto de páginas libres, elige

    páginas que se van a pasar a la memoria real, sube y baja páginas entre la memoria RAM y elarchivo de

    intercambio en disco.

    1.7 Servicios de Llamadas a Procedimientos Locales. 

    El Servicio de Llamadas a Procedimientos Locales (Local Procedure Call Facility o LPC) se integran al diseñocliente/servidor de Windows. Este es la interfaz entre todos los procesos clientes y servidores que corren

    localmente en el sistema.

    La estructura del Servicio de Llamadas a Procedimientos Locales es muy similar a la de las llamadas a

    Procedimientos Remotos (RPC), excepto que esta está optimizada y solamente soporta comunicación entre

    procesos clientes y servidores localmente. Más específicamente, el LPC es un mecanismo que permite a dos

    hilos en procesos diferentes intercambiar información.

    Recuerde que nosotros dijimos que el subsistema de Win32 es una aplicación que corre en el Modo Usuario

     y correrá en su propio espacio de memoria. Cuando un programa se quiere comunicar con el subsistema

    Win32 para solicitar servicios, llama una función desde la DLL apropiada, esta función entonces usa la LPCpara pasar la petición al subsistema de procesos Win32, la que procesa la demanda y realiza

    la acción pedida y devuelve un mensaje de realización a través de la LPC.

    El Servicio de Llamadas a Procedimientos Locales es el módulo que se encarga de recibir y enviar las

    llamadas de procedimiento locales entre las aplicaciones cliente y los subsistemas servidores.

    1.8 El Monitor de Seguridad. 

    El Monitor de Seguridad (Security Reference Monitor o SRM) es el lecho de toda la seguridad dentro del

    sistema WINDOWS y es el responsable de hacer cumplir todas las políticas de seguridad en

    la computadora local.

    Este componente trabaja conjuntamente con los subsistemas de tiempo de corrida, proceso de conexión al

    sistema (conocido como logon process) y control de la seguridad local (local security authority). Cuando un

    usuario intenta conectarse al sistema su identidad es verificada, el subsistema de proceso de conexión pide

    una ficha de acceso de seguridad (conocido por sus siglas en inglés SAT o security  access token) del usuario.

    El SAT contiene una lista de los privilegios de usuarios y  grupos. Este se usa como llave para ese usuario

    durante la sesión de conexión. Siempre que el usuario quiera hacer algo, el SAT es presentado y usado para

    determinar si el usuario puede realizar las acciones.

    Este componente trabaja estrechamente con el Administrador de Objetos. Cada vez que un usuario intenta

    acceder a un objeto el Administrador de Objetos crea un manipulador para acceder a este y llama al SRM

    para determinar el nivel de acceso concedido por el manipulador. El SRM usa información contenida en laficha de acceso del usuario y lo compara con la lista de control de accesos sobre el objeto para ver si al

    usuario debe concederse el nivel de acceso pedido. De esta forma el SRM tiene el control de la seguridad de

    acceso de todos los objetos en el sistema.

    1.9 El Administrador de Entrada-Salida. 

    El Administrador de Entrada-Salida (I/O Manager) es responsable de gestionar la comunicación entre los

    http://www.monografias.com/trabajos10/historix/historix.shtmlhttp://www.monografias.com/trabajos11/memoram/memoram.shtmlhttp://www.monografias.com/trabajos7/arch/arch.shtmlhttp://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/trabajos14/verific-servicios/verific-servicios.shtmlhttp://www.monografias.com/trabajos7/mafu/mafu.shtmlhttp://www.monografias.com/trabajos35/categoria-accion/categoria-accion.shtmlhttp://www.monografias.com/trabajos5/losperif/losperif2.shtml#monihttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos14/cambcult/cambcult.shtmlhttp://www.monografias.com/trabajos5/basede/basede.shtmlhttp://www.monografias.com/trabajos11/grupo/grupo.shtmlhttp://www.monografias.com/trabajos11/grupo/grupo.shtmlhttp://www.monografias.com/trabajos5/basede/basede.shtmlhttp://www.monografias.com/trabajos14/cambcult/cambcult.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos5/losperif/losperif2.shtml#monihttp://www.monografias.com/trabajos35/categoria-accion/categoria-accion.shtmlhttp://www.monografias.com/trabajos7/mafu/mafu.shtmlhttp://www.monografias.com/trabajos14/verific-servicios/verific-servicios.shtmlhttp://www.monografias.com/trabajos13/mapro/mapro.shtmlhttp://www.monografias.com/trabajos7/arch/arch.shtmlhttp://www.monografias.com/trabajos11/memoram/memoram.shtmlhttp://www.monografias.com/trabajos10/historix/historix.shtml

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    13/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado13 de 24

    distintos drivers de dispositivo, para lo cual implementa una interfaz bien definida que permite el

    tratamiento de todos los drivers de una manera homogénea, sin que intervenga el cómo funciona

    específicamente cada uno. Tiene una serie de subcomponentes que son:

      Driver del Sistema de Archivos: este se encarga de establecer la comunicación con los drivers de los

    Sistemas de Ficheros, ya que el sistema permite la coexistencia de múltiples Sistemas de Archivos en

    diferentes particiones lógicas de la misma unidad física.

      El servidor y el redirector de red. 

      Los drivers de dispositivo del sistema.

      El administrador de caches (Cache Manager): este se encarga de manipular la cache para todo el Sistema

    de Entrada y Salida. Este es un métodoque utilizan los sistemas de archivos para mejorar su rendimiento,

    donde en lugar de leer y escribir en disco un fichero usado frecuentemente este se almacena en una

    cache de memoria y  la lectura y  escritura de estos ficheros se realiza desde memoria. Este componente se

    encarga de la magia negra que es a menudo necesaria para hacer que varios dispositivos se comuniquen

    entre si y convivan juntos en un segmento. El Administrador de Entrada-Salida (I/O Manager) es

    responsable de gestionar la comunicación entre los distintos drivers de dispositivo.

    2.Modo Usuario: 

    2.1 Subsistemas de Ambiente Protegido 

    Dos de los objetivos de WINDOWS son personalidad y compatibilidad. Esto ha sido logrado a través de los

    subsistemas de ambiente protegido.

    La personalidad esencialmente significa que WINDOWS expone múltiples conjuntos de interfaces de

    programas de aplicación (APIs) y puede actuar eficazmente como si fuera un sistema operativo diferente.

    WINDOWS viene con una personalidad POSIX y OS/2 además de sus personalidades Win32, Win16 y DOS.

    En WINDOWS, hay tres subsistemas de ambiente protegido:

      El subsistema de Win32

      El subsistema de POSIX

      El subsistema de OS/2

    Aunque algunas veces se muestran las personalidades Win16 y DOS incluidas en una lista de subsistemas

    de ambiente protegido, ellas realmente son parte del subsistema Win32.

    Los subsistemas de ambiente protegido actúan como los mediadores entre las aplicaciones del Modo Usuario

     y el Ejecutor de Windows.

    Recuerde que el Ejecutor de Windows y todos sus componentes viven en el Modo Privilegiado o Modo

    Kernel, mientras que todos los demás viven en el Modo Usuario, esto incluye todos los subsistemas de

    ambiente. Cuando una aplicación hace una llamada a un subsistema de ambiente, este es pasado a través de

    una capa de servicios del Ejecutor de Windows.

    Cada subsistema de ambiente guarda huella de sus propios procesos y trabaja independientemente de los

    otros subsistemas. Cada aplicación sólo puede correr en el subsistema para el cual fue diseñado. Cuando

    http://www.monografias.com/trabajos/lacomunica/lacomunica.shtmlhttp://www.monografias.com/Computacion/Redes/http://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/trabajos16/metodo-lecto-escritura/metodo-lecto-escritura.shtmlhttp://www.monografias.com/trabajos16/metodo-lecto-escritura/metodo-lecto-escritura.shtmlhttp://www.monografias.com/trabajos14/personalidad/personalidad.shtmlhttp://www.monografias.com/trabajos14/personalidad/personalidad.shtmlhttp://www.monografias.com/trabajos16/metodo-lecto-escritura/metodo-lecto-escritura.shtmlhttp://www.monografias.com/trabajos16/metodo-lecto-escritura/metodo-lecto-escritura.shtmlhttp://www.monografias.com/trabajos11/metods/metods.shtmlhttp://www.monografias.com/Computacion/Redes/http://www.monografias.com/trabajos/lacomunica/lacomunica.shtml

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    14/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado14 de 24

    usted inicia una aplicación en WINDOWS, mira el encabezamiento representado por el archivo y determina

    en cuál subsistema ejecutar la aplicación.

    2.2 El Subsistema Win32 

    Win32 es el subsistema nativo y primario de WINDOWS. Las bases para este subsistema es el conjunto de

    APIs de Win32. Muchos de estas API son extensiones directas de sus homólogas Win16.

    Este subsistema actúa como un servidor para todos los otros subsistemas de ambiente soportados en

    WINDOWS, los que actúan como clientes y traducen sus llamadas API hacia las API apropiadas de Win32.

    El subsistema Win32 es responsable de toda la entrada y salida. Este posee el control de la pantalla,

    el teclado, y el ratón. Cuando otros subsistemas, como OS/2 o POSIX, necesitan beneficiarse de estos

    dispositivos, ellos piden los servicios al subsistema de Win32.

    Algunos de los objetivos que se trazaron para mantener la compatibilidad con las aplicaciones hechas en

    versiones anteriores fueron:

      Permitir que los programas hechos sobre DOS pudieran correr sin modificación.  Suministrar la capacidad para ejecutar la mayoría de las aplicaciones Windows de 16 bits sin

    modificación

      Proteger al sistema y otras aplicaciones de 32 bits de la interferencia de las aplicaciones de 16 bits y

    DOS.

      Permitir a las plataformas RISC (Reduced Instruction set Computer, microprocesador cuyo número de

    instrucciones es reducido para lograr una frecuencia más alta de trabajo) ejecutar aplicaciones

    Windows de 16 bits y DOS.

      Suministrar un mecanismo para compartir datos entre aplicaciones Windows de 32 y 16 bits.

    Muchas personas piensan en Windows 3.x como un Sistema Operativo. Técnicamente, no es un verdaderoSistema Operativo, sino una interfaz de usuario que es miembro del DOS, el verdadero Sistema Operativo.

    Así que, el primer paso en proporcionar compatibilidad fue crear un ambiente de DOS. El ambiente de DOS

    en WINDOWS se llama la máquina virtual de DOS (Machine DOS Virtual o VDM). El VDM es una

    aplicación de modo usuario de 32 bits el cual solicita los servicios del subsistema de Win32 y en ocasiones

    directamente a la capa de servicios del sistema. Es basado en DOS 5.0.

    WINDOWS permite ejecutar tantas aplicaciones de DOS como uno desee, donde cada aplicación corre en su

    propio VDM. Puesto que los VDMs son nada más que procesos normales bajo WINDOWS, ellos también son

    multitarea preventiva al igual que otros procesos en el sistema. Por consiguiente, puede decirse que

    WINDOWS permite la multitarea preventiva de programas de DOS.

    Uno de los rasgos adicionales del VDM es que le da 620 KB de memoria "convencional" libre al usuario. Lo

    milagroso sobre esto es que también da a las aplicaciones de DOS soporte de ratón, red, y  CD-ROM. 

    El Subsistema Win32 es el más importante, ya que atiende no sólo a las aplicaciones nativas de Windows,

    sino que para aquellos programas no Win32, reconoce su tipo y los lanza hacia el subsistema

    correspondiente. En el caso de que la aplicación sea MS-DOS o Windows de 16 bits (Windows 3.11 e

    http://www.monografias.com/trabajos5/sisope/sisope2.shtml#teclahttp://www.monografias.com/trabajos12/microco/microco.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos/multimediaycd/multimediaycd.shtmlhttp://www.monografias.com/trabajos/multimediaycd/multimediaycd.shtmlhttp://www.monografias.com/trabajos11/basda/basda.shtmlhttp://www.monografias.com/trabajos12/microco/microco.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope2.shtml#tecla

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    15/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado15 de 24

    inferiores), lo que hace es crear un nuevo subsistema protegido. Así, la aplicación DOS o Win16 se

    ejecutaría en el contexto de un proceso llamado VDM (Virtual DOS Machine, máquina virtual DOS), que no

    es más que un simulador de un ordenador funcionando bajo MS-DOS. El subsistema soporta una buena

    parte del API Win32. Así, se encarga de todo lo relacionado con la interfaz gráfica con el usuario (GUI),

    controlando las entradas del usuario y salidas de la aplicación.

    2.3 El Subsistema POSIX. 

    Microsoft prestó mucha atención a los diferentes estándares de sistemas abiertos cuando Windows NT

    estaba en vía de desarrollo. Ellos reconocieron el valor de soportar sistemas abiertos como un método para

     ganar aceptación de su nuevo sistema operativo avanzado dentro del mercado.

    Uno de los estándares más frecuentemente citados soportados por Windows es el POSIX (Interfaz de Sistema

    operativo Portable Basado en Unix), el cual representa la interfaz del Sistema Operativo portable y fue

    desarrollado por el IEEE (Instituto de Ingenieros en Electricidad y  Electrónica) como un método de

    proporcionar portabilidad a las aplicaciones hechas sobre plataformas UNIX. No obstante, POSIX se ha

    integrado en muchos sistemas no UNIX.

    Existen muchos niveles de obediencia con POSIX. Estos niveles representan un conjunto de evoluciones de

    propuestas, aunque no todas han sido aprobadas como estándares.

    El subsistema de POSIX requiere un mínimo de servicios que son proporcionados por WINDOWS. Cuando

    una aplicación de POSIX corre en WINDOWS, el subsistema es cargado y traduce las llamadas API

    del lenguaje C, requeridas para soportarlo en llamadas a APIs de Win32 las que son servidas por el

    subsistema Win32.

    Debido a la naturaleza limitada, el subsistema de POSIX en WINDOWS no suministra soporte para gestión

    de redes o sistema de seguridad.

    El Subsistema POSIX interacciona con el Ejecutor de Windows. Se encarga de definir aspectos específicos delSistema Operativo UNIX, como pueden ser las relaciones jerárquicas entre procesos padres e hijos (las

    cuales no existen en el subsistema Win32, por ejemplo, y que por consiguiente no aparecen implementadas

    directamente en el Ejecutor de Windows).

    2.4 El Subsistema OS/2. 

    El subsistema de OS/2 está implementado como un subsistema de ambiente protegido, parecido al

    subsistema POSIX. Este traduce las llamadas API de OS/2 en llamadas a APIs de Win32 que son servidas por

    el subsistema de Win32.

    El subsistema y sus aplicaciones corren en su propio espacio de memoria protegido de 32 bits y constituyen

    multitarea preventiva unas respecto a otras y respecto a otras aplicaciones que corren en el sistema.

    Además de un conjunto de motores APIs de OS/2, el subsistema implementa muchos APIs gestores

    de LAN (Red de Área Local), incluyendo tuberías, NETBIOS y mailslots. De esta manera difiere del subsistema

    POSIX ya que este no posee soporte para gestión de redes.

    El Subsistema OS/2 igual que el subsistema POSIX proporciona un entorno para aplicaciones UNIX, este

    http://www.monografias.com/trabajos14/deficitsuperavit/deficitsuperavit.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos10/nofu/nofu.shtmlhttp://www.monografias.com/trabajos5/electro/electro.shtmlhttp://www.monografias.com/trabajos4/lenguajec/lenguajec.shtmlhttp://www.monografias.com/trabajos36/naturaleza/naturaleza.shtmlhttp://www.monografias.com/trabajos10/motore/motore.shtmlhttp://www.monografias.com/trabajos15/redes-clasif/redes-clasif.shtmlhttp://www.monografias.com/trabajos15/redes-clasif/redes-clasif.shtmlhttp://www.monografias.com/trabajos10/motore/motore.shtmlhttp://www.monografias.com/trabajos36/naturaleza/naturaleza.shtmlhttp://www.monografias.com/trabajos4/lenguajec/lenguajec.shtmlhttp://www.monografias.com/trabajos5/electro/electro.shtmlhttp://www.monografias.com/trabajos10/nofu/nofu.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos14/deficitsuperavit/deficitsuperavit.shtml

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    16/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado16 de 24

    subsistema da soporte a las aplicaciones OS/2. Proporciona la

    interfaz gráfica y las llamadas al sistema; las llamadas son servidas con ayuda del Ejecutor de Windows.

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    17/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado17 de 24

     SISTEMA OPERATIVO OPEN SOURCE

    En español Open Source significa (Código abierto), significa que el Sistema Operativo es de distribución

     gratuita y su código es totalmente accesible por cualquier usuario para proponer mejoras y cosas por elestilo, un ejemplo de ello es Linux. Una de las razones por la que en ciertas oportunidades Microsoft es

    criticado, a todos nos gusta lo gratuito ¿Como no? Pero aun así Windows sigue siendo el jefe, pues es muy

    bueno. 

    LINUX 

    Linux se puede dividir generalmente en cuatro componentes principales: el núcleo(kernel), el shell, el

    sistema de archivos y las utilidades. El núcleo es el programa medular que ejecuta programas y gestiona

    dispositivos de hardware tales como los discos y las impresoras. El shell proporciona una interfaz para el

    usuario. Recibe órdenes del usuario y las envía al núcleo para ser ejecutadas. El sistema de archivos,

    organiza la forma en que se almacenan los archivos en dispositivos de almacenamientotales como los discos.

    Los archivos están organizados en directorios. Cada directorio puede contener un número cualquiera de

    subdirectorios, cada uno de los cuales puede a su vez, contener otros archivos. El núcleo, el shell y el sistema

    de archivos forman en conjunto la estructura básica del sistema operativo. Con estos tres elementos puede

    ejecutar programas, gestionar archivos e interactuar con el sistema. Además, Linux cuenta con unos

    programas de software llamados utilidades que han pasado a ser considerados como características estándar

    del sistema. Las utilidades son programas especializados, tales como editores, compiladores y programas de

    comunicaciones, que realizan operaciones de computación estándar. Incluso uno mismo puede crear suspropias utilidades

    http://2.bp.blogspot.com/_YqzjMwXdf5w/TKpREeVCmmI/AAAAAAAAAtM/n4B07jA4nhU/s1600/03-kernelpio.gif

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    18/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado18 de 24

    Como una alternativa a la interfaz de la línea de ordenes, Linux proporciona una interfaz gráfica de usuario

    (GUI) llamada X-Windows que cuenta con varios administradores de ventana que puede utilizar. Un

    administrador de ventana trabaja de forma muy parecida a los GUI de Windows y del Mac, posee ventanas

    iconos y menús, todos ellos gestionados por medio del ratón. Dos de los administradores de programas más

    populares son el Free Virtual Window Manager y el Open Look Window Managger, además de los

    administradores de ventanas X-Windows también utiliza un administrador de archivos y uno deprogramas.

    El sistema de archivos de Linux organiza los archivos en directorios, de forma similar al DOS. Todo el

    sistema de archivos de Linux es un gran conjunto interconectado de directorios que están organizado en

    una estructura jerárquica de árbol. Linux posee un gran número de utilidades que se pueden clasificar en

    tres categorías: editores, filtros y programas de comunicaciones. Y a diferencia de otros sistemas operativos

    se distribuye de forma gratuita bajo una licencia publica de GNU de la Free Software Foundation (Fundación

    de programas libres) lo que básicamente significa que puede ser copiado libremente, cambiado y distribuido

    dejando siempre disponible el código fuente.

    El software de Linux es frecuentemente desarrollado por varios usuarios que deciden trabajar

    conjuntamente en un proyecto. Una vez que se ha completado se instala en una localización ftp de Internet.Cualquier usuario de Linux puede acceder a la localización y descargar el software.

    EL SHELL

    El shell proporciona una interfaz entre el núcleo y el usuario. Se puede describir como un intérprete:

    interpreta las órdenes que introduce el usuario y las envía al núcleo. La interfaz del shell es muy sencilla.

    Normalmente consiste en un inductor desde el que se teclea una orden y después se pulsa enter. En cierta

    forma, se está tecleando una orden en una línea. A menudo, esta línea se conoce como la línea de órdenes.

    http://1.bp.blogspot.com/_YqzjMwXdf5w/TKpUz8oXnoI/AAAAAAAAAtQ/KI8FhYyOpao/s1600/shell.png

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    19/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado19 de 24

    Como una alternativa a la interfaz de la línea de órdenes, Linux proporciona una interfaz gráfica de

    usuario(GUI) llamada X-Windows, que cuenta con varios administradores de ventanas que puede utilizar.

    Dos de los administradores de ventanas más populares son el Free Virtual Window Manager (fvwm) y el

    Open Look Window Manager (olwm).

    Aunque un administrador de ventanas constituye una interfaz flexible y vistosa, hay que tener presente que

    tan solo es un añadido al shell. El administrador de ventanas simplemente le pasa al shell las órdenes querecibe, éste las interpreta y las envía de nuevo al núcleo, para ser ejecutadas.

    A lo largo de los años se han hido desarrollando varios tipos de diferentes de shell. En la actualidad, hay tres

    shells principales: Bourne, Korn y C-shell. El shell Bourne fue desarrollado en el Laboratorio Bell para el

    sistemaV. El C-shell fue desarrollado para la versión BSD del Unix. El shell Korn es una mejora y ampliación

    del shell Bourne. Linux usa versiones mejoradas o de dominio público de estos shells: el shell Bourne Again,

    el TC-shell y el shell Korn. Una ves que inicie su sistema Linux, se encontrará en el shell Bourne Again;

    donde se podrá acceder a los demás.

    SISTEMA DE ARCHIVOS 

    Los directorios están organizados en una estructura jerárquica de árbol, que empieza en un directorio raíz

    (root) inicial. Todos los demás directorios se derivan, en última instancia, de este primer directorio raíz.

    CARACTERISTICAS 

    • Multitarea:  La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo.

    LINUX utiliza la llamada multitarea preventiva, la cual asegura que todos los programas que se están

    utilizando en un momento dado serán ejecutados, siendo el sistema operativo el encargado de ceder tiempo

    de microprocesador a cada programa.

    http://4.bp.blogspot.com/_YqzjMwXdf5w/TKpVS30MbTI/AAAAAAAAAtU/h5Dd5VYwJjA/s1600/fhs-esp.jpg

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    20/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado20 de 24

    • Multiusuario:  Muchos usuarios usando la misma maquina al mismo tiempo.

    • Multiplataforma:  Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-.

    Pentium, Pentium Pro, Pentium II,Amiga y Atari, tambien existen versiones para su utilizacion en otras

    plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC.

    • Multiprocesador:  Soporte para sistemas con mas de un procesador esta disponible para Intel y SPARC.

    •  Funciona en modo protegido 386.

    •  Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema.

    •  Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa que están

    siendo usadas actualmente.

    •  Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios

    procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa

    memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos

    beneficios: aumenta la velocidad y reduce el uso de memoria.

    •  Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una partición o un

    archivo en el sistema de archivos, o ambos, con la posibilidad de añadir más áreas de intercambio sobre la

    marcha Un total de 16 zonas de intercambio de 128Mb de tamaño máximo pueden ser usadas en un

    momento dado con un límite teórico de 2Gb para intercambio. Este limite se puede aumentar fácilmente con

    el cambio de unas cuantas líneas en el código fuente.

    •  La memoria se gestiona como un recurso unificado para los programas de usuario y para el caché de

    disco, de tal forma que toda la memoria libre puede ser usada para caché y ésta puede a su vez ser reducida

    cuando se ejecuten grandes programas.

    •  Todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las herramientas

    de desarrollo y todos los programas de usuario; además todo ello se puede distribuir libremente. Hay

    algunos programas comerciales que están siendo ofrecidos para Linux actualmente sin código fuente, pero

    todo lo que ha sido gratuito sigue siendo gratuito.

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    21/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado21 de 24

    •  Emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer su propia emulación

    matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático. Por

    supuesto, si el ordenador ya tiene una FPU (unidad de coma flotante), esta será usada en lugar de laemulación, pudiendo incluso compilar tu propio kernel sin la emulación matemática y conseguir un

    pequeño ahorro de memoria.

    • Soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos dinámicamente.

    • Consolas virtuales múltiples: varias sesiones de login a través de la consola entre las que se puede cambiar

    con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean

    dinámicamente y puedes tener hasta 64.

    • Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivosespecial: no es necesario ningún comando especial para usar la partición MS-DOS, esta parece un sistema

    de archivos normal de Unix (excepto por algunas restricciones en los nombres de archivo, permisos, y esas

    cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo

    sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido añadido al núcleo de desarrollo y estará

    en la próxima versión estable.

    • Un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de

    archivos DOS.

    http://3.bp.blogspot.com/_YqzjMwXdf5w/TKpZHwkJqsI/AAAAAAAAAtg/Tem5gVEBv04/s1600/linux-netbook.png

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    22/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado22 de 24

    • Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM.

    • TCP/IP, incluyendo ftp, telnet, NFS, etc.

    • Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP, Netrom, etc.

    CARACTERISTICAS GENERALES 

    Linux es un kernel monolítico

    Es capaz de linkar módulos en tiempo de ejecución

    No está diseñado a partir de hilos de núcleo

    Tiene un diseño reentrante de modo que pueden existir varios procesos en modo núcleo 'ejecutándose' a la

    vez.

    Tiene soporte para aplicaciones de usuario multihilo

    Compatible con estándares: POSIX, las APIs del UNIX SysV y los sockets BSDAdmite multiproceso simétrico (SMP)

    No expropiativo

    SEGURIDAD 

    Se debe tener cuidado con esté sistema. Verificando los registros (logs) del sistema, tales como

    /var/log/messages y no perder de vista el sistema.

    Se debe tener el sistema actualizado, estar seguro de que se ha instalado las versiones actuales de los

    programas y estar al tanto de las nuevas alertas de seguridad.

    http://4.bp.blogspot.com/_YqzjMwXdf5w/TKpW_OeuiKI/AAAAAAAAAtY/SFrkfeZDICY/s1600/linux-desbloquear-cd.png

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    23/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    Mario Fernando Vásquez Alvarado23 de 24

    Filosofías contradictorias

    El software libre aboga por dar libertad al usuario  para que pueda utilizar el software como más le

    convenga: modificarlo y distribuirlo, o mejorarlo y venderlo, solucionar errores... lo que necesite. Es

    software que apuesta por el bien común: se pueden mejorar aplicaciones hechas por otros desarrolladores;

    lo cual lleva a que invirtiendo el mismo tiempo se crean aplicaciones mejores ya que no hay que comenzar a

    desarrollarlas desde cero.

    El software propietario limita el uso que podemos hacer del software a ciertas condiciones bajo la licencia

    que compramos. Habitualmente no permite realizar copias ni usar una licencia en más de un ordenador al

    mismo tiempo. Se debe a que han realizado una inversión en investigación, desarrollo, pruebas... y deben

    proteger su trabajo para que nadie lo copie y puedan desarrollar productos similares ahorrando ese trabajo

    previo.

    ¿Tienen sentido las restricciones del software propietario?

    Cuando el desarrollo de un software crea una nueva tecnología (útil) es lógico que el creador quiera

    proteger su trabajo ya que ha realizado una inversión en investigación, codificación, pruebas... que debe

    añadir al precio del software. Si libera ese software cualquier otro desarrollador estaría en ventaja ya que

    podría lanzar un producto similar o mejor, usando esa tecnología y ahorrándose los costes que el

    desarrollador inicial ha tenido para crearla.

    Una empresa podría optar por desarrollar software libre, por ejemplo, cuando ya existe un software

    propietario que lidera el mercado. Sería el caso de OpenOffice. Ofrecer un producto similar pero libre (y

     gratuito) anima a muchos usuarios a cambiar de producto, consiguiendo una ventaja tanto para el usuario

    (tiene un producto similar y gratuito) como para la empresa (más usuarios significa más soporte técnico,

    más instalaciones, más personalizaciones...) y todos salen ganando.

    ¿Por qué el software libre es gratuito?

    Ésta es una creencia errónea y bastante común. El software libre lo es porque no pone restricciones, porque

    da libertad al usuario para usarlo; nada tiene que ver con el precio. Comúnmente se dice que hay que 

    entender el concepto de "libre" como uso libre y no como barra libre. La confusión se debe a que este

    software suele ser gratuito, pero no es ningún requisito. Un programa libre puede ser de pago; el problema

    es que, debido a las características del software libre, otro desarrollador podría modificarlo y distribuirlo a

    un precio más bajo. Al final, el precio tiende a cero; y por eso tiene que tener otras formas de financiación,como ya vimos cuando hablamos de cómo genera dinero el software libre. 

    Existe software libre comercial;  aplicaciones que se distribuyen bajo software libre para las que los

    desarrolladores ofrecen contratos de mantenimiento. Más información en GNU

    http://gratis.portalprogramas.com/OpenOffice.htmlhttp://www.portalprogramas.com/milbits/informatica/como-genera-dinero-el-software-libre.htmlhttp://www.gnu.org/philosophy/categories.es.html#TOCcommercialSoftwarehttp://www.gnu.org/philosophy/categories.es.html#TOCcommercialSoftwarehttp://www.portalprogramas.com/milbits/informatica/como-genera-dinero-el-software-libre.htmlhttp://gratis.portalprogramas.com/OpenOffice.html

  • 8/19/2019 SISOPE 1 - TRABAJO 1

    24/24

    Sistemas Operativos I

    Escuela de Ingeniería Informática Universidad Nacional de Trujillo

    ¿Qué ventajas ofrece el software propietario?

    Al haber una inversión detrás se garantiza una calidad mínima del producto así como

    actualizaciones periódicas. En el software libre es común que proyectos pequeños queden desactualizados.

    De hecho, la mayoría del software más utilizado es software propietario y la mayoría no tienen software

    libre que ofrezca las mismas características: Nero, Photoshop, AVG antivirus...Es más fácil encontrar personal con conocimientos de software propietario que de software libre: Office, 

    Nero, Excel... son programas más comunes que OpenOffice o InfraRecorder, por tanto no hay que invertir

    tiempo en aprender a usarlos.

    Al haber una empresa detrás, el software propietario da más seguridad. En general, es la percepción que se

    tiene pero la realidad es que detrás del software libre también hay muchas empresas que proporcionan

    soporte de software libre, que ya vimos que era una de las formas de financiar el software libre. 

    ¿Es mejor usar software libre o software propietario?

    No hay una respuesta clara porque depende las necesidades en cada caso. Para la mayoría de usuarios quebuscan aplicaciones gratuitas, tanto las aplicaciones freeware como el software libre cubrirán sus

    necesidades. En el caso de que se esté dispuesto a pagar el coste de tener más funcionalidades o servicios

    adicionales, el software propietario es una excelente opción.

    Como ya hemos visto, hay mercados en los que el software propietario no tiene rival, el ejemplo más claro es

    Photoshop: una licencia de este programa de edición de imágenes cuesta alrededor de 1.000 euros, mientras

    que alternativas libres como Gimp, con muchas menos funcionalidades, son gratuitas.

    http://gratis.portalprogramas.com/Nero.htmlhttp://gratis.portalprogramas.com/Photoshop.htmlhttp://www.portalprogramas.com/gratis/antivirushttp://gratis.portalprogramas.com/microsoft-office.htmlhttp://www.portalprogramas.com/milbits/informatica/como-genera-dinero-el-software-libre.htmlhttp://gratis.portalprogramas.com/Gimp.htmlhttp://gratis.portalprogramas.com/Gimp.htmlhttp://www.portalprogramas.com/milbits/informatica/como-genera-dinero-el-software-libre.htmlhttp://gratis.portalprogramas.com/microsoft-office.htmlhttp://www.portalprogramas.com/gratis/antivirushttp://gratis.portalprogramas.com/Photoshop.htmlhttp://gratis.portalprogramas.com/Nero.html