VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS
Concepto de Sistema Operativo. Funciones
Es un programa o conjunto de programas de control que tiene como objetivo facilitar el uso de la computadora
Las funciones básica son:
Presenta al usuario el equivalente de una máquina extendida o máquina virtual más fácil de programar
Gestiona los recursos del sistema
Evolución de los Sistemas Operativos
Primera generación (1945-1955)
No existen Sistemas Operativos.
Un grupo reducido de gente diseñaba, construía, programaba, mantenía cada máquina.
Las instrucciones se codificaban a mano.
El programador insertaba su trabajo y esperaba su turno.
Existía un desaprovechamiento inadecuado del computador ("tiempos muertos de la CPU").
Disparidad de tiempos de ejecución entre la CPU y los dispositivos de E/S.
En 1950 aparecen las tarjetas perforadas.
Segunda generación (1955-1965)
Aparición de los transistores
Se especializa el personal (diseñadores, analistas, ...).
Se desarrollan los primeros sistemas operativos.
Se procesan los trabajos por lotes ("batch").
El S.O. se entiende como un programa de control que planifica los trabajos
Tercera generación (1965-1980)
Aparecen los circuitos integrados y la multiprogramación.
Existen muchas computadoras diferentes con S.O. muy diferentes.
Se suministran una gran cantidad de programas de utilidad.
Los S.O. son complejos.
Se utilizan dispositivos virtuales como las técnicas de SPOOL.
Multiprocesamiento (sistemas compuestos de varios procesadores).
Surgimiento de la Ingeniería del Software.
Separación entre la venta de hardware y software.
Cuarta generación (1980-2000)
Circuitos LSI (alta escala de integración) y, posteriormente, VLSI.
Relanzamiento de los ordenadores personales.
Crecimiento del software para las computadoras personales.
Crecimiento de las redes de computadoras que ejecutan S.O. en red y distribuidos.
Quinta generación (2000 ...)
Aparición de las computadoras de bolsillo (PDA, Personal Digital Assistant) como ampliación de las agendas electrónicas.
Los S.O. se adaptan a estas nuevas computadoras y teléfonos móviles (mucho más pequeños que una computadora).
Tipos de S.O.
Monoprogramación
Hasta que no finaliza la ejecución de un programa de usuario no empieza a ejecutarse otro.
Consecuencias:
· Tiempos muertos de CPU, periféricos, ...
· Desaprovechamiento de la Memoria Central (la no ocupada por el proceso).
Sistemas por lotes o colas ("sistemas batch")
En él van pasando a ejecución de uno en uno los programas en espera.
Un S.O. por lotes puede servir muy bien para programas que no requieran interacción con el usuario y aquellos con tiempos de ejecución largos, como los programas de nóminas, de análisis estadísticos, ...
S.O. de multiprogramación
Se cargan en memoria principal varios programas simultaneamente que se van ejecutando
concurrentemente con lo cual, en un determinado tiempo se estarán ejecutando varios programas.
Tipos de multiprogramación:
• Clásica:
El planificador del procesador da el turno a un programa determinado.
Cuando un programa finaliza una operación de E/S, el periférico se lo comunica a la CPU (mediante una interrupción) para cederle el control la próxima ocasión que le toque su turno.
• Tratamiento paralelo:
A cada uno de los programas en memoria se le asigna un intervalo de tiempo fijo o periodo T llamado "cuantum" (décimas de segundo). Al finalizar el cuantum asignado a un programa, el control de la CPU pasa al siguiente programa y así sucesivamente.
• Tiempo compartido:
Se asigna el control de la CPU a un nuevo programa interrumpiendo al anterior siempre que este último agote su cuantum de tiempo o que entre en la ejecución de una instrucción de E/S.
La CPU trabaja el 100% en determinados intervalos según el tipo de carga.
S.O. DE SECUENCIAS MÚLTIPLES O COLAS PARALELAS(multisecuencias)
Permiten coexistir en memoria en ejecución concurrente distintos tipos de trabajos (organizados en colas diferentes).
Contienen distintas características (tiempo de CPU, prioridades, etc.)
SISTEMAS DE BASES DE DATOS
Estos S.O. mantienen una gran cantidad de datos que pueden ser consultados en busca de una determinada información que debe suministrarse en un periodo razonable de tiempo.
SISTEMAS EN TIEMPO REAL
Se caracteriza por el procesamiento de una actividad
interrumpida, en la mayoría de los casos, por sucesos externos aleatorios.
Un sistema en tiempo real monitoriza y controla el sistema con mínima intervención humana. Sólo interviene en fallos del sistema o cuando se violan algunos límites.
SISTEMAS MULTIPROCESADOR. REDES Y SISTEMAS DISTRIBUIDOS
Una red interconecta varias computadoras ("hosts"), cada una de las cuales puede proporcionar servicios de computación a los usuarios de la red.
Tipos de aplicaciones de procesamiento distribuido:
• Redes de recursos compartidos:
Los recursos de las diferentes computadoras se ponen a disposición de las otras computadoras.
• Redes de computación distribuida:
Realiza actividades de multitarea como pueden ser el control de procesos o de bases de datos,...
• Redes de comunicación remota:
Proporcionan los medios para que los usuarios puedan acceder a instalaciones remotas de la forma más económica posible.
Los S.O. para redes se clasifican en:
S.O. en red (NOS, Network Operating System):
Cada uno de los hosts de la red utiliza su propio S.O. que no es de red. La red está controlada por los programas de usuario ejecutados en los diferentes hosts.
Los usuarios conocen la existencia de múltiples computadoras y pueden conectarse a máquinas remotas y copiar archivos de una máquina a otra.
S.O. distribuidos (DOS, Distributed Operating System):
Los S.O. individuales de los hosts quedan descartados y se implementa un único sistema operativo para toda la red.
Aparece a los usuarios como un sistema uniprocesador aunque conste de muchos procesadores. Los usuarios no saben dónde se ejecutan sus programas ni dónde se localizan sus archivos.
Visión de los S.O por parte de los usuarios
Usuario del lenguaje de ordenes
Son aquellos que obtienen los servicios del sistema operativo mediante órdenes
Características
Dan ordenes específicas al sistema Gestionan procesos como conexión y des-conexión, gestión de archivos.
Usuarios de llamadas del sistema
Invocan los servicios del sistema operativo mediante llamadas al sistema en tiempo de ejecución.
Características
Conocidos como programadores del sistema Invocan las llamadas del sistema desde sus programas Dan funcionalidades al sistema para otros usuarios.