sistemas operativos
¿QUE ES UN SISTEMA OPERATIVO?
Casi todos los usuarios de computadoras han tenido alguna experiencia con un sistema operativo, pero es difícil precisar con exactitud qué es un sistema operativo. Parte del problema consiste en que los sistemas operativos desempeñan básicamente dos funciones independientes: extender la máquina y administrar recursos; y, dependiendo dea quién se le pregunte, se habla sobre todo de una de dichas funciones o de la otra. Vamos a examinar ambas.
El sistema operativo como máquina extendida
Como ya dijimos, en el nivel de lenguaje de máquina, la arquitectura (conjunto de instrucciones, organización de memoria, E/S y estructura de bus) de la mayoría de las computadoras es primitiva y latosa de programar, sobre todo en cuanto aentrada/salida.
Sin entrar en los detalles reales, deberá quedar claro que es probable que el programador común no va a querer meterse demasiado en los pormenores de la programación de discos flexibles (o duros, que son igual de complejos y muy diferentes). Más bien, lo que quiere es trabajar con una abstracción simple, de alto nivel. En el caso de los discos, una abstracción típica sería que eldisco contiene una colección de archivos con nombre. Cada archivo puede abrirse para lectura o escritura, luego leerse o escribir en él, y por último cerrarse. Los detalles de si la grabación debe efectuarse por modulación de frecuencia modificada o si el motor está encendido o apagado no deberán aparecer en la abstracción que se presenta al usuario.
El programa que oculta al programador la verdadacerca del hardware y presenta una vista bonita y sencilla de archivos con nombre que se pueden leer y en los que se puede escribir es, por supuesto, el sistema operativo. Así como el sistema operativo separa al programador del hardware de disco y presenta una interfaz sencilla orientada hacia archivos, también oculta muchos asuntos desagradables relacionados con interrupciones, temporizadores,administración de memoria y otras funciones de bajo nivel. En cada caso, la abstracción que ofrece el sistema operativo es más sencilla y fácil de usar que la que ofrece el hardware subyacente.
En esta perspectiva, la función del sistema operativo es presentar al usuario el equivalente de una máquina extendida o máquina virtual que es más fácil de programar que el hardware subyacente. La forma enque el sistema operativo logra este objetivo es una historia larga y compleja. En pocas palabras, el sistema operativo presta una variedad de servicios que los programas pueden obtener empleando instrucciones especiales que se conocen como llamadas al sistema.
El sistema operativo como administrador de recursos
El concepto de sistema operativo como algo que primordialmente presenta a sususuarios una interfaz cómoda es una perspectiva descendente (es decir, de arriba hacia abajo). Desde una perspectiva alterna, la ascendente, el sistema operativo tiene como misión administrar todos los elementos de un sistema complejo. Las computadoras modernas constan de procesadores, memorias, temporizadores, discos, ratones, interfaces de red, impresoras y una amplia gama de otros dispositivos. En laperspectiva alterna, la tarea del sistema operativo consiste en efectuar un reparto ordenado y controlado de los procesadores, memorias y dispositivos de E/S, entre los diversos programas que compiten por obtenerlos.
Imaginemos qué sucedería si tres programas que se ejecutan en alguna computadora trataran de imprimir sus salidas al mismo tiempo en la misma impresora. Las primeras líneas dellistado podrían provenir del programa 1, dos o tres siguientes del programa 2, luego algunas del programa 3, y así. El resultado sería un caos. El sistema operativo puede imponer orden en el caos potencial colocando en memoria virtual (o búferes de disco) todas las salidas destinadas a la impresora. Al terminar un programa, el sistema operativo podrá copiar sus salidas del archivo en disco, donde las...
Regístrate para leer el documento completo.