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 o jerárquica, como se
muestra en la figura. Al usuario de estas aplicaciones se le llama usuario
final y, generalmente, no tiene que ocuparse de la arquitectura del
computador. Por tanto, el usuario final ve al sistema informático en términos
de aplicaciones.
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,
se tendría una tarea abrumadora y compleja. Para facilitar esta tarea, se
ofrecen una serie de programas de sistemas. Algunos de estos programas se
denominan utilidades e implementan funciones muy utilizadas que ayudan a
la creación de los programas, la gestión de los archivos y el control de los
dispositivos de E/S.
Los programadores hacen uso de estos servicios en el
desarrollo de una aplicación y ésta, mientras se está ejecutando, invoca a
estas utilidades para llevar a cabo ciertas acciones. El programa de sistemas
más importante es el sistema operativo. 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.
De
forma resumida, un sistema operativo ofrece servicios en las áreas siguientes:
•
Creación de programas: El sistema operativo ofrece una variedad de
características y servicios, tales como los editores y los depuradores (debuggers),
para ayudar al programador en la creación de programas. Normalmente, estos
servicios están en forma de programas de utilidad que no forman realmente parte
del sistema operativo, pero que son accesibles a través del mismo.
•
Ejecución de programas: Para ejecutar un programa se necesita un cierto
número de tareas. Las instrucciones y los datos se deben cargar en la memoria
principal, los archivos y los dispositivos de E/S se deben inicializar y se
deben preparar otros recursos. El sistema operativo administra todas estas
tareas para el usuario.
![]() |
Niveles y vistas de un sistema informático |
•
Acceso a los dispositivos de E/S: Cada dispositivo de E/S requiere un
conjunto propio y peculiar de instrucciones o de señales de control para su
funcionamiento. El sistema operativo tiene en cuenta estos detalles de modo que
el programador pueda pensar en forma de lecturas y escrituras simples.
•
Acceso controlado a los archivos: En el caso de los archivos, el control
debe incluir una comprensión, no sólo de la naturaleza del dispositivo de E/S
(controlador de disco, controlador de cinta) sino del formato de los archivos y
del medio de almacenamiento. Una vez más, es el sistema operativo el que se
encarga de los detalles. Es más, en el caso de sistemas con varios usuarios
trabajando simultáneamente, es el sistema operativo el que brinda los
mecanismos de control para controlar el acceso a los archivos.
•
Acceso al sistema: En el caso de un sistema compartido o público, el
sistema operativo controla el acceso al sistema como un todo y a los recursos
específicos del sistema. Las funciones de acceso pueden brindar protección, a
los recursos y a los datos, ante usuarios no autorizados y debe resolver los
conflictos en la propiedad de los recursos.
•
Detección y respuesta a errores: Cuando un sistema informático está en
funcionamiento pueden producirse varios errores. Entre estos se incluyen los
errores internos y externos del hardware, tales como los errores de memoria,
fallos o mal funcionamiento de dispositivos y distintos tipos de errores de
software, como el desbordamiento aritmético, el intento de acceder a una
posición prohibida de memoria y la incapacidad del sistema operativo para
satisfacer la solicitud de una aplicación. En cada caso, el sistema operativo
debe dar una respuesta que elimine la condición de error con el menor impacto
posible sobre las aplicaciones que están en ejecución. La respuesta puede ser
desde terminar el programa que produjo el error, hasta reintentar la operación
o, simplemente, informar del error a la aplicación.
• Contabilidad: Un buen sistema
operativo debe recoger estadísticas de utilización de los diversos recursos y
supervisar los parámetros de rendimiento tales como el tiempo de respuesta.
Para cualquier sistema, esta información es útil para anticiparse a la
necesidad de mejoras futuras y para ajustar el sistema y así mejorar su
rendimiento. En un sistema multiusuario, la información puede ser utilizada con
propósito de cargar en cuenta.