VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS
Visión de los S.O por parte de los usuarios
Usuarios de llamadas del sistema
Invocan los servicios del sistema operativo mediante llamadas al sistema en tiempo de ejecución.
Conocidos como programadores del sistema Invocan las llamadas del sistema desde sus programas Dan funcionalidades al sistema para otros 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.
Tipos de S.O.
SISTEMAS MULTIPROCESADOR. REDES Y SISTEMAS DISTRIBUIDOS
Los S.O. para redes se clasifican en:
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.
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.
Tipos de aplicaciones de procesamiento distribuido:
• 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.
• Redes de computación distribuida:
Realiza actividades de multitarea como pueden ser el control de procesos o de bases de datos,...
• Redes de recursos compartidos:
Los recursos de las diferentes computadoras se ponen a disposición de las otras computadoras.
Una red interconecta varias computadoras ("hosts"), cada una de las cuales puede proporcionar servicios de computación a los usuarios de la red.
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 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.
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.)
S.O. de multiprogramación
Tipos de multiprogramación:
• 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.
• 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.
• 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.
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.
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, ...
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).
Evolución de los Sistemas Operativos
Quinta generación (2000 ...)
Los S.O. se adaptan a estas nuevas computadoras y teléfonos móviles (mucho más pequeños que una computadora).
Aparición de las computadoras de bolsillo (PDA, Personal Digital Assistant) como ampliación de las agendas electrónicas.
Cuarta generación (1980-2000)
Crecimiento de las redes de computadoras que ejecutan S.O. en red y distribuidos.
Crecimiento del software para las computadoras personales.
Relanzamiento de los ordenadores personales.
Circuitos LSI (alta escala de integración) y, posteriormente, VLSI.
Tercera generación (1965-1980)
Separación entre la venta de hardware y software.
Surgimiento de la Ingeniería del Software.
Multiprocesamiento (sistemas compuestos de varios procesadores).
Se utilizan dispositivos virtuales como las técnicas de SPOOL.
Los S.O. son complejos.
Se suministran una gran cantidad de programas de utilidad.
Existen muchas computadoras diferentes con S.O. muy diferentes.
Aparecen los circuitos integrados y la multiprogramación.
Segunda generación (1955-1965)
El S.O. se entiende como un programa de control que planifica los trabajos
Se procesan los trabajos por lotes ("batch").
Se desarrollan los primeros sistemas operativos.
Se especializa el personal (diseñadores, analistas, ...).
Aparición de los transistores
Primera generación (1945-1955)
En 1950 aparecen las tarjetas perforadas.
Disparidad de tiempos de ejecución entre la CPU y los dispositivos de E/S.
Existía un desaprovechamiento inadecuado del computador ("tiempos muertos de la CPU").
El programador insertaba su trabajo y esperaba su turno.
Las instrucciones se codificaban a mano.
Un grupo reducido de gente diseñaba, construía, programaba, mantenía cada máquina.
No existen 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:
Gestiona los recursos del sistema
Presenta al usuario el equivalente de una máquina extendida o máquina virtual más fácil de programar