Servicios del Sistema Operativo (SO)

Servicios del Sistema Operativo (SO) Un SO brinda un entorno para ejecutar programas. Este, ofrece servicios a los programas y a los usuarios de dicho

1 downloads 157 Views 75KB Size

Recommend Stories


Sistema operativo
Software. Programas. Concepto. Clases sistemas operativos. Comandos en {MSDOS}

01: Novedades del sistema operativo
Solaris 8 4/01: Novedades del sistema operativo Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. Referencia 816-0381-10 Ma

Story Transcript

Servicios del Sistema Operativo (SO) Un SO brinda un entorno para ejecutar programas. Este, ofrece servicios a los programas y a los usuarios de dichos programas. Por supuesto, los servicios específicos que se suministran difieren de un SO a otro, pero se pueden identificar una serie de clases comunes: Interfaz de Usuario: cuando un usuario trabaja con una computadora necesita poder interactuar con esta para ejecutar un programa o borrar un archivo, sin necesidad de escribir un programa que realice dicha operación utilizando los servicios del SO. Por lo tanto, el SO debe proporcionar una interfaz de usuario que permita dar instrucciones al sistema para realizar diversas operaciones. Sin esta interfaz, aunque el SO estuviese listo para dar servicio a las aplicaciones, el usuario no podría arrancar ninguna. Hay que tener en cuenta que la mayoría de la gente que trabaja con una computadora no pretende realizar ninguna tarea de programación, sino que simplemente quiere trabajar en modo interactivo con el mismo. Por tanto no tendría sentido que los usuarios tuvieran que realizar un programa para sacar partido de los servicios del SO a la hora de realizar una determinada labor. El SO ofrece, a través de su Interfaz de Usuario, un conjunto de tareas típicas, que son las que necesitan llevar a cabo los usuarios con más frecuencia. Así, para borrar un archivo, en vez de tener que realizar un programa, el usuario solo tendrá que teclear un mandato o en el caso de una Interfaz Gráfica, manipular un icono que representa el archivo. La Interfaz de Usuario ha sufrido una gran evolución, condicionada en gran parte por la enorme difusión del uso de las computadoras, que ha tenido como consecuencia que un gran número de usuarios sin conocimientos informáticos trabajen cómodamente con ellas. Se ha pasado de interfaces alfanuméricas, que requerían un conocimiento bastante profundo del funcionamiento de la computadora a interfaces gráficas, que ocultan al usuario la complejidad del sistema, proporcionándole una visión intuitiva del mismo.  Interfaz de Líneas de Comandos: su característica principal es el modo basado en líneas de texto. El usuario para dar instrucciones al sistema, escribe en su terminal un mandato terminado con un carácter de final de línea. Cada mandato esta normalmente estructurado de la siguiente forma:

Nombre del Mandato – argumentos

El Intérprete de Mandatos lee la línea escrita por el usuario y lleva a cabo las acciones especificadas por la misma. Una vez realizadas, el intérprete escribe una indicación en el terminal para notificar al usuario que esta listo para recibir otro mandato. El usuario tendrá disponibles un conjunto de mandatos que le permitirán realizar actividades tales como manipular carpetas y archivos, controlar la ejecución de programas, desarrollar aplicaciones, comunicarse con otros sistemas, obtener información del estado del sistema, entre otros.

 Interfaz Gráfica de Usuarios: una segunda estrategia para interactuar con el SO es a través de una Interfaz Grafica de Usuario (GUI) suficientemente amigable. Su auge se debe a la necesidad de proporcionar a los usuarios no especializados una visión sencilla e intuitiva del sistema que oculte toda su complejidad. El desarrollo de este tipo de interfaces ha requerido un avance considerable en la potencia y capacidad gráfica de los computadores, dada la gran cantidad de recursos que consumen durante su operación. Todas estas interfaces están basadas en Ventanas que permiten al usuario trabajar simultáneamente en distintas actividades. Asimismo, se utilizan iconos y menús para representar los recursos del sistema y poder realizar operaciones sobre los mismos. En cuanto a su estructura interna, están formados por un conjunto de programas, que usando los servicios del SO trabajan conjuntamente para llevar a cabo las peticiones del usuario. Así, por ejemplo, existirá un gestor de ventanas para mantener el estado de las mismas y permitir su manipulación, un administrador que permita al usuario arrancar aplicaciones, un gestor de archivos que permita manejar archivos y carpetas, y una herramienta de configuración de la interfaz. Además de la funcionalidad comentada, otros aspectos que conviene resaltar es el intercambio de datos entre aplicaciones, sistemas de ayuda interactivos y la posibilidad de acceso a la Interfaz de Línea de Comandos. Interrupciones: para que las operaciones de la UCP y de Entrada y Salida (E/S) puedan superponerse, es necesario contar con un mecanismo que permita la desincronización y resincronizacion de la operación. En los sistemas más antiguos la transferencia de datos se efectuaba bajo el control de la UCP. Esta tenía que ejecutar, o por lo menos supervisar la transferencia de datos, lo que no permitía hacer simultáneas las operaciones de la UCP y de E/S. Por ejemplo, si se deseaba imprimir datos de la memoria, estos eran los pasos: 1. Verificar si la impresora esta lista para recibir el siguiente caracter 2. Si la impresora no esta lista, volver al Paso 1. 3. Si la impresora esta lista, verificar si hay otro caracter por imprimir. 4. Si hay otro carácter volver al Paso 1. 5. Si no hay más caracteres, la impresión ha terminado. Note que la UCP debe realizar un seguimiento del estado de la E/S por lo que permanece activa mientras espera que termine la E/S. aunque es posible que la UCP efectúe otro procesamiento, en la practica no lo es, ya que la UCP es mas rápida que los dispositivos de E/S, y por lo tanto deberá esperar entre una y otra entrada. Además, también es posible que omita una entrada por atender a otra. Para solucionar esta situación, surgió la E/S basada en Interrupciones. En la siguiente figura se muestra la estructura general de esta herramienta

Si no hay trabajos que ejecutar ni dispositivos de E/S que atender, el SO permanecerá inactivo esperando la ocurrencia de algún suceso. Una de las principales clases de sucesos que debe manejar un SO son las Interrupciones de E/S, las cuales se generan cuando un dispositiva de E/S requiere un servicio. Dada esta situación, el SO consulta a todos los dispositivos de E/S para determinar cual fue el que causo la interrupción (la interrupción se genera cuando el dispositivo de E/S termina la solicitud de E/S). Cuando se interrumpe a la UCP, esta suspende lo que estaba haciendo y transfiere la ejecución a la rutina de procesamiento que generó la interrupción. Dicha rutina inicia la transferencia de datos desde el buffer del dispositivo a la Memoria Principal. Una vez lograda la transferencia, la UCP continua con los cálculos interrumpidos (devuelve el control al programa que quedo esperando a que terminara la solicitud de E/S). Un sistema basado en Interrupciones también debe guardar la ubicación de la instrucción interrumpida para retomar su operación. Una vez que se ha procesado la interrupción, se da un salto a la ubicación de la siguiente instrucción. Usualmente las interrupciones se desactivan mientras una de ellas se procesa, demorando la entrada de alguna nueva interrupción hasta que se culmine el procesamiento de la actual ya las siguientes se activen. Llamadas al Sistema: proporcionan una interfaz con la que se pueden invocar servicios que el SO ofrece. El siguiente ejemplo puede ser útil para comprender como se usan las llamadas: Suponga que se quiere escribir un programa para leer los datos de un archivo y copiarlos en otro archivo. El primer dato que el programa va a necesitar son los nombres de los 2 archivos, el de entrada y el de salida. Para ello el programa pide al usuario que introduzca los nombres de los 2 archivos. En un sistema interactivo, este método requerirá una secuencia de Llamadas al Sistema: primero hay que escribir un mensaje en el indicativo de comandos de la pantalla y luego leer del teclado los caracteres que especifican los 2 archivos. En los sistemas basados en Iconos, se suele presentar un menú de nombres de archivos en una ventana. El usuario

selecciona el nombre del archivo de origen y puede abrirse otra ventana para especificar el nombre de archivo de destino. Esta secuencia requiere realizar numerosas llamadas al sistema:  Una vez que se obtienen los nombres de archivos, se debe abrir el archivo de entrada y crear el archivo de salida  Cuando se intenta abrir el archivo de entrada, es posible que este no exista. En este caso el programa debe escribir un mensaje en la pantalla.  Si el archivo de entrada existe, debe crearse un nuevo archivo de salida. Es posible que exista un archivo de salida. Es posible que exista un archivo de salida. Es posible que exista un archivo de salida con el mismo nombre, por lo

LLAMADAS AL SISTEMA

que el programa puede terminar o borrar el archivo existente y crear otro.  Una vez que los archivos están definidos, se empieza a leer del archivo de entrada y se escribe en el de salida. Al finalizar se cierran los archivos y se emite un mensaje por pantalla informando la finalización del proceso. Tipos de Llamadas al Sistema: las Llamadas al Sistema pueden agruparse de forma general en las siguientes categorías:  Control de Procesos: 

Terminar: interrupción normal de la ejecución de un programa



Abortar: interrupción anormal de la ejecución de un programa.



Cargar: un proceso que ejecute un programa puede cargar otro programa.



Ejecutar un proceso que ejecute un programa puede ejecutar otro programa



Crear proceso: cuando un proceso que ejecuta un programa ejecuta otro programa, se esta creando un nuevo proceso.



Obtener atributos del proceso: determina las características de un proceso.



Señal de Evento: indica cuando ocurre un suceso.

 Administración de Archivos:  Crear archivos

 Obtener atributos de archivos

 Abrir archivos

 Borrar archivos

 Cerrar archivos

 Leer archivos

 Mover archivos

 Copiar archivos

 Administración de Dispositivos: un proceso puede necesitar varios recursos para ejecutarse: memoria, unidades de disco, archivos, etc. Se puede pensar en dichos recursos como si fueran

dispositivos. Algunos dispositivos son físicos (cintas, discos) mientras otos dispositivos virtuales o abstractos (archivos). 

Requerir recurso



Abrir y cerrar recurso



Liberar recurso



Leer y escribir recurso

Mantenimiento de Información: su propósito es el intercambio de información entre programas de usuario y el SO. Existen Llamadas al Sistema para devolver la fecha y hora actuales. Otras pueden devolver información sobre el sistema como por ejemplo numero de usuarios, versión del SO, cantidad de memoria libre, entre otros. Importante: el trabajo de un SO puede provenir de Llamadas al Sistema emitidas por los programas, y de Interrupciones generadas por los periféricos. Las Llamadas al Sistema no invocan al SO, por lo que no se puede solicitar un servicio al SO a través de una Llamada al Sistema. Por tanto, la activación del SO se realiza por medio de Interrupciones. Protección: los sistemas de computación eran monousuarios controlados por el programador. Cuando este manejaba el computador desde la consola, tenía un completo control sobre el sistema. Al desarrollarse el SO, se le otorgaba el control a este. Además, para mejorar la utilización del sistema, el SO comenzó a compartir los recursos del sistema entre varios programas al mismo tiempo (multiprogramación). Este compartimiento mejoro la utilización, pero también generó problemas. Cuando el sistema ejecutaba un programa sin compartir recursos, un error en ese programa solo podía causar problemas a ese programa. Con el compartimiento, un error en el programa podía afectar de manera adversa a varios programas. Sin protección frente a este tipo de errores, el computador tendría que ejecutar en cada ocasión un solo trabajo, algo que no es conveniente. La estrategia a utilizar consiste en llevar a cabo 2 modos de ejecución: Modo Usuario y Modo Monitor. De esta forma el sistema puede distinguir entre una ejecución efectuada por el usuario y una ejecutada por el SO (Monitor) cuando el sistema ejecuta el SO, se encuentra en Modo Monitor, cuando ejecuta programas de usuario, esta en Modo Usuario.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.