ESTRUCTURA DE DATOS PARA EL MANEJO DE DISPOSITIVOS
Estructura simple o sistema monolítico
El sistema MS-DOS es, sin duda, el mejor sistema operativo para microcomputadoras. Sin embargo, sus interfaces y niveles de funcionalidad no están bien definidos. Los programas de aplicación pueden acceder a operaciones básicas de entrada / salida para escribir directamente en pantalla o discos. Este libre acceso, hace que el sistema sea vulnerable, ya que un programa de aplicación puede eliminar por completo un disco rígido por alguna falla. Además este sistema, también está limitado al hardware sobre el que corre.
Otra
estructura simple es la utilizada por la versión original de UNIX, esta
consiste de dos partes separadas, el kernel y los programas de sistemas. El
kernel fue posteriormente separado en manejadores (drivers) de dispositivos y
una serie de interfaces. El kernel provee el sistema de archivos, la
programación de CPU, el administrador de memoria y otras funciones del sistema
operativo que responden a las llamadas del sistema enunciadas anteriormente
Es una
forma de relación entre el kernel y el software los sistemas operativos
que usaron este sistema fueron freedbsd, unix y linux.
Estructura por capas (layers)
Las nuevas
versiones de UNIX se diseñaron para hardware más avanzado. Para dar mayor
soporte al hardware, los sistemas operativos se dividieron en pequeñas partes.
Ahora los sistemas operativos tienen mayor control sobre el hardware y las
aplicaciones que se ejecutan sobre este.

La principal
ventaja es que cada capa cumple con una serie de funciones y servicios que
brinda a las otras capas, esto permite una mejor organización del sistema
operativo y una depuración más fácil de este.
Es una estructura organizada jerárquica mente cada una
construidas de menor a mayor.
Cada capa se implementa solo utilizando las
operaciones provistas por la capa de nivel inferior. Una capa no necesita saber
cómo se implementan estas funciones, solo necesita saber que operaciones puede
realizar.
Los procesos de usuario emiten peticiones de E/S al
sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema
operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción
del controlador del dispositivo indicando que la operación está completa.
En el manejo de los dispositivos de E/S es
necesario, introducir dos nuevos términos:
BUFFERING (uso
de memoria interna)
Trata de mantener ocupados tanto la CPU como los
dispositivos de E/S. Los datos se leen y se almacenan en un buffer, una vez que
los datos se han leído y la CPU va a iniciar inmediatamente la operación con
ellos, el dispositivo de entrada es introducido para iniciar inmediatamente la
siguiente lectura.

SPOOLING
Esta forma de procesamiento de denomina spooling,
utiliza el disco como un buffer muy grade para leer tan por delante como sea
posible de los dispositivos de entrada y para almacenar los ficheros hasta que
los dispositivos de salida sean capaces de aceptarlos.
Es una característica utilizada en la mayoría de los
sistemas operativos.
Manejadores de
interrupción
Los manejadores de interrupción se encargan de
tratar las interrupciones que generan los controladores de dispositivos una vez
que éstos están listos para la transferencia de datos o bien han leído o
escrito los datos de memoria principal en caso de acceso directo a memoria.
Para tratar dicha interrupción se ejecuta el correspondiente manejador de
interrupción cuyo efecto es el de salvar los registros, comunicar el evento al
manejador del dispositivo y restaurar la ejecución de un proceso (que no tiene
por qué ser el interrumpido).
No hay comentarios.:
Publicar un comentario