FUNCIONES Y OBJETIVOS DE LOS SISTEMAS OPERATIVOS
Un sistema operativo es un programa que controla la ejecución de los
programas de aplicación y que actúa como interfaz entre el usuario de un
computador y el hardware de la misma. Tiene tres objetivos:
• Comodidad: Un sistema
operativo hace que un computador sea más cómoda de utilizar.
• Eficiencia: Un sistema
operativo permite que los recursos de un sistema informático se aprovechen de
una manera más eficiente.
•
Capacidad de evolución: Un sistema operativo debe construirse de modo que
permita el desarrollo efectivo, la verificación y la introducción de nuevas
funciones en el sistema.
El Sistema Operativo como Interfaz
Usuario/Computadora
El hardware y el software que se utilizan para proveer de aplicaciones a
los usuarios pueden contemplarse de forma estratificada.
Las aplicaciones pueden construirse con un lenguaje de programación y
son
Desarrolladas por programadores de aplicaciones. Si se tuviera que
desarrollar un programa de aplicación como un conjunto de instrucciones máquina
que sean del todo responsables del control del hardware, El sistema operativo
oculta al programador los detalles del hardware y le proporciona una interfaz
cómoda para utilizar el sistema. Actúa como mediador, facilitándole al programador
y a los programas de aplicación el acceso y uso de todas esas características y
servicios.
Un computador es un conjunto de
recursos para el traslado, almacenamiento y proceso de datos y para el control
de estas funcione.
El sistema operativo es, de hecho, nada más que un programa del
computador. Como otros programas de computador, da instrucciones al procesador.
La diferencia clave está en el propósito del programa. El sistema operativo
dirige al procesador en el empleo de otros recursos del sistema y en el control
del tiempo de ejecución de otros programas. Pero para que el procesador pueda
hacer estas cosas, debe cesar la ejecución del programa del sistema operativo y
ejecutar otros programas.
Evolución de los sistemas operativos
El sistema operativo decide cuándo puede utilizarse un dispositivo de E/S
por parte de un programa en ejecución y controla el acceso y la utilización de
los archivos,
En el caso de sistemas multiprocesador, la decisión debe distribuirse
entre todos los procesadores.
Facilidad de evolución de un sistema
operativo
• Actualizaciones del hardware y nuevos tipos de hardware: Por ejemplo,
las primeras versiones de UNIX y OS/2 no empleaban mecanismos de paginación, porque
funcionaban en máquinas sin hardware de paginación.
• Actualizaciones del hardware y nuevos tipos de hardware: Por ejemplo,
las primeras versiones de UNIX y OS/2 no empleaban mecanismos de paginación,
porque funcionaban en máquinas sin hardware de paginación.
• Correcciones: Desafortunadamente, el sistema operativo tiene fallos
que se descubrirán con el curso del tiempo y que es necesario corregir.
La necesidad de hacer cambios en un sistema operativo de forma regular
introduce ciertos requisitos en el diseño. Una afirmación obvia es que el
sistema debe tener una construcción modular, con interfaces bien definidas
entre los módulos y debe estar bien documentado. Para programas grandes, como
normalmente son los sistemas operativos actuales, no es adecuado lo que podría
denominarse modularización elemental.
PROCESO EN SERIE
En los primeros computadores, de finales de los 40
hasta mediados de los 50, el programador interactuaba directamente con el
hardware; no había sistema operativo. La operación con estas máquinas se
efectuaba desde una consola consistente en unos indicadores luminosos, unos conmutadores,
algún tipo de dispositivo de entrada y una impresora.
Estos primeros sistemas presentaban dos problemas
principales:
• Planificación: La mayoría de las instalaciones
empleaban un formulario de reserva de tiempo de máquina. Normalmente, un
usuario podía reservar bloques de tiempo en múltiplos de media hora o algo por
el estilo. Un usuario podía reservar una hora y terminar a los 45 minutos.
• Tiempo de preparación: Un programa sencillo,
llamado trabajo, cargaba un compilador y un programa en lenguaje de alto nivel en
la memoria, salvaba el programa compilado y luego montaba y cargaba el programa
objeto junto con las funciones comunes.
Este modo de operación podría denominarse proceso
en serie porque refleja el hecho de que los usuarios tenían que acceder al
computador en serie.
Sistemas sencillos de
proceso por lotes
Las primeras máquinas eran muy caras y, por tanto,
era importante maximizar la utilización de las mismas. El tiempo desperdiciado
por la planificación y la preparación era inaceptable.
El primer sistema operativo por lotes fue
desarrollado a mediados de los 50 por la General Motors para usar en un IBM 701.
A principios de los 60, un conjunto de constructores ya habían desarrollado sistemas
operativos por lotes para sus computadores. IBSYS, el sistema operativo de IBM
para las computadores 7090/7094, es particularmente notable por su amplia
influencia en otros sistemas.
Dos sucesos provocan que el procesador vaya a por
la instrucción siguiente del programa monitor. De este modo, la frase "el
control se le pasa al trabajo" quiere decir simplemente que el procesador
pasa a leer y ejecutar instrucciones del programa de usuario, mientras que la
frase "el control vuelve al monitor" quiere decir que el procesador
pasa ahora a leer y ejecutar las instrucciones del programa monitor.
Para ejecutar el
trabajo, el monitor lee la tarjeta $FTN y carga el compilador adecuado desde el
dispositivo de almacenamiento masivo. El compilador traduce
el programa de usuario en código objeto, que se almacena en memoria o en el
dispositivo de almacenamiento. Si se carga en memoria, la operación es conocida
como "compilar, cargar y arrancar”. Si se almacena en cinta, entonces se
requiere la tarjeta $LOAD.
Sistemas por lotes
con multiprogramación
Aún con la secuencia miento automático de los
trabajos ofrecido por un sistema operativo sencillo por lotes, el procesador
está desocupado a menudo. El problema es que los dispositivos de E/S son lentos
comparados con el procesador. Esta ineficiencia no es necesaria. Se
sabe que hay memoria suficiente para almacenar el sistema operativo y un programa de usuario. Supóngase que hay espacio suficiente para el
sistema operativo y dos programas usuarios.
Sistemas de tiempo
compartido
Con el uso de la multiprogramación, el tratamiento
por lotes puede llegar a ser bastante eficiente. Sin embargo, para muchas
tareas, es conveniente suministrar un modo en que el usuario interactúe
directamente con el computador.
Uno de los primeros sistemas de tiempo compartido
que se desarrollaron fue el Sistema Compatible de Tiempo Compartido, desarrollado
en el MIT por un grupo conocido como Proyecto MAC.
LOGROS PRINCIPALES
Se han obtenido cuatro logros intelectuales
significativos en el desarrollo de los sistemas operativos:
• Los procesos
• La gestión de memoria
• La seguridad y la protección de la información
• La planificación y la gestión de recursos
• La estructura del sistema
Cada logro viene caracterizado por unos principios
o abstracciones que se han desarrollado para solucionar las dificultades de los
problemas prácticos.
La breve revisión que se hará de estos cinco campos
en esta sección sirve como introducción a gran parte del texto restante.
No hay comentarios:
Publicar un comentario