Está en la página 1de 10

Instituto Tecnológico de Tepic

Ingeniería en sistemas computacionales


Materia: Sistemas Operativos I
Investigación Documental de la implementación
de E/S en Linux, Windows Vista, Symbian OS, BDS Y Mach
Unidad 4: Administración de Entrada / Salida
Alumnos:
Enciso Luna Cristian Gerardo 19400563
Paredes Curiel Sebastián 18401174
Aguilar Valdivia Josué Nomar 18401079
Catedrático: Efraín Padilla Valera
Fecha de entrega: 9 de diciembre de 2021
ÍNDICE

Introducción........................................................................................................................................ 1
Implementación de la entrada/salida en Linux ................................................................................. 2
Implementación de la entrada/salida en Windows Vista ................................................................. 4
Implementación de la entrada/salida en Symbian ........................................................................... 7
Conclusión ........................................................................................................................................... 8
Referencias bibliográficas .................................................................................................................. 8
Introducción

Las computadoras hoy en día son herramientas con las que interactuamos
diariamente de diversas formas, estas reciben información del exterior que los
usuarios a través de dispositivos de entrada, estas también pueden compartir
información con el usuario a través de los dispositivos de salida y cada sistema
operativo los implementa por medio de drivers para controlar dichos dispositivos.
La CPU y la memoria no son los únicos recursos que el sistema operativo debe
administrar. Los dispositivos de E/S también interactúan mucho con el sistema
operativo. Los dispositivos de E/S generalmente constan de dos partes: Un
dispositivo controlador y el dispositivo en sí.
El dispositivo controlador es un chip o conjunto de chips que controla físicamente
el dispositivo. En muchos casos, el control del dispositivo es muy complicado y
detallado, por lo que el trabajo del chip o los chips del dispositivo controlador es
presentar una interfaz más simple al sistema operativo.
La otra pieza es el dispositivo en sí. Los dispositivos tienen interfaces bastante
simples, debido a que no pueden hacer mucho y también para estandarizarlas.
Esto último es necesario de manera que cualquier dispositivo controlador de
disco IDE pueda manejar cualquier disco IDE, por ejemplo. IDE significa
Electrónica de unidades integradas y es el tipo estándar de disco en muchas
computadoras.
Como cada tipo de dispositivo controlador es distinto, se requiere software
diferente para controlar cada uno de ellos. El software que se comunica con un
dispositivo controlador, que le proporciona comandos y acepta respuestas, se
conoce como driver (controlador).

1
Implementación de la entrada/salida en Linux

La E/S en Linux se implementa mediante una colección de drivers de dispositivos,


uno por cada tipo de dispositivo. La función de los drivers es aislar el resto del
sistema de las idiosincrasias del hardware. Al proveer interfaces estándar entre
los drivers y el resto del sistema operativo, la mayorparte del sistema de E/S se
puede colocar en la parte del kernel independiente de la máquina.
Cuando el usuario accede a un archivo especial, el sistema de archivos determina
los números de dispositivo mayor y menor que le pertenecen, y si es un archivo
especial de bloques o un archivo especial de caracteres.
El número de dispositivo mayor se utiliza para indexar en una de dos tablas de hash
internas que contienen estructuras de datos para dispositivos de caracteres o de
bloques. La estructura que se localiza de esta forma contiene apuntadores a los
procedimientos a llamar para abrir el dispositivo, leer del dispositivo, escribir en
el dispositivo, etcétera.
El número de dispositivo menor se pasa como parámetro. Agregar un nuevo tipo
de dispositivo en Linux significa agrega una nueva entrada a una de esas tablas y
suministrar los procedimientos correspondientes para manejar las diversas
operaciones en el dispositivo.

Cada fila se refiere a un solo dispositivo de E/S (es decir, un solo driver). Las
columnas representan las funciones que deben aceptar todos los drivers de
caracteres. Existen varias funciones más. Cuando se realiza una operación en un
archivo especial de caracteres, el sistema indexa en la tabla de hash de
dispositivos de caracteres para seleccionar la estructura apropiada, y después
llama a la función correspondiente para realizar el trabajo. Así, cada una de las
operaciones de archivos contiene un apuntador a una función contenida en el driver
correspondiente.

2
El conjunto de funciones del kernel que se pueden llamar se define en un
documento conocido como Interfaz de driver-kernel.
El sistema de E/S se divide en dos componentes principales: el manejo de los
archivos especiales de bloques y el de los archivos especiales de caracteres.
El objetivo de la parte del sistema que realiza operaciones de E/S en archivos
especiales de bloques (por ejemplo, los discos) es minimizar el número de
transferencias que se deben realizar.
Para lograr este objetivo, los sistemas Linux tienen una caché entre los drivers de
disco y el sistema de archivos.
Las versiones más recientes de Linux tienen una caché unificada. Un nivel de
bloques genérico mantiene unidos estos componentes, realiza las traducciones
necesarias entre sectores de disco, bloques, búferes y páginas de datos, y permite
realizar operaciones en ellos.
La caché es una tabla en el kernel para contener miles de los bloques de uso más
reciente.
Cuando se requiere un bloque del disco para cualquier propósito (nodo-i, directorio
o datos), primero se realiza una comprobación para ver si está en la caché. De ser
así, se toma de ahí y se evita un acceso al disco, con lo cual se obtienen grandes
mejoras en el rendimiento del sistema.

Si el bloque no está en la caché de páginas, se lee del disco y se coloca en la caché,


y de ahí se copia hacia donde se necesita. Como la caché de páginas sólo tiene
espacio para un número fijo de bloques, se invoca el algoritmo de reemplazo de
páginas.

3
Implementación de la entrada/salida en Windows Vista

El sistema de E/S de Windows consiste en los servicios de plug-and-play, el


administrador de energía, el administrador de E/S y el modelo del driver de
dispositivos. Plug-and-play detecta los cambios en la configuración del hardware
y crea o derriba las pilas de dispositivos para cada dispositivo, además de
producir la carga y descarga de los drivers de dispositivos. El administrador de
energía ajusta el estado de energía de los dispositivos de E/S para reducir el
consumo de energía del sistema cuando los dispositivos no se utilizan. El
administrador de E/S proporciona soporte para manipular objetos del kernel de
E/S, y operaciones basadas en IRP como IoCallDrivers y IoCompleteRequest. Pero
la mayor parte del trabajo requerido para proveer la E/S de Windows se
implementa mediante los mismos drivers de dispositivos.
Para asegurar que los drivers de dispositivos funcionen bien con el resto de
Windows Vista, Microsoft ha definido el modelo WDM (Windows Driver Model,
Modelo de drivers de Windows) que los drivers de dispositivos deben seguir. El
WDM se diseñó para trabajar con Windows 98 y Windows basado en NT a partir de
Windows 2000, para permitir que los drivers escritos de manera cuidadosa fueran
compatibles con ambos sistemas.
Hay un kit de desarrollo (el Kit de Drivers de Windows) que está diseñado para
ayudar a los escritores de drivers a producir drivers que estén en conformidad
con este modelo. La mayoría de los drivers de Windows empiezan por copiar un
driver de muestra apropiado y lo modifican.
Microsoft también provee un verificador de drivers, que valida muchas de las
acciones de los drivers para asegurar que estén en conformidad con los
requerimientos del WDM para la estructura y los protocolos para las peticiones
de E/S, la administración de la memoria, etcétera. El verificador se incluye con el
sistema, y los administradores pueden controlarlo al ejecutar verifier.exe, lo cual
les permite configurar los drivers que se van a comprobar y qué tan extensivas
(es decir, costosas) deben ser las comprobaciones.
Los dispositivos en Windows se representan mediante objetos de dispositivo.
Estos objetos se utilizan para representar hardware como los buses, y también
abstracciones de software como los sistemas de archivos, los motores de
protocolos de red y las extensiones del kernel, como los drivers de filtros
antivirus. Todos estos objetos se organizan mediante la producción de lo que
Windows denomina pila de dispositivos.

4
Para iniciar las operaciones de E/S, el administrador de E/S llama a una API
IoCallDriver del ejecutivo, con apuntadores al objeto de dispositivo superior y al
IRP que representa la petición de E/S. Esta rutina busca el objeto de driver asociado
con el objeto de dispositivo. Por lo general, los tipos de operaciones que se
especifican en el IRP corresponden a las llamadas al sistema del administrador de
E/S antes descritas, como CREATE, READ y CLOSE.

Una vez que un driver termina de procesar la petición representada por el IRP,
tiene tres opciones. Puede llamar a IoCallDriver otra vez para pasarle el IRP y el
siguiente objeto dispositivo en la pila de dispositivos. Puede declarar la petición de
E/S como completa y regresar al proceso que lo llamó. O puede poner en cola el
IRP de manera interna y regresar al proceso que lo llamó, habiendo declarado que
la petición de E/S sigue pendiente. Este último caso produce una operación de E/S
asíncrona, por lo menos si todos los drivers por encima en la pila están de acuerdo
y regresan a los procesos que los llamaron.
Durante la compleción, cada nivel de la pila de dispositivos se visita en orden
inverso, y se hace una llamada a la rutina de compleción asignada a cada driver en
turno. En cada nivel, el driver puede seguir completando la petición, o puede decidir
que aún hay más trabajo por hacer y dejar pendiente la petición, para lo cual
suspende la compleción de E/S en ese momento.
Un driver en Windows Vista puede hacer todo el trabajo por sí solo.

5
Un uso común para los drivers apilados es para separar la administración del bus
del trabajo funcional de controlar el dispositivo. La administración en el bus PCI es
bastante complicada debido a los diversos tipos de modos y transacciones del bus.
Al separar este trabajo de la parte específica del dispositivo, los escritores de
drivers ya no tienen que aprender a controlar el bus. Sólo tienen que usar el driver
de bus estándar en su pila. De manera similar, los drivers USB y SCSI tienen una
parte específica del dispositivo y una parte genérica, en donde Windows suministra
los drivers comunes para la parte genérica.
Los drivers de dispositivos en modo de kernel son un problema grave para la
confiabilidad y estabilidad de Windows. La mayoría de las fallas del kernel en
Windows se deben a errores en los drivers de dispositivos. Como los drivers de
dispositivos en modo de kernel comparten el mismo espacio de direcciones con los
niveles del kernel y del ejecutivo, los errores en los drivers pueden corromper las
estructuras de datos del sistema, o peor aún. Algunos de estos errores se deben
al asombroso gran número de drivers de dispositivos que existen para Windows, o
a los drivers que desarrollan programadores de sistemas menos experimentados.
Los errores también se deben a la gran cantidad de detalle implicado en la
escritura de un driver correcto para Windows.
El modelo de E/S es poderoso y flexible, pero en esencia todas las operaciones de
E/S son asíncronas, por lo que pueden abundar las condiciones de competencia.
El administrador de energía se encarga de manejar el uso de la energía en todo el
sistema.

6
Implementación de la entrada/salida en Symbian

La estructura de entrada/salida de Symbian OS refleja la de otros diseños de


sistemas operativos.
En esta sección resaltaremos algunas de las características únicas que Symbian
OS utiliza para enfocarse en su plataforma de destino.
En Symbian OS, los drivers de dispositivos se ejecutan como código privilegiado
del kernel para proporcionar acceso al código de nivel de usuario a los recursos
protegidos del sistema. Al igual que en los casos de Linux y Windows, los drivers
de dispositivos representan el acceso al hardware mediante el software.
En Symbian OS, un driver de dispositivos se divide en dos niveles: un driver de
dispositivo lógico (LDD) y un driver de dispositivo físico (PDD). El LDD presenta
una interfaz a los niveles superiores del software, mientras que el PDD interactúa
de manera directa con el hardware. En este modelo, el LDD puede utilizar la
misma implementación para una clase específica de dispositivos, mientras que el
PDD cambia con cada dispositivo. Symbian OS suministra muchos LDDs estándar.
Algunas veces, si el hardware es muy estándar o común, Symbian OS también
proporciona un PDD.
Los LDDs y los PDDs se pueden cargar en forma dinámica mediante los
programas de usuario, si no existen ya en la memoria. Se proporcionan
herramientas de programación para comprobar si es necesario cargarlos.
Las extensiones del kernel son drivers de dispositivos que Symbian OS carga en
tiempo de inicio.
Como se cargan en tiempo de inicio, son casos especiales que se necesitan tratar
de manera distinta a los drivers de dispositivos normales.

7
Conclusión

Los distintos tipos de herrmaientas que utilizamos continuamente al manejar una


computadora cumplen, con un papel fundamental a la hora de transferir datos.
Hoy en dia, las computadoras son muy utilizadas en cualquier aspecto de la vida,
asi como también utilizamos algunas herramientas de entrada y salida, que son
de vital importancia tanto para el computador como para nosotros como usuarios,
entre ellas podemos mencionar: el teclado, la pantalla, el mouse o ratón, así
como tambien los discos duros, cd, dvd, pendrive, entre otros.

Referencias bibliográficas

Andrew Tanembaum (2009) sistemas operativos modernos (3ra edición). Pearson


Education.
Abraham Silberschatz, Peter Baer, Greg Gagne (2012) Operating System Concepts
9th edition. Wiley.

También podría gustarte