Descripción y funciones de un Sistema Operativo
Escrito por Quasi

Publicado:02/06/2001
  Actualizado:02/06/2001
 

Vamos a poner una especial atención al SO. Puesto que es el programa por excelencia dentro del software. En el se basan el resto de programas de un soft. Sin un SO no podemos operar con ningún otro programa de los ya vistos.

-Un SO: es un conjunto programas que se encuentra residente en memoria. Siempre ha de estar en el equipo informático de lo contrario no podríamos operar con nuestro ordenador.
El SO viene a ser un programa general (que engloba a un conjunto de subprogramas) que nos permite intercomunicarnos directamente con los dispositivos internos y físicos (hardware). Con lo que el SO en principio trabaja en ultima instancia con el conocido código binario (0s y 1s). Son sistemas operativos: el windows, linux, unís, ms-dos, etc.

Sus funciones mas importantes son:

-Gestiona los recursos del ordenador en sus niveles mas bajos.
-Dispone de una interface (elemento que hace posible la fácil comunicación usuario maquina) liberando al usuario del conocimiento del hardware. El SO windows se basa en una interface graficas, "GUI" (Interface Grafica de Usuario), permitiendo al usuario interactuar con el hardware de una forma sencilla y rápida.
-Sobre el SO funcionan el resto de programas y aplicaciones del software.

Sus generaciones:

-Generación 0º: década de los 40 los sistemas informáticos no disponían de SO con lo que los usuarios de estos debían introducir las instrucciones en código binario lo que hacia su uso restringido a personas de mucho conocimiento en esa materia.
-Generación 1º: década de los 50. Aparece el primer SO para lograr la fluidez en la trasmisión de información. Aparece el JLC (lenguaje de control de trabajo), se usaban tarjetas perforadas y eran controladas por operadores (personas con cierto conocimiento). Posteriormente se pasaron de las tarjetas a las cintas perforadas y estas iban mucho mas rápido.
En el primer SO había en ocupaba en memoria 64 KB (bastante en función de la capacidad total de la memoria en aquella época).

Grafico interno de un sistema operativo de la época y en parte en la actualidad




Generación 2º: Se dan los primeros pasos de la multiprogramación es decir varios programas de usuario. El SO reparte tiempos del procesador. Aparece la llamada tecnología DMA usa buffers entre terminales: impresora, etc.
¿Qué es un buffer?: Es una fuente de almacenamiento temporal que reside en el propio dispositivo ya sea de entrada, o de salida.
Aparece el termino spooding: viene a ser como lo que gestiona la cola de instrucciones en el buffer.

Terminales Impresora

Durante esta generación aparecen los primeros multiprocesarodes (varios procesadores trabajando simultáneamente, a la vez).

Generación 3º: segunda mitad de la década de los 60 y 1º mitad de los 70. Es entonces cuando se desarrollan los SO tan importantes como el UNÍS para la gestión de grandes mainframes.
Durante esta generación el usuario perdió el control del hardware. Los equipos informáticos venían con el software (SO) de "regalo".

Generación 4º: segunda mitad de los 70 y primera de los 80. Los SO aumentan sus prestaciones y gestionan eficientemente los recursos del ordenador. Es en esta época donde mas facilidad se le da al usuario para su manejo. IBM separa los costos de hardware y software con esta estrategia de marketing se pensaba que facturarían el doble en ganancias. Pero no fue así. Los vendedores de software pasan a hacerse responsables de los bugs (o fallos de sus programas). Proliferaron las empresas desarrolladoras de software esto perjudico seriamente a IBM ya que así perdió la exclusividad.
Posteriormente se abrió el mercado de computadoras compatibles con IBM, estos son los llamados clónicos (varios dispositivos informáticos de distintas fabricas o procedencias intercomunicados y compatibles entre si constituyendo un único equipo informático. Este tipo de ordenadores es de precio mucho mas reducido que los IBM y sus prestaciones son las mismas).

Generación 5º: década de los 90. Los entornos gráficos cobraron mucha importancia, proliferaron y evolucionaron las llamadas GUIs (interfaces graficas del usuario). Los sistemas operativos tipo windows 9*, millenium o NT para empresas proliferaron y desplazaron de las empresas al ya consolidado UNÍS.

Grafico interno de la fusión entre el software y el hardware.


Una de las características he imnovaciones mas importantes de un SO es la llamada multi-tarea. Un SO opera entre la CPU y los periféricos y con la tecnología multi-tarea reparte el tiempo entre ellos dos. Suponiendo que se lancen tres procesos (A,B,C), (proceso: conjunto de rutina, algoritmos, etc.). Lo que el SO hace internamente con esta tecnología es: recoger la primera operación del proceso A en CPU luego pasa a los periféricos con lo que la CPU descansa y en ese momento, recoge la primera operación del proceso B en CPU, posteriormente en cuanto va a los periféricos pasa al proceso C, y cuando a este le llegan los turnos que corresponden a los periféricos pasa a la segunda operación del proceso A. Y asi sucesivamente. Con esta tecnología se logra apurar y reducir enormemente el tiempo de proceso del SO, podemos llegar a unas 50 tareas simultáneamente. Sistemas operativos como, el ms-dos no disponen de ella, pero otros como windows si alcanzan esta tecnología.

Y con esto doy por finalizado el tutorial de componentes que incluyen un equipo informático.

Mulprogramacion o multiproceso: Es la técnica que permite cargar varios programas o procesos al mismo tiempo de forma simultanea.

Cada programa o proceso ha de usar unos recursos y el SO ha de gestionar esto.
Se pueden dar los llamados interbloqueos en la que 2 o mas programas estan a la espera por solicitar un dispositivo o memoria. El SO debe solucionar esto.

Batch: sirve para aprovechar tiempos muertos (noches), etc. En grandes empresas los usan para hacer copias de seguridad.

Tiempo real: Asigna de forma primaria unos tiempos si se pasa de ellos da paso al siguiente.

Seguridad: El SO debe suministrar los medios para la ejecución concurrente de los procesos, sincronizacion entre procesos, comunicación entre procesos.
El SO debe suministrar algoritmos de gestion y planificación de procesos que se encarguen de decidir que proceso se ejecutara o cual tomara al procesador y de llevar cuenta de los estados y procesos, sus prioridades y todo la restante información relevante.

Estado de los procesos
Activo: Ejecutándose en un instante de tiempo. En un sistema monoprocesador, solo puede haber uno.
Preparado: Listos para ejecutarse. Esperando que un procesador quede libre, bloqueado o suspendido, a la espera de que se cumpla una condicion.
Muerto: Ha terminado su ejecución o el sistema ha detectado un error fatal y la ha transferido ha estado nonato.
Nonato: El programa existe pero todavía no es conocido por el SO.

El estado global del SO en un instante determinado, es el conjunto de recursos y procesos existentes con sus estados correspondientes

Transición entre procesos

El distribuidor: es uin modulo del SO que activa procesos preparados de acuerdo con unos criterios determinados por ejemplo: prioridad.
Interrupcion: Son las llamadas del SO para solicitar servicios por ejemplo: una operación.de E/S.
Planificador: Modulo del SO que translada procesos de ejecución a preparados, por ejemplo: en sistemas de tiempo compartido porque se les ajusta el tiempo. O llega uno de mayor prioridad.
Paso de preparado a bloqueado: Cuando tiene lugar un evento que estuviera esperandopara poder perseguirlo