Make your own free website on Tripod.com
Sistemas Operativos

Definiciones

Home
Red Wireless
Introducción
Definiciones
Historia de los S.O.
Tipos de S.O.
Tipos de Archivos
Administración de la Memoria
Administración de Procesos
Manejo de Entrada y Salida
Nucleos de Sistemas Operativos
Caso de Estudio: UNIX
Caso de Estudio: VMS
Caso de Estudio: OS/2
Caso de Estudio: Windows NT

 

¿Qué es un sistema operativo?

Un sistema operativo es un conjunto de programas de computadora diseñados especialmente para cubrir los siguientes objetivos:

  1. Servir como interfaz entre el equipo físico (hardware) de una computadora y el usuario, con el fin de presentar una "cara" más sencilla y amistosa al mismo, y

  2. Optimar los recursos (tanto de software como de hardware) con que cuenta una computadora y hacer utilizable ésta última.

 

¿Cómo está conformado un sistema operativo?

Un sistema operativo está conformado básicamente por cuatro módulos:

  • Núcleo o Kernel.
  • Administrador de memoria.
  • Sistema de entrada/salida.
  • Administrador de archivos.

A veces se considera un quinto módulo: el intérprete de comandos o intérprete de instrucciones, el cual se encarga de "traducir" las órdenes que el usuario ingresa mediante el teclado u otros dispositivos a un "lenguaje" que la máquina pueda entender.

Núcleo

Es el módulo de más bajo nivel de un sistema operativo, pues descansa directamente sobre el hardware de la computadora. Entre las tareas que desempeña se incluyen el manejo de las interrupciones, la asignación de trabajo al procesador y el proporcionar una vía de comunicación entre los distintos programas. En general, el núcleo se encarga de controlar el resto de los módulos y sincronizar su ejecución. El núcleo contiene un submódulo denominado "planificador", el cual se encarga de asignar tiempo del procesador a los programas, de acuerdo a una cierta política de planificación que varía de un sistema operativo a otro. Normalmente se utiliza una jerarquía de prioridades que determinan cómo se asignará el tiempo del CPU a cada programa. Una política de planificación muy común en los sistemas de multiprogramación y multiproceso son las técnicas de "time slicing" (fracción de tiempo). Se asigna a cada programa un corto intervalo de tiempo del procesador. Si el programa no ha terminado durante este intervalo de tiempo, vuelve a la cola de programas.

Administrador de memoria

Este módulo se encarga de asignar ciertas porciones de la memoria principal (RAM) a los diferentes programas o partes de los programas que la necesiten, mientras el resto de los datos y los programas se mantienen en los dispositivos de almacenamiento masivo. De este modo, cuando se asigna una parte de la memoria principal se hace de una forma estructurada, siguiendo un determinado orden. La forma más común de administración de la memoria supone crear una memoria virtual; con este sistema, la memoria de la computadora aparece, para cualquier usuario del sistema, mucho mayor de lo que en realidad es.

Sistema de entrada/salida (E/S)

Este componente presenta al usuario la E/S de datos como una cuestión independiente del dispositivo; es decir, para los usuarios, todos los dispositivos tienen las mismas características y son tratados de la misma forma, siendo el sistema operativo el encargado de atender las particularidades de cada uno de ellos (como su velocidad de operación). Una técnica muy común, especialmente en salida, es el uso de "spoolers". Los datos de salida se almacenan de forma temporal en una cola situada en un dispositivo de almacenamiento masivo (el spool), hasta que el dispositivo periférico requerido se encuentre libre; de este modo se evita que un programa quede retenido porque el periférico no esté disponible. El sistema operativo dispone de llamadas para añadir y eliminar archivos del spool.

Administrador de archivos

Se encarga de mantener la estructura de los datos y los programas del sistema y de los diferentes usuarios (que se mantienen en archivos) y de asegurar el uso eficiente de los medios de almacenamiento masivo. El administrador de archivos también supervisa la creación, actualización y eliminación de los archivos, manteniendo un directorio con todos los archivos que existen en el sistema en cada momento y coopera con el módulo administrador de memoria durante las transferencias de datos desde y hacia la memoria principal. Si se dispone de un sistema de memoria virtual, existen transferencias entre la memoria principal y los medios de almacenamiento masivo para mantener la estructura de la misma.

Los archivos almacenados en los dispositivos de almacenamiento masivo tienen distintos propósitos. Algunos contienen información que puede ser compartida. Otros son de carácter privado, e incluso secreto. Por tanto, cada archivo está dotado de un conjunto de privilegios de acceso, que indican la extensión con la que se puede compartir la información contenida en el archivo. El sistema operativo comprueba que estos privilegios no sean violados.

 

Características de un sistema operativo


Las características deseables más importantes de un sistema operativo son:

  • Permitir la concurrencia de procesos, traslapándose el tiempo de entrada/salida (E/S) con el de cálculo y ocupando la memoria con varios programas.
  • Posibilitar la ejecución de cualquier proceso en el momento que se solicite siempre y cuando haya suficientes recursos libres para él.
  • Ser eficiente en cuanto a reducir: el tiempo medio que ocupa cada trabajo, el tiempo que no se usa la CPU, el tiempo de respuesta en sistemas multiacceso y el plazo entre dos asignaciones de CPU a un mismo programa.
  • Ser eficiente en cuanto a aumentar la utilización de recursos en general, tales como memoria, procesadores, dispositivos de E/S, discos magnéticos, datos, etc.
  • Ser fiable, es decir, un sistema operativo no debe tener errores y debe prever todas las posibles situaciones.
  • Ser de tamaño pequeño.
  • Posibilitar y facilitar en lo posible el "diálogo" entre computadora y usuario de la misma.
  • Permitir compartir entre varios usuarios los recursos de hardware con que cuenta una computadora.
  • Permitir a los usuarios compartir datos entre ellos, en caso necesario.
  • Facilitar la E/S de los diferentes dispositivos conectados a una computadora.

 

Funciones de un sistema operativo

Las funciones más importantes que debe cumplir un sistema operativo son las siguientes:

  • Aceptar los trabajos y conservarlos hasta su finalización.
  • Detectar errores y actuar de modo apropiado en caso de que se produzcan.
  • Controlar las operaciones de E/S.
  • Controlar las interrupciones.
  • Planificar la ejecución de tareas.
  • Entregar recursos a las tareas.
  • Retirar recursos de las tareas.
  • Proteger la memoria contra el acceso indebido de los programas.
  • Soportar el multiacceso.
  • Proporcionar al usuario un sencillo manejo de todo el sistema.
  • Aprovechar los tiempos muertos del procesador.
  • Compartir los recursos de la máquina entre varios procesos al mismo tiempo.
  • Administrar eficientemente el sistema de cómputo como un todo armónico.
  • Permitir que los diferentes usuarios se comuniquen entre sí, así como protegerlos unos de otros.
  • Permitir a los usuarios almacenar información durante plazos medianos o largos.
  • Dar a los usuarios la facilidad de utilizar de manera sencilla todos los recursos, facilidades y lenguajes de que dispone la computadora.
  • Administrar y organizar los recursos de que dispone una computadora para la mejor utilización de la misma, en beneficio del mayor número posible de usuarios.
  • Controlar el acceso a los recursos de un sistema de computadoras.

 

Evolución de los sistemas operativos

Los sistemas operativos, al igual que el hardware, han sufrido cambios a través del tiempo, los cuales se pueden agrupar en generaciones. La evolución del hardware ha marcado el paralelismo de la evolución de los sistemas operativos.

  • Primera Generación.
  • Segunda Generación.
  • Tercera Generación.
  • Cuarta Generación.


    Primera Generación (Finales de la década de los 50's)
    En esta década aparecen los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando se ejecutaba alguna tarea, ésta tenía control total de la máquina. Al terminar cada tarea, el control era devuelto al sistema operativo, el cual limpiaba, leía e iniciaba la siguiente tarea. Aparece el concepto de nombres de archivo del sistema para lograr independencia de información. Los laboratorios de investigación de General Motors poseen el crédito de haber sido los primeros en poner en operación un sistema operativo para su IBM 701.




    Segunda Generación (Mitad de la década de los 60's)
    En esta generación se desarrollan los sistemas compartidos con multiprogramación, en los cuales se utilizan varios procesadores en un solo sistema, con la finalidad de incrementar el poder de procesamiento de la máquina. El programa especificaba tan sólo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. El sistema operativo localizaba entonces una unidad de cinta disponible con las características deseadas, y le indicaba al operador que montara una cinta en esa unidad.



    Visita virtual


  • Tercera Generación
    En esta época surge la familia de computadores IBM/360 diseñados como sistemas para uso general, por lo que requerían manejar grandes volúmenes de información de distinto tipo, lo cual provocó una nueva evolución de los sistemas operativos: los sistemas de modos múltiples, que soportan simultáneamente procesos por lotes, tiempo compartido, procesamiento en tiempo real y multiprocesamiento.




    Cuarta Generación (Mitad de la década de los 70's hasta nuestros días)
    Los sistemas operativos conocidos en la época actual son los considerados sistemas de cuarta generación. Con la ampliación del uso de redes de computadoras y del procesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de terminales. Con estos sistemas operativos aparece el concepto de máquinas virtuales, en el cual el usuario no se involucra con el hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sistema operativo.

    Visita virtual

 

Clasificación

Debido a la evolución de los sistemas operativos fue necesario realizar una clasificación; considerando las diferencias existentes entre sus componentes los podemos clasificar en:
  • Sistemas operativos por lotes.
  • Sistemas operativos multiprogramación.
  • Sistemas operativos multiusuario.
  • Sistemas operativos de tiempo compartido.
  • Sistemas operativos de tiempo real.


Sistemas operativos por lotes
Los sistemas operativos por lotes requieren que la información esté reunida en bloque o "lote" (el programa, los datos, y las instrucciones). Los trabajos son procesados en el orden de admisión, según el modelo de "primero en llegar primero en ser atendido". En estos sistemas la memoria se divide en dos zonas. Una de ellas es ocupada por el sistema operativo, y la otra se usa para cargar programas transitorios para su ejecución. Cuando termina la ejecución de un programa se carga un nuevo programa en la misma zona de memoria.


Sistemas operativos multiprogramación
Los sistemas de multiprogramación son capaces de soportar dos o más procesos concurrentes múltiples, permiten que residan al mismo tiempo en la memoria primaria las instrucciones y los datos procedentes de dos o más procesos. Estos sistemas implican la operación de multiproceso, para el manejo de la información. Se caracterizan principalmente por un gran número de programas activos simultáneamente que compiten por los recursos del sistema, como el procesador, la memoria , y los "dispositivos de E/S". Estos sistemas monitorean el estado de todos los programas activos y recursos del sistema.


Sistemas operativos multiusuario
Los sistemas operativos multiusuario permiten acceder simultáneamente a un sistema de computadoras a través de dos o más terminales. Este tipo de sistema operativo es fundamental en el manejo de redes de computadoras actualmente.


Sistemas operativos de tiempo compartido
Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una computadora independiente. En estos sistemas el administrador de memoria proporciona aislamiento y protección de los programas, ya que generalmente no tienen necesidad de comunicarse entre ellos. El control de E/S se encarga de proporcionar o retirar la asignación a los dispositivos de forma que se preserve la integridad del sistema y se proporcione servicio a todos los usuarios. El administrador de archivos proporciona protección y control en el acceso de la información, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos.


Sistemas operativos de tiempo real
Estos sistemas tienen como objetivo proporcionar tiempos más rápidos de respuesta, procesar la información sin tiempos muertos. En estos sistemas el administrador de memoria es relativamente menos solicitado debido a que muchos procesos residen permanentemente en memoria. El administrador de archivos se encuentra normalmente en grandes sistemas de tiempo real y su objetivo principal es manejar la velocidad de acceso, más que la utilización eficaz del almacenamiento secundario.

Profesor: Fernando Guerrero T.
Consultas (mensajes) al : 08-3619056