Servicios de un sistema operativo

De Departamento de Informatica
Saltar a: navegación, buscar

Un sistema operativo es un software que contiene un conjunto de programas destinado a permitir el uso apropiado de las partes físicas del computador. Los sistemas operativos entregan un conjunto de funciones necesarias para los programas de las diferentes aplicaciones alojadas en el computador, y los vínculos necesarios para controlar y sincronizar el hardware de la misma. En los primeros computador, que no tenían sistema operativo cada programa necesitaba la más detallada especificación del hardware para ejecutarse correctamente y desarrollar tareas estándares, y sus propios drivers para los dispositivos periféricos como impresoras y lectores de tarjetas perforadas. Actualmente es una necesidad tener alojado un sistema operativo debido a la complejidad actual del hardware y las aplicaciones existentes dentro del computador, junto con los servicios que prestan los sistemas operativos a los programas y a los usuarios.

Sistema Operativo

Contenido

Introducción

El Sistema Operativo proporciona ciertos servicios a los programas y a los usuarios de estos mismos programas. Un cierto conjunto de servicios del sistema operativo proporciona funciones que resultan útiles al usuario y otras que permiten mayor eficiencia hacia los usuarios. Las siguientes son las funciones que son útiles para el usuario.

Interfaz de usuario

Las interfaces de usuario de sistemas operativos pueden tomar diferentes formas, éstas permiten la comunicación entre el usuario y el sistema, la mayoría de los sistemas operativos cuentan con una interfaz de usuario, entre estas se encuentran.

Interfaz de linea de comando (CLI)

Es un programa que permite introducir y editar comandos, la idea principal es describir una acción a realizar, la forma de realizar la acción y sobre qué realizar la acción de la siguiente manera:

haz algo [de_esta_forma] [a_estos_ficheros]

Esta interfaz interactúa con la información de la manera más simple posible, sin gráficas ni nada más que texto. Casi cualquier programa puede diseñarse para ofrecer al usuario alguna clase de CLI. Por ejemplo, casi todos los juegos de PC en primera persona tienen una interfaz de línea de comandos incorporada, utilizada para diagnóstico y labores administrativas.

Interfaz de línea de comandos

Interfaz de proceso por lotes

Donde los comandos y las directivas para controlar dichos comandos se introducen en archivos y luego dichos archivos se ejecutan. De manera similar a la interfaz por línea de comando, se utilizan instrucciones para poder realizar una acción, la diferencia se encuentra en que, en este caso, se usa un archivo donde se escriben todas estas órdenes.

Interfaz Gráfica de Usuario

En este caso la interfaz es un sistema de ventanas con un dispositivo señalador para dirigir la E/S, para elegir opciones en los menus y para realizar otras selecciones y con un teclado para introducir texto.Algunos sistemas proporcion dos o tres de estas variantes. La interfaz gráfica es un tipo de visualización que permite al usuario elegir comandos, iniciar programas y ver listas de archivos y otras opciones utilizando las representaciones visuales, como iconos, y las listas de elementos del menú. Las selecciones pueden activarse bien a través del teclado o con el ratón.

Ejecución de programas

Los programas se almacenan en una memoria no volátil. Al momento de ejecutar el programa, éste es cargado en la memoria de acceso aleatorio o RAM del equipo, bajo el control del sistema operativo, el cual accede directamente al procesador. El procesador ejecuta el programa, instrucción por instrucción hasta que termina. Un programa puede terminar su ejecución en forma normal o por causa de un error, dicho error puede ser de software o de hardware, de todas maneras se debe indicar el error.

Operaciones de E/S

El sistema operativo debe proporcionar medios para realizar la E/S ya que por cuestiones de eficiencia y protección, los usuarios no pueden controlar de manera directa los dispositivos de E/S. Entre las principales funciones que deben realizar están el direccionamiento o selección del dispositivo que debe llevar a cabo la operación de E/S, la transferencia de los datos entre el procesador y el dispositivo y la sincronización y coordinación de las operaciones, estas operaciones de E/S pueden estar dirigidas a un archivo o a un dispositivo. Para algunos dispositivos específicos, puede ser deseable disponer de funciones especiales.

Manipulacion del sistema de archivos

Los programas necesitan leer y escribir en archivos y directorios, crearlos y borrarlos, abrirlos y cerrarlos, reposicionarlos, establecer y obtener atributos, realizar búsquedas, mostrar la información de un determinado archivo, entre otras actividades. Algunos programas incluyen mecanismos de gestión de permisos para conceder o denegar el acceso a los archivos o directorios basándose en quien sea el propietario del archivo, es preciso que existan métodos que impidan a un usuario no autorizado copiar, borrar, modificar, algún archivo sobre el cual no tiene el permiso.

Comunicaciones

Es necesario la comunicación entre procesos debido al intercambio de información entre un proceso y otro. Esta comunicación puede darse entre entre procesos que estén ejecutándose en el mismo computador o entre procesos que se ejecutan en computadores diferentes conectados a través de una red. Para ésto existen dos mecanismos básicos de comunicación entre procesos: Memoria Compartida y Paso por mensaje.

Memoria Compartida & Paso por Mensajes

Memoria Compartida

Necesitan un mecanismo de sincronización externo.

  • Ventajas
  1. El sistema operativo no interviene ya que sólo proporciona llamadas para manipular dicha memoria compartida, por lo que la responsabilidad de la comunicación recae en los procesos.
  2. Es eficiente debido a la rapidez con la que actúa.
  • Desventaja

Sólo se puede dar la comunicación entre dos procesos.

Paso de Mensajes

La responsabilidad de la comunicación y sincronización recae en el Sistema Operativo que proporciona un enlace lógico entre procesos, es un intercambio de información usando un protocolo.

Comunicación Directa

  • No hay necesidad de tener variables compartidas.
  • El mensaje se envía del proceso A al proceso B, send(PID_B, mensaje), y éste lo recibe, receive(PID_A, mensaje).
  • El enlace ocurre de manera automática.
  • Sólo se da entre dos procesos.

Comunicación Indirecta

  • Es sincrónico.
  • Los mensajes son enviados hacia un buzón de correo o puerto desde donde se recibe.

Deteccion de Errores

El sistema operativo necesita detectar constantemente los posibles errores.Estos errores pueden producirse en el hardware del procesador y de memoria, en un dispositivo E/S o en los programas de usuario. Gestiona los errores de hardware y la pérdida de datos. La protección puede mejorar la confiabilidad si detecta errores latentes entre los sistemas y para cada uno de los tipos de errores, el sistema operativo debe llevar a cabo la acción apropiada para asegurar un buen funcionamiento. La protección y depuración de errores permite mejorar la capacidad de los usuarios y programadores para utilizar el sistema de manera eficiente.


Existe otro tipo de funciones que están pensadas para garantizar la eficiencia del sistema en general.Cuando se comparten los recursos en un sistema con múltiples usuarios, se puede tener un sistema más eficiente.

Asignación de Recursos

Al haber varios trabajos ejecutándose es necesario asignarle los recursos necesarios. Es sistema operativo gestiona diferentes tipos de recursos, algunos tales como los ciclos de CPU, la memoria principal y el espacio de almacenamiento de archivos, cuentan con un código de software especial que gestiona su asignación, mientras que otros, como los dispositivos E/S pueden tener código que gestione de manera mucho más eficiente la solicitud y liberación. Para poder decidir cuál es el mejor modo de utilizar la CPU, el sistema operativo cuenta con rutinas de planificación de la CPU, que tienen en cuenta la velocidad del procesador, los trabajos que tienen que ejecutarse, el número de registros disponibles, entre otros factores. También es posible encontrar rutinas que permiten asignar recursos a dispositivos del tipo periférico.


Responsabilidad

Es necesario hacer un seguimiento de qué usuarios emplean qué clase de recursos del computador y en qué cantidad.Este registro se puede usar para propósitos contables o para tener una estadística del uso de recursos dentro del sistema operativo. Estas estadísticas sirven para aquellos investigadores que desean tener un seguimiento para mejorar y re configurar el sistema con fines informáticos.

Protección y Seguridad

Los propietarios y usuarios de computadores, tienen la necesidad de mantener su información bien guardada y poder controlar el uso de dicha información. Cundo se ejecutan de forma concurrente varios procesos diferentes, no debe ser posible que un proceso interfiera con otro proceso o con el mismo sistema operativo. La protección es asegurar que los recursos del sistema estén controlados, también es importante garantizar la seguridad del sistema ante posibles intrusos, generalmente se utiliza una contraseña para garantizar la autenticidad del usuario, para que así solo él tenga acceso a los recursos del sistema. Esto también se extiende a la defensa de los dispositivos E/S, entre los que se encuentran modernos adaptadores de red, frente a intentos de acceso ilegales y el registro de dichas conexiones con el fin de detectar intrusos.Si hay que proteger y asegurar el sistema, esto debe implementarse y abarcar en todas las partes del mismo.

Referencias

[1] "Sistemas Operativos, Séptima edición, 2005" Galvin,Silberschatz,Gagne

[2] "Interfaz de línea de comando" Línea de Comandos

[3] "Comunicación entre procesos"Comunicación entre procesos

Tema de Investigación

Implementaciones de Servicios del Sistema Operativo

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas