Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
ANDRES TUXTLA
SISTEMAS OPERATIVOS
ELABORADO POR:
GERMAIN PICHAL VALDEZ
Buffer Único El tipo más sencillo de esquema que puede proporcionar el sistema operativo es el
buffer único.
Cuando un proceso de usuario emite una petición de E/S, el sistema operativo asigna un buffer para
la operación en la parte d buffer para la operación en la parte de sistema de e sistema de la memoria
principal. la memoria principal.
Para dispositivos orientados a bloques, el esquema con un buffer único se puede describir de la
siguiente manera: las transferencias de entrada usan el buffer del sistema. Cuando se completa la
transferencia, el proceso mueve el bloque al espacio de usuario e inmediatamente pide otro bloque.
A esto se le denomina lectura adelantada, o entrada anticipada; esta operación se realiza con la
esperanza de que se acabará necesitando ese bloque. Para muchos tipos de cómputos, se trata de una
suposición razonable durante la mayor parte del tiempo porque normalmente porque normalmente
se accede a se accede a los datos los datos de forma secuencial. de forma secuencial. Sólo al Sólo al
final de final de una secuencia una secuencia de procesamiento se leerá innecesariamente un bloque.
El esquema de uso de buffers de E/S es el siguiente:
Buffer Doble
Se puede hacer una mejora sobre la técnica del buffer único asignando a la operación dos buffers del
sistema. Con este nuevo esquema, un proceso transfiere datos a (desde) un buffer mientras el sistema
operativo vacía (o llena) el otro. Esta técnica se conoce como buffer doble o intercambio de buffers.
Buffer Circular
Un esquema de buffer doble debería suavizar el flujo de datos entre un dispositivo de E/S y un
proceso. Si el interés está centrado en el rendimiento de un determinado proceso, se desearía que la
operación de E/S fuera capaz de mantener el ritmo del proceso. El buffer doble puede ser inadecuado
si el proceso realiza ráfagas rápidas de E/S. En este caso, el problema puede aliviarse frecuentemente
utilizando más de dos buffers.
Tiempo de búsqueda
El tiempo de búsqueda es el tiempo requerido para mover el brazo del disco a la pista requerida. El
tiempo de búsqueda consta de dos componentes fundamentales: el tiempo de arranque inicial y el
tiempo que se tarda en atravesar las pistas que tienen que cruzarse una vez que el brazo de acceso
empieza a moverse. Por desgracia, el tiempo para atravesar las pistas no es una función lineal del
número de pistas, sino que incluye un tiempo de establecimiento (el tiempo que transcurre desde que
se posiciona la cabeza sobre la pista prevista hasta que se confirma su identificación).
Se han producido muchas mejoras gracias al desarrollo de componentes de disco más pequeños y
ligeros. y ligeros. Hace algunos años, un disco normal tenía un tenía un diámetro de 14 pulgadas (36
cm.), mientras que el tamaño más común actualmente es de 3,5 pulgadas (8,9 cm.), reduciendo la
distancia que tiene que moverse el brazo. Un tiempo normal de búsqueda medio en los discos duros
actuales está por debajo de los 10 ms.
Retardo rotacional
Los discos, excepto los flexibles, rotan a velocidades que van desde 3600 rpm (para dispositivos
portátiles como cámaras digitales) hasta 15.000 rpm, a esta última velocidad se produce una
revolución cada 4 ms. Por tanto, en promedio, el retardo rotacional será de 2 ms. Los discos flexibles
normalmente giran a una velocidad entre 300 y 600 rpm. Por tanto, el retardo medio estará entre 100
y 50 ms.
Tiempo de transferencia
El tiempo de transferencia de un disco depende de la velocidad de rotación de acuerdo con la siguiente
expresión:
Otro problema que se presenta con frecuencia, es cuando distintas aplicaciones intentan acceder a
un dispositivo (ya sea para escribir o leer datos) pero éste se encuentra en uso por otro programa,
y el Sistema tiene que bloquearlo, como con el caso de la memoria protegida, para que sea utilizable
hasta que un programa detenga su uso.
Uno de los principales problemas que se presenta es el del manejo de buffers, y consisten
determinar tan pronto como sea posible que un dispositivo de entrada y salida finalizado una
operación. Este problema se resuelve mediante las interrupciones. Tan pronto como un dispositivo
entrada y salida acaba con una operación interrumpe a CPU, en ese momento la CPU detiene lo que
está haciendo e inmediatamente transfiere control a una posición determinada.
Uno de los problemas más frecuentes en el manejo de archivos son los DEADLOCK, deadlock es una
situación no deseada de espera indefinida y se da cuando en un grupo de procesos, dos o más
procesos de ese grupo esperan por llevar a cabo una tarea que será ejecutada por otro proceso del
mismo grupo, entonces se produce el bloqueo.
Existen también varias causas para que los dispositivos de E/S presenten errores, como lo son drivers
desactualizados y/o una mala instalación de éstos; que el sistema intente utilizar de una manera
incorrecta/incompatible el dispositivo en cuestión, o daño físico del periférico.
Estrategias Para El Control De Dispositivos Periféricos
Para comenzar una operación de E/S, la UCP tiene que escribir sobre los registros anteriores los
datos de la operación a través de una dirección de E/S de memoria asignada únicamente al
controlador. Según se haga de una u otra forma, se distingue entre dispositivos conectados por
puestos o proyectados de memoria.
En este modelo cuando se instala un dispositivo, a su controlador se le asigna un puerto E/S, una
interrupción de hardware y un vector de interrupción.
La siguiente imagen muestra las direcciones de E/S asignadas a algunos dispositivos de E/S a un
equipo (Cuadro rojo) con el Sistema Operativo Window7. Para efectuar una operación de E/S la
UCP ejecuta operaciones por el puerto de salida con la dirección del puerto del dispositivo y con
parámetros para indicar que registro se quiere manipular.
Este método asigna a cada dispositivo de E/S un rango de direcciones de memoria a través de las
cuales se escribe sobre los registros del controlador. En este modelo no hay instrucciones
específicas de E/S, sino que las operaciones se llevan a cabo mediante instrucciones máquina de
manejo de memoria, lo que permite gestionar un mapa único de direcciones de memoria. Sin
embargo, para no tener conflictos con otros accesos a la memoria y optimizar las operaciones, se
reserva una zona de memoria física para asignar las direcciones de E/S.
Dispositivos de bloques y caracteres.