COMUNICACIÓN ADECUADA ENTRE EL USUARIO Y EL EQUIPO
El complejo funcionamiento de
dispositivos de hardware conectados como parte de un computador hacen necesario
la presencia de una capa de software que contenga programa específicos para el
control de toda esa red de dispositivos. A esta capa se le denomina Sistemas
Operativos (SO).
Un sistema operativo (SO o,
frecuentemente, OS —del inglés Operating System—) es un programa o conjunto de
programas que en un sistema informático gestiona los recursos de hardware y
provee servicios a los programas de aplicación, ejecutándose en modo
privilegiado respecto de los restantes y anteriores próximos y viceversa
(aunque puede que parte del mismo se ejecute en espacio de usuario)
Los SO tienen por función la gestión óptima de recursos de
hardware y software que permitirán a su vez proporcionar al usuario
herramientas amigables para lograr una adecuada comunicación entre las ordenes
que da al equipo y las respuestas apropiadas de este; de esta manera, podemos
estudiar los SO con dos perspectivas diferentes: la primera como administrador
de recursos y la segunda como máquina extendida, es decir que tienen el
objetivo de “proporcionar a los usuarios una máquina virtual que sea más cómoda
de usar que la máquina real” (Tanembaun, 1998).
De lo anterior, podemos afirmar
que un computador requiere de tres elementos básicos que se relacionen entre sí
para lograr su funcionamiento: dispositivos de hardware, programas del sistema
operativo y los programas de aplicaciones con los que interactúa el
usuario. Pero entonces, ¿cómo funciona
un Sistema Operativo? Para entender realmente el proceso que se ejecuta para
lograr una respuesta óptima por parte del SO debemos definir algunos conceptos:
• La interfaz: Debemos entender que las aplicaciones (generalmente
gráficas) de las que se vale un usuario para interactuar con el computador a
nivel de SO se denominan -según Tanembaun-: operaciones extendidas - haciendo
referencia a la segunda función principal de un SO- o también se conocen en
términos técnicos como llamadas al sistema. Para ejemplificar este concepto
podemos hacer uso de frases como: el SO tiene una llamada al sistema de leer
archivos o llamada al sistema de montaje de dispositivos.
En los SO basados en UNIX, se
pueden hacer dos categorías principales de llamadas al sistema: llamadas a
procesos y otras al sistema de archivos.
• Procesos: Un proceso puede definirse básicamente como un
“programa en ejecución” (Tanembaun, 1998). Los procesos contienen una serie de
parámetros que le brindan al SO la información que requiere para la ejecución
de un programa. De esta manera, a cada proceso se le asocian datos como:
ubicación en disco del programa, tiempos de ejecución y requerimientos de
memoria o procesador para poder ejecutarse.
El SO hace llamadas a procesos
para poder ejecutar de manera lógica y ordenada la secuencia de pasos que
indica un programa para completar una tarea.
• Sistemas de archivos: Son modelos abstractos que le permiten a
los usuarios mostrar de manera ordenada y amigable la información que se
encuentra dentro de un disco duro. En mi opinión, los sistemas de archivos o
ficheros (como se denominan en los sistemas UNIX) son una abstracción digital
de la forma lógica como las personas entendemos y ordenamos nuestros objetos
físicamente, un sistema de ficheros permite al usuario y al SO “controlar” y
ordenar su información y disponer de ella de forma lógica e independiente de la
verdadera distribución dentro de los dispositivos de hardware.
Ahora bien, las llamadas al
sistema de archivos (regresando al concepto de interfaz), están relacionadas a
la ejecución de tareas como crear, borrar, leer o escribir un archivo. Una vez generalizado los conceptos de funcionamiento
básico de un SO, vamos a realizar una descripción minimalista de su estructura
interna, basándonos en el modelo cliente-servidor. Este concepto se basa en la
tendencia de minimizar el número de tareas que ejecuta un núcleo o kernel de un
SO con la intensión de agilizar procesos que pueden ejecutarse en otros niveles
con menor demanda de recursos. Este enfoque define procesos usuarios como
aquellos que pueden ejecutar tareas simple como la solicitud de un servicio y
proceso servidor como aquel que ejecuta la tarea y genera un respuesta.
De lo anterior podemos extraer
evidencia de que el modelo se comporta como una red interconectada de procesos
servidores que ejecutan funciones secundarias del kernel y en un tercer nivel
procesos clientes que ejecutan tareas más sencillas y se relaciona con la
interfaz.
En conclusión, los Sistemas
Operativos contienen el conjunto de programas principales que hacen posible la
interacción del usuario con la computadora y por ende con sus dispositivos de hardware,
lo que se traduce en la obtención de respuestas concretas a tareas u órdenes
específicas dictadas por él. Internamente puede tener diferentes modelos
estructurales que buscan generar sistemas más robustos, eficientes y seguros.