Entrada/Salida y Sistemas Operativos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 10,74 KB


E/S diferida: Uno de los principales problemas que aparecieron en los SSOO era la aparición de tiempos muertos. Una solución consistió en liberar al procesador central de las operaciones lentas de E/S utilizando unos procesadores de bajo coste. El funcionamiento global de un sistema de E/S diferida consta de las siguientes fases:
1.1.1. En un procesador auxiliar se realizaba la transferencia fichas-cinta de un lote completo.
1.1.2. Es llevada por el operador al ordenador principal. La lectura y escritura de los trabajos en cinta resultaba más rápida.
1.1.3. El operador montaba la cinta correspondiente en otro procesador auxiliar que permite sacar por impresora todos los resultados de un mismo lote.
Se mantienen utilizados todo el tiempo el procesador principal, la lectora de tarjetas y la impresora. Hemos obtenido una mayor productividad a costa de aumentar el tiempo de respuesta, y de separar aún más al usuario de la ejecución de su programa.
Buffering: la utilización de un buffer nos permite que el equipo de entrada vaya por delante de la UCP, los registros serán leídos por anticipado y almacenado en el buffer donde estarán disponibles para el programa de usuario. La utilización de esta técnica, permite la E/S asíncrona. Una interrupción es una señal que transfiere el control de la UCP de un programa de usuario a una rutina del SO, salvando previamente los registros de la UCP y el contador de programa.
1.2.
Multiproceso.
Aparecen dispositivos de E/S equipados con controladores de periféricos y procesadores dedicados, que funcionan con una mínima intervención de la UCP.
Spool: con el desarrollo de las unidades de discos magnéticos, en los que no existían restricciones de acceso secuencial y que permiten el almacenamiento de grandes cantidades de información, aparecieron los sistemas spool. Trata básicamente de utilizar dispositivos periféricos autónomos que podían realizar operaciones de E/S mientras el procesador central seguía ejecutando el programa. Se basa en realizar las operaciones de E/S sobre disco, permite que se pueda estar leyendo la entrada de un trabajo, ejecutando un segundo trabajo e imprimiendo un tercero. Como diferencia del buffering, el buffering permite solapar las E/S de un trabajo con su ejecución, mientras que el spooling permite la superposición de varios trabajos.
Multiprogramación batch: Para aprovechar los tiempos muertos de E/S se desarrolló una técnica mediante la cual, cuando el programa que se estaba ejecutando pasaba a realizar una E/S, la UCP podía ejecutar un nuevo proceso. A esta técnica se la conoce con el nombre de multiproceso. El término proceso se introdujo para indicar la actividad elemental, un proceso representa la ejecución de un trabajo (job). En las técnicas de multiproceso primitivas solamente existía un proceso en memoria, de manera que el proceso que perdía el control de la UCP era pasado a memoria secundaria, mientras que otro proceso era transferido a memoria principal para su ejecución. Las principales aportaciones de estos sistemas es que varios programas deben residir en memoria al mismo tiempo, por lo que es necesaria la gestión de memoria. El concepto de procesos concurrentes, que identifica a aquellos que se solapan en el tiempo, es decir, el comienzo de no ocurre antes que el final de otro. Aparece un lenguaje de órdenes que permite al operador controlar desde consola la operación del computador
1.3.
SSOO Interactivos.
Se trata de compartir el ordenador entre varios usuarios de forma interactiva. Consiste en asignar a cada trabajo una cantidad fija de tiempo. Los sistemas de tiempo compartido permiten que varios usuarios compartan una instalación; en cada instante el ordenador solo está atendiendo a un usuario, pero como la mayor parte de los trabajos interactivos se basan en peticiones triviales que pueden ser atendidas en una rodaja de tiempo, podemos conseguir que los usuarios tengan la ilusión de disponer de un sistema para cada usuario. Las principales aportaciones son que se necesita una gestión de memoria, que las operaciones de E/S deben coordinarse para soportar el acceso de los diversos usuarios a los dispositivos del sistema, el planificador debe soportar un gran número de procesos y que un sistema de ficheros permite a cada usuario hacer referencia a los datos almacenados en un disco mediante operaciones virtuales. Surgen dos problemas:
· Asegurar la integridad de lis datos.
· Proteger los datos contra usos no autorizados.
Aparece el concepto de sesión, para comenzar su trabajo en el sistema el usuario deberá iniciar una sesión en él. También aparece el concepto de sistemas multiusuario, que son aquellos que pueden ser utilizados simultáneamente por varios usuarios.
1.4.
Sistemas de tiempo real.
La respuesta del ordenador se debe producir en un tiempo mínimo para no comprometer el equilibrio del proceso que se está controlando. Su objetivo es ofrecer tiempos rápidos de respuesta y evitar los tiempos muertos de planificación sin preocuparse de la utilización óptima de los recursos del sistema. Las características más importantes son:
· La gestión de memoria es relativamente sencilla.
· Los procesos cooperan entre sí.
· El mecanismo de interrupciones es muy sofisticado.
· La gestión de los dispositivos tiene que cumplir requerimientos de tiempo crítico.
· El almacenamiento secundario solamente aparece en sistemas grandes por sus limitaciones de tiempo de acceso.
· Todas las características de los sistemas operativos que producen una incertidumbre en el tiempo de respuesta no pueden aparecer en los sistemas operativos de tiempo real.
La función esencial es la de proporcionar la seguridad óptima con el mínimo de intervenciones del operador.
1.5.
Ordenadores personales y sistemas distribuidos.
Se produjo una disminución en los precios del soporte físico, cada usuario podía disponer de su propio sistema de computación.
Sistemas distribuidos: surgió la posibilidad de conectar varios computadores como nodos de una red para obtener un sistema flexible que permita a sus usuarios trabajar independientemente pero de manera que desde cada nodo se puedan utilizar lis recursos de red. Un sistema distribuido se caracteriza por comportase frente al usuario como una sola máquina. Las características serían:
· Ausencia de memoria común.
· Paralelismo real (existen varios procesadores).
· Dependencia de lis sistemas de comunicación.
· Resistencia a fallos.
· Aceleración de los cálculos.
· Comunicación entre usuarios.
· Permiten el crecimiento incremental.
· Aumentan la disponibilidad del sistema a los usuarios.
Los inconvenientes:
· Una mayor complejidad para el SO.
· Peor relación precio/potencia que el de los sistemas centralizados.
· Dependencia de la red de conexión.
· Problemas de seguridad.
Se basan en la utilización de sistemas de transmisión fiables, eficaces y rápidos que permitan integrar sistemas de distintos fabricantes.
1.6.
Tendencias en la evolución de los SSOO.
Algunos autores han enumerado las siguientes tendencias:
· Influencia del estilo de programación orientada a objetos.
· Aprovechamiento de los avances en sistemas multiprocesadores para explorar el paralelismo y dar menos importancia a la planificación.
· Utilización de servicios de computación distribuida masiva.
· Incorporación de las posibilidades de los dispositivos ópticos que permiten gran capacidad de almacenamiento.
· Soporte para aplicaciones multimedia.
· Utilización de espacios de direcciones enormes.
2. Servicios del SO.
Proporciona los servicios necesarios para que un programa de usuario pueda ejecutarse. Se pueden clasificar según su finalidad en:
2.1. Tipos de servicio para facilitar la tarea del usurario.
· Ejecución de programas.
· Operaciones E/S.
· Tratamiento del sistema de ficheros.
· Detección de errores.
2.2. Tipos de servicio para permitir un uso eficiente del sistema.
· Asignación de recursos.
· Contabilidad.
· Protección.
· Los servicios del SO son proporcionados al usuario de dos formas diferentes:
2.2.1. Llamadas al sistema.
Intermediario entre el SO y el programa en ejecución. Un problema es el paso de los parámetros asociados a la llamada, existen dos métodos:
· Paso mediante registros.
· Paso mediante una tabla situada en memoria central cuya dirección es pasada en un registro.
2.2.2. Programas del sistema.
Permiten a un usuario realizar peticiones al SO sin necesidad de escribir programas. Uno de los programas más importantes es el intérprete de comandos, que está en ejecución cuando hace su entrada un usuario en un sistema interactivo. Su misión es leer e interpretar los comandos que introduce el usuario en su consola.

3. Funcionamiento interno del SO.
Los SSOO son programas guiados por eventos que esperan pacientemente que ocurra un evento, estos eventos serán caso siempre señalados por la ocurrencia de una interrupción. En un sistema pueden ocurrir diversos tipos de interrupciones:
3.1. Llamadas al sistema. Se interrumpe en la UCP el programa de usuario, pasando el control al SO.
3.2. Interrupciones de E/S. un dispositivo de E/S interrumpirá cuando finalice una petición de E/S producida por una llamada al sistema. Pueden suceder dos cosas:
Ø Esperamos a que la E/S termine para devolver el control al programa de usuario
Ø .Devolvemos el control al programa de usuario sin esperar a que termine la E/S.
3.3. Excepciones. Cuando sucede un error de programa, el SO debe finalizar de modo anormal, mostrando un mensaje de error y transfiriendo el control a la rutina de tratamiento correspondiente.
4. Estructura de un SO.
La capa más externa es el módulo de gestión de ficheros que se encuentra en contacto directo con el usuario, y la más interna es el núcleo, que estará en contacto directo con el soporte físico de la máquina. Sobre el núcleo está la capa de gestión de memoria. La capa de gestión de E/S amplía la máquina con operaciones sobre los dispositivos físicos y se encuentra entre la capa de sistema de ficheros y la de gestión de la memoria.


Entradas relacionadas: