El sistema operativo como gestor de recursos


El sistema operativo como gestor de recursos

La función central del sistema operativo es precisamente la que pasa más inadvertida: la gestión y coordinación de todos los recursos del equipo. Resulta obvio que la multitud de dispositivos interconectados de que se compone un ordenador sería una olla de grillos sin un director de orquesta que tome el mando y armonice las demandas e interacciones de los componentes del hardware. Del mismo modo, el sistema operativo ha de poner orden en los múltiples procesos que los programas abiertos por el usuario ejecutan simultáneamente. Es casi imposible inventariar al detalle todas las tareas que lleva a cabo el sistema operativo, por lo que nos limitaremos a señalar las áreas más importantes.

Gestión de procesos. Por proceso se entiende un programa en ejecución. La gestión de procesos consiste, pues, en repartir el tiempo de utilización del procesador (CPU) entre los diferentes programas o aplicaciones que se han de ejecutar de forma simultánea. Esto resultaba sencillo en los sistemas monotarea como el antiguo MS-DOS, en los que sólo podía haber un programa en ejecución a la vez, pero resulta mucho más complejo en sistemas multitarea o de tiempo compartido y en sistemas multiusuario (como era ya UNIX, el primer sistema operativo comparable a los actuales), en los que puede haber varias decenas de programas ejecutándose a la vez. Esta gestión es especialmente delicada en los sistemas en tiempo real, que permiten supervisar o dirigir procesos externos al ordenador (cadenas de montaje, robots…) y han de responder de forma instantánea a los eventos que se produzcan durante el proceso que controlan.


*Administrador de tareas de Windows

Gestión de memoria. Desde el momento en que hay varios procesos en ejecución concurrente, la gestión de la memoria RAM o volátil pasa a ser un tema importante, pues abrir un programa no es en esencia otra cosa que trasladar su conjunto de instrucciones desde el disco duro hasta la memoria volátil para ponerlas al alcance del procesador. El sistema operativo se ha de encargar de que cada proceso disponga de la memoria que necesita en cada momento, y de que disponga de ella de forma exclusiva, impidiendo que un proceso acceda a posiciones de memoria asignadas previamente a otro. Asimismo, si el sistema operativo decide que es el turno de un proceso concreto pero no hay memoria disponible para asignarle, el propio sistema liberará la memoria que esté ocupada por un proceso «ocioso» y se la concederá al que esté en ejecución.

Administración de dispositivos. El sistema operativo define una forma única y uniforme de acceso para cada miembro del variado e imprevisible conjunto de dispositivos físicos internos y externos que conforman el hardware del ordenador (unidades de disco duro, DVD o lápices de memoria, tarjetas gráficas o de sonido, teclado, ratón, pantalla, impresora), coordinando y regulando asimismo la entrada y salida de datos de los mismos y su comunicación con los restantes. Se establece así la ya expuesta capa de abstracción que facilita la labor de los programadores. De este modo, el programador llamará a funciones del sistema como «leer un dato» o «escribir un dato» indicando simplemente sobre qué dispositivo lógico (no físico) quiere hacerlo; en Windows, por ejemplo, unidad c: es el nombre lógico del disco duro, sin importar la marca y modelo del disco duro que contenga nuestra máquina.

Sistema de archivos. El sistema de archivos es uno de los conceptos fundamentales que maneja el sistema operativo y que resulta de gran utilidad tanto para los programadores como para los usuarios. Lo que hace el sistema operativo es asignar un nombre lógico y ciertas propiedades a zonas físicas del disco duro (o de otras unidades de disco) que conforman un bloque lógico de información. Este bloque es lo que el usuario percibe como un archivo: un texto que hemos escrito, un PDF que hemos descargado de Internet, una fotografía o un vídeo. Todos los sistemas operativos proporcionan un administrador de archivos, es decir, una utilidad que muestra en pantalla la organización en directorios y subdirectorios (carpetas y subcarpetas) de todos los ficheros contenidos en las unidades de disco, tanto los del sistema como los generados por el usuario, y que permite realizar operaciones comunes como crear carpetas, copiar o renombrar ficheros y modificar sus atributos o permisos.


*Gestor de archivos de Ubuntu, una popular distribución GNU/Linux

Interpretación de comandos. Un último aspecto gestionado por el sistema operativo es la comunicación con el usuario a través de una interfaz. Esto se realiza mediante un programa del sistema denominado intérprete de comandos, cuya función es «leer» y ejecutar las órdenes del usuario. El término «leer» posee un sentido amplio. En sistemas como MS-DOS o UNIX se trataba estrictamente de traducir un comando de texto introducido a través del teclado; para interpretar la orden del usuario en las actuales interfaces gráficas, el sistema operativo debe tener presente en todo momento cuál es la función asignada a la región de la pantalla sobre la que puede pulsarse el ratón.


 

Deja un comentario