Académique Documents
Professionnel Documents
Culture Documents
SISTEMAS OPERATIVOS
Normalmente un sistema operativo lo definimos como un
programa que actúa como intermediario entre el usuario
y el hardware del computador. Cuando surge ésta
interacción usuario-hardware, el sistema operativo
adquiere un propósito; crear un entorno en el que el
usuario pueda ejecutar programas de forma cómoda y
eficiente.
SISTEMAS OPERATIVOS
Específicamente haremos énfasis en 3 tipos de sistemas
operativos:
Por lotes
Por lotes multiprogramados
Tiempo compartido
Sistemas por lotes
Los primeros computadores eran maquinas enormes
físicamente, las cuales eran controladas desde consola
por un operador, y sus dispositivos de entrada y salida
eran lectores de tarjetas e impresoras de líneas
respectivamente.
Sistemas por lotes
Lo que significaba que la interacción usuario-trabajo en
ejecución era poca, el usuario (operador) se encargaba
de pasar un trabajo como entrada y esperar minutos,
horas o días la salida, sin poder controlar el trabajo que
se estaba llevando a cabo dentro del sistema.
Cuando existían varios trabajos pasados al lector de
tarjetas, el sistema se encargaba de distribuirlos en lotes
dependiendo de las necesidades de cada uno, lo cual se
realizaba para agilizar el procesamiento, pero cuando
existía un retardo entre la presentación de un trabajo y
Sistemas por lotes
su terminación (llamado tiempo de retorno) la CPU con
frecuencia permanecía vacía, sin ejecutar ningún trabajo.
Por suerte, la tecnología de discos en ese entonces fue
muy útil, en la imagen presentada a continuación se
puede apreciar el esquema manejado por los sistemas
por lotes con integración de discos:
Sistemas por lotes
Sistemas por lotes
La situación era la siguiente; el lector de tareas podía
tener diversos trabajos para ejecutar, con la integración
de los discos, ya no se pasaban directamente a la CPU,
sino que se enviaban al disco el cual funcionaba como
buffer almacenando los trabajos. Cuando la CPU se
encontraba vacía ella misma se encargaba de ir al disco
y buscar trabajos para así no quedar sin nada que
hacer. Esto tenía como nombre spooling y permitía a los
operadores despreocuparse por que la CPU no tuviera
trabajos en ejecución aunque ellos no pudieran
interactuar con ellos.
Sistemas por lotes multiprogramados
La llegada de los sistemas por lotes multiprogramados
se dio gracias al spooling, y con ella la reserva de
trabajos. Cuando la CPU se encontraba ocupada, un
trabajo tenía la capacidad de esperar por alguna
acción E/S, pasar al disco y a la vez la CPU ejecutar
otro que estuviera listo para ejecutarse, lo que genera
un mayor aprovechamiento de las capacidades de la
CPU y la mantiene ocupada todo el tiempo siempre y
cuando existan trabajos en disco o por entrada.
Sistemas por lotes multiprogramados
Entonces con esto nace la multiprogramación, y con ella
la capacidad de planificar. Por ejemplo, si la CPU recibe
n trabajos del lector de tarjetas, la CPU deberá ejecutar
por un orden de llegada cada trabajo, pero si los
trabajos provienen del disco, ahí surge una planificación
de trabajos, es decir, dependiendo del orden de
llegada, necesidades del trabajo
y sobre todo si es un trabajo esperando por alguna
acción E/S y esta acción se llevó a cabo, la CPU se
encargará de ejecutarlo.
Sistemas por lotes multiprogramados
Todo esto transforma a la multiprogramación en una
opción bastante buena para aprovechar al máximo el
uso de la CPU, pero sigue siendo compleja para el
usuario, ya que la multiprogramación es la que toma las
decisiones por los usuarios, en este caso el usuario
mantiene la misma posición del usuario del sistema por
lotes; esperar por una salida sin idea de lo que pasa en
la CPU.
Sistemas de tiempo compartido
Con el mismo problema de tener al usuario “sin nada que
hacer” o sin nada que ofrecer mientras un trabajo se
ejecutaba nacen los sistemas de tiempo compartido. Estos
sistemas solventaron único problema que faltaba; interacción
usuario/proceso. Anteriormente existían trabajos que
necesitaban de muchas cosas para ser ejecutados
correctamente, como entradas, salidas de otros trabajos,
consecución de trabajos y entre otras cosas, y el usuario tenía
que preparar dichos trabajos de tal manera que cumplieran
con todos los resultados posibles.
Sistemas de tiempo compartido
El tiempo compartido o multitareas es una extensión lógica de
la multiprogramación, esto permite a la CPU conmutarse con
los trabajos mientras se ejecutan, siendo la conmutación tan
frecuente que los usuarios pueden interactuar con cada
programa durante su ejecución, y para que los usuarios
puedan acceder a los datos y al código cómodamente se
debía contar con un sistema de archivos en línea. Estos archivos
eran los representantes de los procesos y los datos, eran
ubicados en directorios para su fácil localización y tenían
permisos que definían que usuario podía o no acceder a
dicha información.
Sistemas de tiempo compartido
Y es así como estos sistemas de tiempo compartido
permiten a los múltiples usuarios compartir el
computador simultáneamente puesto que cada acción
que es dada tiende a ser corta y como el computador
cambia con gran rapidez de un usuario al siguiente,
cada uno recibe la impresión de que tiene su propio
computador aunque muchos lo estén compartiendo.
Evolución de trabajo a proceso en los
sistemas operativos
En las primeras épocas de los sistemas operativos, las
personas que “interactuaban” con los sistemas en realidad no
lo hacían en un 100%. Los operarios, personas o usuarios de
los sistemas se encargaban de pasar los trabajos a través de
lectores de tarjetas y después de mucho tiempo u horas,
recibían la salida de la maquina por medio de un lector de
líneas. Esa actividad tenía por nombre trabajo, pero era un
trabajo que realizaba el operador teniendo en cuenta todas
las posibles situaciones que podían suceder en el momento en
que el trabajo se estuviera ejecutando.
Evolución de trabajo a proceso en los
sistemas operativos
Los procesos son actividades que son realizadas en conjunto
por el usuario y el sistema operativo, evaluando en tiempo de
ejecución cuales son las posibles opciones a llevar a cabo y
terminar el proceso recibiendo la salida correspondiente.
Es así como las actividades que se llevan a cabo en los
sistemas operativos han evolucionado, y es por eso que sus
nombres han cambiado, de trabajos a procesos y esto nace
cuando el usuario empieza a interactuar con el sistema
operativo y con las aplicaciones que se van ejecutando en el
sistema.
Definición.