Sistemas operativos modernos
1.1.2 El sistema operativo corno administrador de recursos El concepto de sistema operativo corno algo que primordialmente presenta a sus usuarios una in terfaz cómoda es una perspectiva descendente (es decir, de arriba hacia abajo). Desde una pers pectiva alterna, la ascendente, el sistema operativo tiene como misión administrar todos los elementos de un sistema complejo. Las computadoras modernas constan de procesadores, memo rias, temporizadores, discos, ratones, interfaces de red, impresoras y una amplia gama de otros dispositivos. En la perspectiva alterna, la tarea del sistema operativo consiste en efectuar un re parto ordenado y controlado de los procesadores, memorias y dispositivos de E/S, entre los diver sos programas que compiten por obtenerlos. Imaginemos qué sucedería si tres programas que se ejecutan en alguna computadora trata ran de imprimir sus salidas al mismo tiempo en la misma impresora. Las primeras líneas del listado 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 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, don de las almacenó, a la impresora, y mientras tanto otro programa puede seguir generando más salidas, sin saber que éstas no se están enviando (todavía) a la impresora. Cuando una computadora (o red) tiene múltiples usuarios, la necesidad de administrar y proteger la memoria, dispositivos de E/S y demás recursos es aún mayor, ya que de otra mane ra los usuarios podrían interferirse entre sí. Es común que los usuarios tengan que compartir no sólo hardware, sino también información (archivos, bases de datos, etcétera). En pocas pa labras, esta perspectiva del sistema operativo dice que su tarea primordial es mantenerse al tan to de quién está usando qué recurso, conceder solicitudes de recursos, dar cuenta del uso y mediar entre solicitudes de diferentes programas y usuarios que estén en conflicto. La administración de recursos incluye el multiplexaje (compartimiento) de recursos en dos formas: en el tiempo y en el espacio. Cuando un recurso se multiplexa en el tiempo, diferentes programas o usuarios se turnan para usarlo. Primero uno de ellos usa el recurso, luego otro, y así. Por ejemplo, si sólo hay una CPU y varios programas quieren ejecutarse, el sistema ope rativo asigna primero la CPU a un programa; luego, cuando considera que ya se ha ejecutado durante suficiente tiempo, se la quita y la asigna a otro programa, luego a otro, y en algún mo mento al primero otra vez. Determinar cómo se multiplexa el recurso en el tiempo —quién si gue y durante cuánto tiempo— es tarea del sistema operativo. Otro ejemplo de multiplexaje en el tiempo es una impresora compartida. Cuando hay varios trabajos en espera de imprimirse en una sola impresora, es preciso decidir cuál se procesará a continuación. El otro tipo de multiplexaje es en el espacio. En lugar de que los clientes se turnen, cada uno recibe una parte del recurso. Por ejemplo, la memoria principal por lo normal se divi de entre varios programas en ejecución, de modo que todos puedan estar residentes al mismo tiempo (por ejemplo, para poder turnarse la CPU). Suponiendo que haya suficiente memoria para contener varios programas, suele ser más eficiente tener varios programas en la memo ria a la vez que asignarle toda la memoria a uno de ellos, sobre todo si sólo necesita una frac ción pequeña del total. Desde luego, esto hace surgir problemas de equidad, protección.
RkJQdWJsaXNoZXIy MjI4NDcx