Monografias.com > Computación > Sistemas Operativos
Descargar Imprimir Comentar Ver trabajos relacionados

Los Sistemas Operativos: su historia y su concepto




Enviado por sandycc01



    1. ¿Qué es un Sistema
      Operativo?
    2. Bibliografía

    A lo largo de la historia muchas cosas sufren una serie
    de cambios y los sistemas
    operativos no son la excepción, claro que en este caso
    se habalran son de las generaciones de los Sistemas
    Operativos:

    • Generación Ceroà A finales de los 40's el uso de
      computadoras
      estaba restringido a aquellas empresas o
      instituciones que podían pagar su alto
      precio, y no
      existían los sistemas operativos. En su lugar, el
      programador debía tener un conocimiento
      y contacto profundo con el hardware, y en
      el infortunado caso de que su programa
      fallara, debía examinar los valores
      de los registros y
      páneles de luces indicadoras del estado de
      la
      computadora para determinar la causa del fallo y poder
      corregir su programa, además de enfrentarse nuevamente a
      los procedimientos
      de apartar tiempo del
      sistema y poner
      a punto los compiladores,
      ligadores, etc; para volver a correr su programa, es decir,
      enfrentaba el problema del procesamiento serial ( serial
      processing )
    • Primera Generacionà La importancia de los sistemas
      operativos nace históricamente desde los 50's, cuando se
      hizo evidente que el operar una computadora
      por medio de tableros enchufables y luego por medio del
      trabajo en
      lote se podía mejorar notoriamente, pues el operador
      realizaba siempre una secuencia de pasos repetitivos, lo cual
      es una de las características contempladas en la
      definición de lo que es un programa. Es decir, se
      comenzó a ver que las tareas mismas del operador
      podían plasmarse en un programa, el cual a través
      del tiempo y por su enorme complejidad se le llamó
      "Sistema
      Operativo". Cuando
      el trabajo estaba en ejecución,
      este tenia
      control total de la maquina. Al terminar cada
      trabajo, el
      control era devuelto al sistema operativo, el
      cual limpiaba y leía e iniciaba
      el trabajo siguiente. Así,
      tenemos entre los primeros sistemas operativos al Fortran
      Monitor
      System ( FMS ) e IBSYS [Tan92].
    • Segunda Generacionà A mediado de los años 60's
      junto con la tercera generación de computadoras nace uno
      de los primeros sistemas operativos con la filosofía de
      administrar una familia de
      computadoras: el OS/360 de IBM. Fue este un proyecto tan
      novedoso y ambicioso que enfrentó por primera vez una
      serie de problemas
      conflictivos debido a que anteriormente las computadoras eran
      creadas para dos propósitos en general: el comercial y
      el científico. Así, al tratar de crear un solo
      sistema operativo para computadoras que podían dedicarse
      a un propósito, al otro o ambos, puso en evidencia la
      problemática del trabajo en equipos de análisis, diseño e implantación de sistemas
      grandes. El resultado fue un sistema del cual uno de sus mismos
      diseñadores patentizó su opinión en la
      portada de un libro: una
      horda de bestias prehistóricas atascadas en un foso de
      brea. Surge también en la tercera generación de
      computadoras el concepto de la
      multiprogramación, porque debido al alto costo de las
      computadoras era necesario idear un esquema de trabajo que
      mantuviese a la unidad central de procesamiento más
      tiempo ocupada, así como el encolado (spooling ) de
      trabajos para su lectura
      hacia los lugares libres de memoria o la
      escritura de
      resultados. Sin embargo, se puede afirmar que los sistemas
      durante la esta generación siguieron siendo
      básicamente sistemas de lote.
    • Tercera Generacionà Se inicia en 1964, con la introducción de
      la familia de computadores Sistema/360
      de IBM. Los computadores de esta generación fueron
      diseñados como sistemas para usos generales . Casi
      siempre eran sistemas grandes, voluminosos, con el
      propósito de serlo todo para toda la gente. Eran
      sistemas de modos múltiples, algunos de ellos soportaban
      simultáneamente
      procesos por lotes, tiempo compartido,
      procesamiento de tiempo real y multiprocesamiento. Eran grandes
      y costosos, nunca antes se había construido algo
      similar, y muchos de los esfuerzos de desarrollo
      terminaron muy por arriba del
      presupuesto y mucho después de lo que
      el planificador marcaba como fecha de terminación. Estos
      sistemas introdujeron mayor complejidad a los ambientes
      computacionales; una complejidad a la cual, en un principio, no
      estaban acostumbrados los usuarios
    • Cuarta Generacionà A mediados de los 70's la electrónica avanza hacia la integración a gran escala,
      pudiendo crear circuitos
      con miles de transistores en
      un centímetro cuadrado de silicón y ya es posible
      hablar de las computadoras personales y las estaciones de
      trabajo. Surgen los conceptos de interfaces amigables
      intentando así atraer al público en general al
      uso de las computadoras como herramientas
      cotidianas. Se hacen populares el MS-DOS y
      UNIX en
      estas máquinas. También es común
      encontrar clones de computadoras personales y una multitud de
      empresas pequeñas ensamblándolas por todo el
      mundo.Para mediados de los 80's, comienza el auge de las
      redes de
      computadoras y la necesidad de sistemas operativos en red y sistemas operativos
      distribuidos. La red mundial Internet se va
      haciendo accesible a toda clase de
      instituciones y se comienzan a dar muchas soluciones (
      y problemas ) al querer hacer convivir recursos
      residentes en computadoras con sistemas operativos diferentes.
      Para los 90's el paradigma de
      la programación orientada a objetos cobra
      auge, así como el manejo de objetos desde los sistemas
      operativos. Las aplicaciones intentan crearse para ser
      ejecutadas en una plataforma específica y poder ver sus
      resultados en la pantalla o monitor de otra diferente (por
      ejemplo, ejecutar una simulación en una máquina con UNIX
      y ver los resultados en otra con DOS ). Los niveles de interacción se van haciendo cada vez
      más profundos.

    ¿Qué es un Sistema
    Operativo?

    Un Sistema Operativo es el software encargado de
    ejercer el control y
    coordinar el uso del hardware entre diferentes programas de
    aplicación y los diferentes usuarios. Es un administrador de
    los recursos de hardware del sistema.  En una
    definición informal es un sistema que consiste en ofrecer
    una distribución ordenada y controlada de los
    procesadores,
    memorias y
    dispositivos de E/S entre los diversos programas que compiten por
    ellos.
    A pesar de que todos nosotros usamos sistemas operativos casi a
    diario, es difícil definir qué es un sistema
    operativo. En parte, esto se debe a que los sistemas operativos
    realizan dos funciones
    diferentes: El primero es proveer una máquina virtual, es
    decir, un ambiente en el
    cual el usuario pueda ejecutar programas de manera conveniente,
    protegiéndolo de los detalles y complejidades del
    hardware; y el segundo es administrar eficientemente los recursos
    del computador

    Es también un programa que actúa como
    intermediario entre el usuario y el hardware de un computador y
    su propósito es proporcionar un entorno en el cual el
    usuario pueda ejecutar programas. El objetivo
    principal de un Sistema Operativo es, entonces, lograr que el
    Sistema de computación se use de manera
    moda, y el
    objetivo secundario es que el hardware del computador se emplee
    de manera eficiente.
    Un Sistema Operativo es una parte importante de cualquier sistema
    de computación. Un sistema de computación puede
    dividirse en cuatro componentes: el hardware, el Sistema
    Operativo, los programas de aplicación y los
    usuarios.

    El hardware (Unidad Central de Procesamiento (UCP),
    memoria y dispositivos de
    entrada/salida (E/S)) proporciona los recursos de
    computación básicos. Los programas de
    aplicación (compiladores, sistemas de bases de datos,
    juegos de
    vídeo y programas para negocios)
    definen la forma en que estos recursos se emplean para resolver
    los problemas de computación de los usuarios.

    Administradores

    Administrador de
    Memoria
    à Aquí se describen las
    técnicas más usuales en el manejo de
    memoria, revisando los conceptos relevantes. Se abarcan los
    esquemas de manejo simple de memoria real, la
    multiprogramación en memoria real con sus variantes, el
    concepto de `overlays', la multiprogramación con
    intercambio y los esquemas de manejo de memoria
    virtual.

    • Manejo de Memoria en Sistema Monousuario sin
      Intercambio
      :

    se usa principalmente en sistemas monousuario y
    monotarea, como son las computadoras personales con DOS. Bajo
    este esquema, la memoria
    real es tomada para almacenar el programa que se esté
    ejecutando en un momento dado, con la visible desventaja de que
    si se está limitado a la cantidad de RAM
    disponible únicamente. La
    organización física bajo este
    esquema es muy simple: El sistema operativo se ubica en las
    localidades superiores o inferiores de la memoria, seguido por
    algunos manejadores de dispositivos (`drivers' ). Esto deja un
    espacio contiguo de memoria disponible que es tomado por los
    programas del usuario, dejando generalmente la ubicación
    de la pila (` stack') al último, con el objetivo de que
    ésta pueda crecer hasta el máximo posible. Como
    es obvio, bajo estos esquemas no se requieren algoritmos
    sofisticados para asignar la memoria a los diferentes procesos, ya
    que éstos son ejecutados secuencialmente conforme van
    terminando.

    • Multiprogramación en Memoria Real: En los
      60's, las empresas e instituciones que habían invertido
      grandes sumas en la compra de equipo de cómputo se
      dieron cuenta rápidamente que los sistemas en lote
      invertían una gran cantidad de tiempo en operaciones de
      entrada y salida, donde la intervención de la unidad
      central de procesamiento era prácticamente nula, y se
      comenzaron a preguntar cómo hacer que se mantuviera
      más tiempo ocupada. Fue así como nació el
      concepto de multiprogramación, el cual consiste en la
      idea de poner en la memoria física más de un
      proceso al
      mismo tiempo, de manera que si el que se está ejecutando
      en este momento entraba en un periodo de entrada/salida, se
      podía tomar otro proceso para que usara la unidad
      central de procesamiento. De esta forma, la memoria
      física se dividía en secciones de tamaño
      suficiente para contener a varios programas.

    Administrador de
    Procesos
    à En este administrador se
    encuentra el modulo de la planificación del procesador el
    cual se describe a continuación:

    • Planificación del procesador: La
      planificación del procesador se refiere a la manera o
      técnicas que se usan para decidir cuánto tiempo
      de ejecución y cuando se le asignan a cada proceso del
      sistema. Obviamente, si el sistema es monousuario y monotarea
      no hay mucho que decidir, pero en el resto de los sistemas esto
      es crucial para el buen funcionamiento del sistema. En los sistemas de
      planificación generalmente se identifican tres niveles:
      el alto, el medio y el bajo. El nivel alto decide que trabajos
      (conjunto de procesos) son candidatos a convertirse en procesos
      compitiendo por los recursos del sistema; el nivel intermedio
      decide que procesos se suspenden o reanudan para lograr ciertas
      metas de rendimiento mientras que el planificador de bajo nivel
      es el que decide que proceso, de los que ya están listos
      (y que en algún momento paso por los otros dos
      planificadores) es al que le toca ahora estar
      ejecutándose en la unidad central de procesamiento. En
      este trabajo se revisaran principalmente los planificadores de
      bajo nivel porque son los que finalmente eligen al proceso en
      ejecución.

    Objetivos de la
    Planificación: Una estrategia de
    planificación debe buscar que los procesos obtengan sus
    turnos de ejecución apropiadamente, conjuntamente con un
    buen rendimiento y minimización de la sobrecarga
    (overhead) del planificador mismo. En general, se buscan cinco
    objetivos
    principales:

    • Justicia o Imparcialidad: Todos los procesos
      son tratados de
      la misma forma, y en algún momento obtienen su turno de
      ejecución o intervalos de tiempo de ejecución
      hasta su terminación exitosa.
    • Maximizar la Producción: El sistema debe de
      finalizar el mayor numero de procesos en por unidad de
      tiempo.
    • Maximizar el Tiempo de Respuesta: Cada usuario
      o proceso debe observar que el sistema les responde
      consistentemente a sus requerimientos.
    • Evitar el aplazamiento indefinido: Los
      procesos deben terminar en un plazo finito de
      tiempo.
    • El sistema debe ser predecible: Ante cargas de
      trabajo ligeras el sistema debe responder rápido y con
      cargas pesadas debe ir degradándose paulatinamente. Otro
      punto de vista de esto es que si se ejecuta el mismo proceso en
      cargas similares de todo el sistema, la respuesta en todos los
      casos debe ser similar.

    Características a considerar de los
    procesos: No todos los equipos de cómputo procesan el
    mismo tipo de trabajos, y un algoritmo de
    planificación que en un sistema funciona excelente puede
    dar un rendimiento pésimo en otro cuyos procesos tienen
    características diferentes. Estas características
    pueden ser:

    • Cantidad de Entrada/Salida: Existen procesos
      que realizan una gran cantidad de operaciones de entrada y
      salida (aplicaciones de bases de datos, por
      ejemplo).
    • Cantidad de Uso de CPU:
      Existen procesos que no realizan muchas operaciones de entrada
      y salida, sino que usan intensivamente la unidad central de
      procesamiento. Por ejemplo, operaciones con matrices.
    • Procesos de Lote o Interactivos: Un proceso de
      lote es más eficiente en cuanto a la lectura
      de datos, ya que generalmente lo hace de archivos,
      mientras que un programa interactivo espera mucho tiempo (no es
      lo mismo el tiempo de lectura de un archivo que la
      velocidad en
      que una persona teclea
      datos) por las respuestas de los usuarios.
    • Procesos en Tiempo Real: Si los procesos deben
      dar respuesta en tiempo real se requiere que tengan prioridad
      para los turnos de ejecución.
    • Longevidad de los Procesos: Existen procesos
      que típicamente requerirán varias horas para
      finalizar su labor, mientras que existen otros que solo
      necesitan algunos segundos.

    BIBLIOGRAFIA:

    Seminario Sistemas Operativos (SO), Internet
    Explorer.

    Presentado por:

    Angellen Barrios

    Sandra Certain

    Zuhelen Trespalacios

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter