Araos S.O Unidad 4
Araos S.O Unidad 4
Araos S.O Unidad 4
Contenido
4.1 Dispositivos y manejadores de dispositivos:...................................................................2
Device drivers....................................................................................................................2
Dispositivos de interfaz de usuario................................................................................4
Dispositivos de almacenamiento...................................................................................5
Dispositivos de comunicaciones....................................................................................5
Controladores de Dispositivos.......................................................................................6
4.2. Mecanismos Funciones Manejadores Dispositivos......................................................10
Controlador..................................................................................................................... 10
Estructura........................................................................................................................10
Funciones generalmente realizadas por el software independiente del dispositivo:......10
Las funciones básicas del software independiente del dispositivo son:..........................11
4.3. Estructuras de datos para manejo de...........................................................................12
Dispositivos..................................................................................................................... 12
Sistemas monolíticos:..................................................................................................12
Sistemas por capas:.....................................................................................................13
BUFFERING (uso de memoria interna):.......................................................................14
SPOOLING:...................................................................................................................14
Manejadores de interrupción:.........................................................................................14
Máquinas virtuales:.........................................................................................................15
Modelo cliente-servidor:.................................................................................................15
Microkernels:.................................................................................................................. 15
Exokernels:...................................................................................................................... 15
4.4 Operaciones de Entrada/Salida.....................................................................................17
Inicio y control de los programas de canal......................................................................20
Fuentes bibliográficas:........................................................................................................ 21
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Dispositivos de almacenamiento.
Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su
función primordial es abastecer de datos y almacenamiento a los programas que
se ejecutan en la UCP. Según su capacidad y la inmediatez con que se puede
acceder a los datos almacenados en estos dispositivos, se pueden dividir en
almacenamiento secundario (discos y disquetes) y terciario (cintas).
Dispositivos de comunicaciones.
Permiten conectar a la computadora con otras computadoras a través de una red.
Los dos tipos de dispositivos más importantes de esta clase son los módem, para
comunicación vía red telefónica, y las tarjetas de interfaz a la red, para conectar la
computadora a una red de área local.
En cualquier caso, y sea como sea el controlador, su misión es convertir los datos
del formato interno del dispositivo a uno externo que se ofrezca a través de una
interfaz de programación bien definida.
Controladores de Dispositivos
Un controlador (instaladores) de dispositivos, normalmente llamado controlador en
inglés (device driver) es un programa que informático que permite al sistema
operativo interactuar con un periférico, haciendo una abstracción del hardware del
dispositivo y proporcionando una interfaz - posiblemente estandarizada - para
usarlo. Se puede esquematizar como un manual de instrucciones que se indica al
sistema operativo, cómo debe controlar y comunicarse con un dispositivo en
particular. Por lo tanto es una pieza esencial, sin el cual, no se podría usar el
hardware. Los controladores de dispositivos son programas añadidos al núcleo del
sistema para gestionar periféricos y dispositivos oficiales.
Existen tantos tipos de controladores como tipos de periféricos y es común más de
un tipo de controlador posible para el mismo dispositivo, cada uno ofreciendo un
nivel distinto de funcionalidades. Por ejemplo, aparte de los oficiales (normalmente
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas monolíticos:
Este enfoque, que es por mucho la organización más común, bien podría
subtitularse “El Gran Desorden”. La estructura consiste en que no hay estructura.
El sistema operativo se escribe como una colección de procedimientos, cada uno
de los cuales puede invocar a cualquiera de los otros cuando necesita hacerlo.
Cuando se usa esta técnica, cada procedimiento del sistema tiene una interfaz
bien definida en términos de parámetros y resultados, y cada uno está en libertad
de invocar a cualquier otro, si este último realiza algún cálculo útil que el primero
necesita.
No obstante, incluso en los sistemas monolíticos es posible tener al menos un
poco de estructura. Los servicios (llamadas al sistema) proporcionados por el
sistema operativo se solicitan colocando los parámetros en lugares bien definidos,
como en registros o en la pila, y ejecutando después una instrucción de trampa
especial conocida como llamada al kernel o llamada al supervisor.
Esta organización sugiere una estructura básica para el sistema operativo:
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
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 caracteristica utilizada en la mayoria 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).
Sistemas Operativos I
Araos Cortés Edgar
Máquinas virtuales:
Las primeras versiones de OS/360 eran sistemas estrictamente por lotes. No
obstante, muchos usuarios de 360 querían tener tiempo compartido, de modo que
diversos grupos, tanto dentro como fuera de IBM, decidieron escribir sistemas de
tiempo compartido para él. El sistema de tiempo compartido oficial de IBM,
TSS/360, se entregó tarde, y cuando por fin llegó era tan grande y lento que pocos
sitios realizaron la conversión. El corazón del sistema, conocido como monitor de
Modelo cliente-servidor:
VM1370 se simplifica mucho al desplazar una parte importante del código de
sistema operativo tradicional (que implementa la máquina extendida) a una capa
superior, CMS. No obstante, el VM/370 en sí sigue siendo un programa complejo
porque simular varias 370 virtuales no es tan fácil (sobre todo si se desea hacerlo
con una eficiencia razonable). Una tendencia en los sistemas operativos modernos
es llevar aún más lejos esta idea de trasladar código a capas superiores y quitarle
lo más que se pueda al sistema operativo, dejando un kernel mínimo. El enfoque
usual consiste en implementar la mayor parte de las funciones del sistema
operativo en procesos de usuario.
Microkernels:
Con el diseño de capas, los diseñadores podían elegir en dónde dibujar el límite
entre kernel y usuario. Tradicionalmente todas las capas iban al kernel, pero eso
no es necesario. De hecho, puede tener mucho sentido poner lo menos que sea
posible en modo kernel, debido a que los errores en el kernel pueden paralizar el
sistema de inmediato. En contraste, los procesos de usuario se pueden configurar
para que tengan menos poder, por lo que un error en ellos tal vez no sería fatal.
Sistemas Operativos I
Araos Cortés Edgar
Exokernels:
En vez de clonar la máquina actual, como se hace con las máquinas virtuales, otra
estrategia es particionarla; en otras palabras, a cada usuario se le proporciona un
subconjunto de los recursos. Así, una máquina virtual podría obtener los bloques
de disco del 0 al 1023, la siguiente podría obtener los bloques de disco del 1024 al
2047 y así sucesivamente. En la capa inferior, que se ejecuta en el modo kernel,
hay un programa llamado exokernel (Engler y colaboradores, 1995). Su trabajo es
asignar recursos a las máquinas virtuales y después comprobar los intentos de
utilizarlos, para asegurar que ninguna máquina trate de usar los recursos de otra.
Cada máquina virtual de nivel de usuario puede ejecutar su propio sistema
operativo, al igual que en la VM/370 y las Pentium 8086 virtuales, con la excepción
de que cada una está restringida a utilizar sólo los recursos que ha pedido y que le
han sido asignados.
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I
Araos Cortés Edgar
Sistemas Operativos I