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

Historia de los sistemas operativos




Enviado por duenas_




    1.
    ¿Qué es un sistema operativo?

    2. Historia de los sistemas
    operativos

    3. Conceptos de los Sistemas
    Operativos

    4. Shell (intérprete de
    comandos):

    5. Estructura de un Sistema
    Operativo

    1. ¿Qué es
    un
    sistema
    operativo?

    Un sistema operativo
    es el programa que
    oculta la verdad del hardware al programador y
    presenta una vista simple y agradable de los archivos
    nominados que pueden leerse y escribirse. Es sistema operativo
    resguarda al programador del hardware del disco y
    presenta una interfaz simple orientada al archivo,
    también disimula mucho del trabajo concerniente a
    interrupciones, relojes o cronómetros, manejo de memoria y otras
    características de bajo nivel.

    La función
    del sistema operativo
    es la de presentar al usuario con el equivalente de una
    máquina ampliada o máquina virtual que sea
    más fácil de programar que el hardware
    implícito.

    2. Historia de los sistemas
    operativos

    Los Sistemas
    Operativos, al igual que el Hardware de los computadores, han
    sufrido una serie de cambios revolucionarios llamados
    generaciones. En el caso del Hardware, las generaciones han sido
    marcadas por grandes avances en los componentes utilizados,
    pasando de válvulas (
    primera generación ) a transistores (
    segunda generación ), a circuitos
    integrados ( tercera generación), a circuitos
    integrados de gran y muy gran escala (cuarta
    generación). Cada generación Sucesiva de hardware
    ha ido acompañada de reducciones substanciales en los
    costos,
    tamaño, emisión de calor y
    consumo de
    energía, y por incrementos notables en velocidad y
    capacidad.

    Generacion Cero (década de 1940)

    Los primeros sistemas computacionales no poseían
    sistemas
    operativos. Los usuarios tenían completo acceso al
    lenguaje de la
    maquina. Todas las instrucciones eran codificadas a
    mano.

    Primera Generacion (década de 1950)

    Los sistemas
    operativos de los años cincuenta fueron
    diseñados para hacer mas fluida la transición entre
    trabajos. Antes de que los sistemas fueran diseñados, se
    perdía un tiempo
    considerable entre la terminación de un trabajo y el
    inicio del siguiente. Este fue el comienzo de los sistemas de
    procesamiento por lotes, donde los trabajos se reunían por
    grupos o
    lotes. 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.

    Al inicio de los 50's esto había mejorado un poco
    con la introducción de tarjetas
    perforadas (las cuales servían para introducir los
    programas de
    lenguajes de máquina), puesto que ya no había
    necesidad de utilizar los tableros enchufables.

    Además el laboratorio de
    investigación General Motors
    implementó el primer sistema operativo para la IBM 701.
    Los sistemas de los 50's generalmente ejecutaban una sola tarea,
    y la transición entre tareas se suavizaba para lograr la
    máxima utilización del sistema. Esto se conoce como
    sistemas de procesamiento por lotes de un sólo flujo, ya
    que los programas y los
    datos eran
    sometidos en grupos o
    lotes.

    La introducción del transistor a
    mediados de los 50's cambió la imagen
    radicalmente.

    Se crearon máquinas
    suficientemente confiables las cuales se instalaban en lugares
    especialmente acondicionados, aunque sólo las grandes
    universidades y las grandes corporaciones o bien las oficinas del
    gobierno se
    podían dar el lujo de tenerlas.

    Para poder correr
    un trabajo (programa),
    tenían que escribirlo en papel (en
    Fortran o en lenguaje
    ensamblador) y después se perforaría en
    tarjetas.
    Enseguida se llevaría la pila de tarjetas al cuarto de
    introducción al sistema y la entregaría a uno de
    los operadores. Cuando la computadora
    terminara el trabajo, un operador se dirigiría a la
    impresora y
    desprendería la salida y la llevaría al cuarto de
    salida, para que la recogiera el programador.

    Segunda Generacion (a mitad de la década de
    1960)

    La característica de los sistemas
    operativos fue el desarrollo de
    los sistemas compartidos con multiprogramación, y los
    principios del
    multiprocesamiento. En los sistemas de multiprogramación,
    varios programas de usuario se encuentran al mismo tiempo en el
    almacenamiento
    principal, y el procesador se
    cambia rápidamente de un trabajo a otro. En los sistemas
    de multiprocesamiento se utilizan varios procesadores en
    un solo sistema computacional, con la finalidad de incrementar el
    poder de
    procesamiento de la maquina.

    La independencia
    de dispositivos aparece después. Un usuario que desea
    escribir datos en una
    cinta en sistemas de la primera generación tenia que hacer
    referencia especifica a una unidad de cinta particular. En la
    segunda generación, el programa del usuario especificaba
    tan solo que un archivo iba a ser
    escrito en una unidad de cinta con cierto numero de pistas y
    cierta densidad.

    Se desarrollo
    sistemas compartidos, en la que los usuarios podían
    acoplarse directamente con el computador a
    través de terminales. Surgieron sistemas de tiempo real,
    en que los computadores fueron utilizados en el control de
    procesos
    industriales. Los sistemas de tiempo real se caracterizan por
    proveer una respuesta inmediata.

    Tercera Generacion (mitad de década 1960 a mitad
    década de 1970)

    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 (mitad de década de 1970 en
    adelante)

    Los sistemas de la cuarta generación constituyen
    el estado
    actual de la tecnología. Muchos
    diseñadores y usuarios se sienten aun incómodos,
    después de sus experiencias con los sistemas operativos de
    la tercera generación.

    Con la ampliación del uso de redes de computadores y del
    procesamiento en línea los usuarios obtienen acceso a
    computadores alejados geográficamente a través de
    varios tipos de terminales.

    Los sistemas de seguridad se ha
    incrementado mucho ahora que la información pasa a través de varios
    tipos vulnerables de líneas de comunicación. La clave de cifrado esta
    recibiendo mucha atención; han sido necesario codificar los
    datos personales o de gran intimidad para que; aun si los datos
    son expuestos, no sean de utilidad a nadie
    mas que a los receptores adecuados.

    El porcentaje de la población que tiene acceso a un computador en
    la década de los ochenta es mucho mayor que nunca y
    aumenta rápidamente.

    El concepto de
    maquinas
    virtuales es utilizado. El usuario ya no se encuentra interesado
    en los detalles físicos de; sistema de computación que esta siendo accedida. En su
    lugar, el usuario ve un panorama llamado maquina virtual creado
    por el sistema operativo.

    Los sistemas de bases de datos
    han adquirido gran importancia. Nuestro mundo es una sociedad
    orientada hacia la información, y el trabajo de las bases de datos es
    hacer que esta información sea conveniente accesible de
    una manera controlada para aquellos que tienen derechos de
    acceso.

    3. Conceptos de los
    Sistemas Operativos

    Llamadas al Sistema:

    La interfaz entre el sistema operativo y los programas
    del usuario se define por medio del conjunto de "instrucciones
    extendidas" que el sistema operativo proporciona. Estas
    instrucciones extendidas se conocen como llamadas al sistema. Las
    llamadas al sistema varían de un sistema operativo a otro
    (aunque los conceptos fundamentales tienden a ser
    análogos).

    Las llamadas al sistema se clasifican normalmente en dos
    categorías generales: aquellas que se relacionan con
    procesos y la que lo hacen con el sistema de archivo.

    • Por Procesos: Un proceso es
      básicamente un programa en ejecución. Consta del
      programa ejecutable y la pila o stack del programa, su contador
      de programa, apuntador de pila y otros registros,
      así como la otra información que se necesita para
      ejecutar el programa. En si el proceso en
      el concepto de los
      sistemas operativos es como el sistema de tiempo compartido.
      Esto es, que en forma periódica, el sistema operativo
      decide suspender la ejecución de un proceso y dar inicio
      a la ejecución de otro, por ejemplo, porque el primero
      haya tomado ya más de su parte del tiempo de la CPU, en
      terrenos del segundo.

    Cuando un proceso se suspende temporalmente, debe
    reiniciarse después exactamente en el mismo estado en que
    se encontraba cuando se detuvo. Esto significa que toda la
    información relativa al proceso debe guardarse en forma
    explícita en algún lugar durante la
    suspensión. En muchos sistemas operativos, toda la
    información referente a cada proceso, diferente del
    contenido de su espacio de direcciones, se almacena en una tabla
    de sistema operativo llamada tabla de procesos, la cual es un
    arreglo (lista enlazada) de estructuras,
    una para cada proceso en existencia.

    Por lo tanto, un proceso (suspendido) consta de su
    espacio de direcciones, generalmente denominado imagen del
    núcleo (en honor de las memorias de
    imagen de núcleo magnético que se utilizaron en
    tiempos antiguos) y su registro de la
    tabla de procesos, que contiene sus registros entre
    otras cosas.

    • Por Sistema de Archivo: Una función importante
      del S.O. consiste en ocultar las peculiaridades de los discos y
      otros dispositivos de E/S y presentar al programador un
      modelo
      abstracto, limpio y agradable de archivos
      independientes del dispositivo. Las llamadas al sistema se
      necesitan con claridad para crear archivos, eliminarlos,
      leerlos y escribirlos. Antes de que se pueda leer un archivo,
      éste debe abrirse y después de que se haya
      leído debe cerrarse, de modo que las llamadas se dan
      para hacer estas cosas.

    Antes de que un archivo pueda leerse o escribirse,
    éste debe abrirse, en cuyo instante se verifican los
    permisos. Si se permite el acceso, el sistema produce un entero
    pequeño llamado descriptor del archivo para utilizarse
    en operaciones
    subsiguientes. Si se prohibe el acceso, se produce un código de error.

    4. Shell
    (intérprete de
    comandos):

    El sistema operativo es el código que realiza las
    llamadas al sistema. Los editores, compiladores,
    ensambladores, enlazadores e intérpretes de comandos
    definitivamente no son parte del sistema operativo, aunque son
    importantes y útiles. El Shell es el intérprete de
    comandos, a pesar de no ser parte del sistema operativo, hace un
    uso intenso de muchas características del sistema
    operativo y por tanto sirve como un buen ejemplo de la forma en
    que se pueden utilizar las llamadas al sistema. También es
    la interfaz primaria entre un usuario situado frente a su
    terminal y el sistema operativo.

    Cuando algún usuario entra al sistema, un "shell"
    se inicia. El shell tiene la terminal como entrada y como salida
    estándar. Este da inicio al teclear solicitud de entrada,
    carácter como un signo de pesos, el cual
    indica al usuario que el shell está esperando un comando.
    En MS-DOS
    normalmente aparece la letra de la unidad, seguida por dos puntos
    (:), el nombre del directorio en que se encuentra y por
    último el signo de "mayor que" (>). Esto es:
    C:>

    5. Estructura de
    un Sistema Operativo

    Internamente los sistemas operativos estructuralmente de
    se clasifican según como se hayan organizado
    intérnamente en su diseño,
    por esto la clasificación más común de los
    S.O. son:

    • Sistemas monolíticos:

    En estos sistemas operativos se escriben como un
    conjunto de procedimientos,
    cada uno de los cuales puede llamar a cualquiera de los otros
    siempre que lo necesite. Cuando se emplea esta técnica,
    cada procedimiento del
    sistema tiene una interfaz bien definida en términos de
    parámetros y resultados, y cada una tiene la libertad de
    llamar a cualquiera otra, si la última ofrece algún
    cálculo
    útil que la primera necesite.

    Para construir el programa objeto real del sistema
    operativo cuando se usa este método, se
    compilan todos los procedimientos
    individuales a archivos que contienen los procedimientos y
    después se combinan todos en un solo archivo objeto con el
    enlazador.

    En términos de ocultamiento de
    información, esencialmente no existe ninguno; todo
    procedimiento
    es visible para todos (al contrario de una estructura que
    contiene módulos o paquetes, en los cuales mucha
    información es local a un módulo y sólo
    pueden llamar puntos de registro
    designados oficialmente del exterior del
    módulo)

    Esta organización sugiere una estructura
    básica del sistema operativo:

    1.- Un programa central que invoque el procedimiento de
    servicio
    solicitado (Shell o Kernel)

    2.- Un conjunto de procedimientos de servicios que
    realice las llamadas al sistema.

    3.- Un conjunto de procedimientos de uso general que
    ayude a los procedimientos de servicio

    • Sistemas en estratos:

    Estos sistemas operativos se organizan como una
    jerarquía de estratos, cada uno construido arriba del que
    está debajo de él. El primer sistema construido en
    esta forma fuel el sistema THE que se fabricó en
    Technische Hogeschool Eindhoven de Holanda por E. W Dijkstra
    (1968) y sus alumnos. El sistema THE era un sistema de lote para
    una computadora
    alemana, la Electrológica X8, que tenía 32K de
    palabras de 27 bits ( los bits eran costosos en aquellos
    días)

    El sistema tenía 6 estratos, estos se muestran en
    la siguiente tabla:

    5

    Operador de THE

    4

    Programas del usuario

    3

    Administración de Entrada/Salida

    2

    Comunicación entre el operador y el
    proceso

    1

    Administración de la
    memoria y el tambor magnético

    0

    Distribución del procesador y
    multiprogramación

    – El estrato 0 trabajaba con la distribución del procesador, cambiando
    entre procesos cuando ocurrían interrupciones o los
    relojes expiraban. Sobre el estrato 0, el sistema constaba de
    procesos secuenciales, cada uno de los cuales podía
    programarse sin tener que preocuparse por el hecho de que
    múltiples procesos estuvieran corriendo en un solo
    procesador. En otras palabras, el estarto 0 ofrecía la
    multiprogramación básica de la CPU.

    El estrato 1 realizaba el manejo de memoria. Este
    distribuía espacio para procesos contenidos en la memoria
    central y en un tambor de 512K palabras que se usaba para
    contener partes de procesos (páginas) para las cuales no
    había espacio en la memoria central. Sobre el estrato 1,
    los procesos no tenía que preocuparse de si estaban en la
    memoria o en el tambor; el software del estrato 1 se
    hacía cargo de asegurar que las páginas se trajeran
    a la memoria siempre que se necesitaran.

    El estrato 2 manejaba la
    comunicación entre cada proceso y la consola de
    operador.

    El estrato 3 se hacía cargo de manejar los
    dispositivos de E/S y de separar la información en flujo
    que entraba y salí de ellos. Sobre el estrato 3 cada
    proceso podía trabajar con dispositivos de E/S abstractos
    con propiedades agradables, en vez de dispositivos reales con
    muchas peculiaridades

    El estrato 4 era donde se encontraban los programas de
    los usuarios. No tenían que preocuparse por el manejo de
    los procesos, memoria, consola o E/S. El proceso operador del
    sistema se localizaba en el estrato 5.

    Trabajo enviado y realizado por:

    Francisco Armando Dueñas
    Rodríguez

    Edad: 23 años
    Universidad La
    Salle
    Lic. en Informátic
    Cancún, Quintana Roo México

    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