Son todos aquellos dispositivos conectados a un computador y diferentes a: UCP, Memoria y Reloj.
Size: 608.74 KB
Language: es
Added: Aug 29, 2025
Slides: 52 pages
Slide Content
Administración de E/S y
Planificación del Disco
SISTEMAS OPERATIVOS
22/53/53
Tabla de Contenido
1.Dispositivos de E/S
2.Problema de Diseño de SO
3.Entrada Salida a Disco
4.Algoritmos de Planificación
33/53/53
DISPOSITIVOS DE E/S
44/53/53
DES
•Son todos aquellos dispositivos conectados a un
computador y diferentes a: UCP, Memoria y Reloj.
•El código para manejar la E/S de los DES es amplia y
compleja.
•Resuelve los problemas de:
–Sincronización.
–Detección de interrupciones.
–Llamadas al sistema.
55/53/53
Tipos de DES (categorías)
•Bloques. Se pueden direccionar, se puede escribir o leer
cualquier bloque del dispositivo realizando primero una
operación de posicionamiento sobre el dispositivo.
–Los discos duros, la memoria, discos compactos y
unidades de cinta.
•Caracteres. Son aquellos que trabajan con secuencias de
byes sin importar su longitud ni ninguna agrupación en
especial. No son direccionables.
–Teclado, la pantalla o display y las impresoras.
66/53/53
Tipos de Dispositivo
•Orientado a bloque
–La información es guardada en bloques de tamaño fijo.
–Las transferencias son hechas un bloque a la vez
–Se referencia a los bloques.
–HDD y cintas
•Orientado al flujo
–La información de transferencia como un flujo de bytes.
–No existen bloques.
–Terminales, impresores, puertos de comunicación,
mouse y la mayoría de los DES que no son
almacenamiento secundario.
77/53/53
Tipos de DES (categorías)
•Legibles para el humano. Usados en la comunicación
con el usuario
–Impresores, video, mouse, teclado.
•Legibles para la máquina. Adecuado para equipos
electrónicos
–HDD, cinta, sensores, controladores e impulsores.
•Dispositivos de Comunicación. Apropiados para la
comunicación con equipos lejanos.
–Modems, tarjetas de red, hub, switchs
88/53/53
Diferencias en dispositivos de I/O
•Velocidad de datos. Existir diferencias de varios ordenes
de la magnitud en la velocidad de transferencia de datos.
•Aplicación.
–El disco usado para grabar archivos requiere un software de
administración de archivos
–El disco usado por el área de swap (VM) necesita hard y soft
especiales para soportarlo.
–La terminal usada por el administrador puede tener alta prioridad.
•Complejidad del control. El driver para la impresora
puede ser más simple que el driver del DD
99/53/53
Diferencias en dispositivos de I/O
•Unidad de Transferencia. La información se puede
transmitir en unidades de bytes, caracteres o bloques.
•Representación de datos
–Diferentes dispositivos emplean diferentes esquemas de
codificación de datos, en los códigos de caracteres y en
los convenios de paridad.
•Condiciones de error.
–Sea en la manera de informar al SO, en sus
consecuencias y en el rango disponibles de posibles
respuesta.
1010/53/53
Ejemplos de DES según atributos
Dispositivo Objeto Interacción
Velocidad de
Transmisión (Kb/sg)
Teclado Entrada Humano 0.01
Ratón Entrada Humano 0.01
Micrófono Entrada Humano 0.02
Escáner Entrada Humano 200
Altavoces Salida Humano 0.6
Impresora de línea Salida Humano 1
Impresora láser Salida Humano 100
Pantalla grafica Salida Humano 30000
CPU a buffer Salida Humano 200
Terminal de red Entrada/Salida Máquina 0.05
Adaptador de LAN Entrada/Salida Máquina 200
Disco óptico Almacenamiento Máquina 500
Cinta magnética Almacenamiento Máquina 2000
Disco magnético Almacenamiento Máquina 2000
1111/53/53
Técnicas para la E/S
•E/S Programada.
–El procesador emite la orden de E/S. El proceso espera a
que termine la operación antes de continuar.
•E/S dirigida por Interrupciones.
–La instrucción de E/S es emitida.
–El procesador continúa ejecutando instrucciones.
–El módulo de E/S envía un interrupción cuando está
prepara para transmitir.
•Acceso directo a la memoria ( el DMA).
–Existe un módulo DMA que controla el intercambio de
datos entre la memorial principal y el DES.
–El procesador es interrumpido sólo luego que el bloque
entero ha sido transferido
Técnicas para la E/S
Emitir orden de
lectura al
módulo de E/S
Leer estado del
módulo de E/S
Leer palabra del
módulo de E/S
Escribir palabra
en memoria
¿estado?
¿Hecho?
Siguiente instrucción
CPU E/S
E/S CPU
Condición de Error
E/S CPU
CPU Memoria
Listo
No
listo
No
Si
Emitir orden de
lectura al
módulo de E/S
Leer estado del
módulo de E/S
Leer palabra del
módulo de E/S
Escribir palabra
en memoria
¿estado?
¿Hecho?
Siguiente instrucción
CPU E/S
Hacer otra cosa
Interrumpir
E/S CPU
Condición de Error
E/S CPU
CPU Memoria
Listo
No
Si
Emitir orden de
lectura al
módulo de E/S
Leer estado del
módulo de DMA
CPU DMA
Hacer otra cosa
Interpretar
DMA CPU
Siguiente instrucción
E/S Programada E/S Dirigida por
interrupciones
DMA
1313/53/53
La evolución de la función de I/O
1.El μP controla directamente el DES.
2.Controlador o módulo de E/S. El μP usa la E/S programa-
da sin interrupciones. El μP no necesita conocer el DES
3.Controlador o módulo de E/S con interrupciones.
–El μP no gasta el tiempo esperando termine una
operación de E/S.
4.Acceso directo a la memoria
–Los bloques de los datos se mueven en memoria sin
que participe el μP, este solo participa al inicio y al final.
5.Módulo de E/S con un procesador separado.
6.El módulo de I/O tiene su propia memoria local. Es una
computadora.
1414/53/53
PROBLEMAS DE DISEÑO DE
SISTEMAS OPERATIVOS
1515/53/53
Eficiencia
•El DES puede convertirse en un cuello de
botella.
•La mayor parte de los DES son lentos
comparados con RAM o el μP.
•La multiprogramación considera que ciertos
procesos están esperando la E/S mientras
otro se están ejecutan.
•La E/S no puede mantener la velocidad del
μP.
•Se puede usar el área de swap para
introducir más procesos lista para la
ejecución y por lo tato tener al μP ocupado,
pero esta es una operación de E/S.
1616/53/53
Generalidad
•En interés de la simplicidad y la extensión de errores:
•Es deseable manejar todos los dispositivos de E/S de una
manera uniforme.
–Procesos DES
–SO DES y operaciones.
•En la práctica es muy difícil conseguir la generalidad, dado
la diversidad de características de los DES.
•Se puede usar enfoques jerárquicos y modulares.
•Los niveles superiores pueden ver los DES en términos
generales tal como:
–de lectura, escritura, apertura, cierre
–bloqueo, desbloqueo
1717/53/53
Estructura lógica de las funciones de E/S
•El SO es de naturaleza jerárquica.
•Las funciones se separan en función a:
–Complejidad
–Rangos de tiempo.
–Nivel de abstracción.
•Cada nivel ofrece sus servicios al nivel
superior.
•Los niveles inferiores se enfrentan a
rangos de tiempos menores, dado que
tratan directamente con el DES.
1818/53/53
Organización de la E/S
E/S con dispositivos
E/S lógica
Proceso de
usuarios
Planificación y
Control
Hardware
Dispositivo
Periférico Local
E/S con dispositivos
Arquitectura de
Comunicaciones
Proceso de
usuarios
Planificación y
Control
Hardware
Puerto de
Comunicaciones
E/S con dispositivos
Sistema de
Archivos
Gestión de
directorios
Proceso de
usuarios
Organización Física
Planificación y
Control
Hardware
Sistema de Archivos
1919/53/53
(Herramientas Administrativas)
2020/53/53
DES
2121/53/53
BUFFERING de E/S
(Almacenamiento
intermedio de E/S)
2222/53/53
Razones para almacenamiento temporal
•Los procesos deben esperar hasta que se complete la E/S.
•Las páginas deben permanecer en RAM durante E/S, sino
se perderían. Sólo algunas partes del proceso pueden ser
enviadas al disco.
•Riesgo de interbloqueo:
•Proceso emite la orden de E/S
•Se suspende temporalmente el
proceso.
•Se le expulsa antes de terminar la
operación.
•Se le bloquea esperando que la
operación termine.
•Mientras tanto la operación de E/S
se bloquea esperando a que el
proceso vuelva a memoria
2323/53/53
I/O Buffering
•Es conveniente hacer la transferencia de datos por
adelantado a la petición y realizar la transferencia un
tiempo después. (buffering)
2424/53/53
Buffer Sencillo
•El sistema operativo asigna un buffer en la memorial
principal para solicitudes de E/S
2525/53/53
Buffer doble y circular
2626/53/53
ENTRADA SALIDA A DISCO
2727/53/53
Discos
•Dispositivos para para almacenamiento no volátil.
•Plataforma para el sistema de intercambio que usa el
gestor de memoria virtual.
•Son dispositivos electromecánicos (HARD DISK) u
optomecánicos (CD-ROM y DVD), se acceden a nivel de
bloques por el sistema de archivos
2828/53/53
Estructura
•El sistema de almacenamiento secundario se usa para
guardar los programas y datos en dispositivos rápidos, de
forma que sean fácilmente accesibles a las aplicaciones a
través del sistema de archivos. En la jerarquía de E/S se
colocan justo debajo de la memoria RAM.
•Hay dos elementos involucrados en este sistema:
–Discos. El almacenamiento secundario se lleva a cabo
casi exclusivamente sobre discos, por lo que es
interesante conocer su estructura y cómo se gestionan.
–Manejadores de disco . Controlan todas las
operaciones que se hacen sobre los discos, entre las
que son especialmente importantes las cuestiones de
planificación de peticiones a disco.
2929/53/53
Estructura del sistema de E/S en LINUX
Interfaz de llam adas al sistem a
C aché de bloques
G estor de peticiones a los discos
Planificador de los discos
C ontrolador de dispositivos
[bajo nivel]
C aché de
páginas de
m em oria
Sistem a de ficheros virtual
Sistem a de ficheros
C ontrolador del
dispositivo
[alto nivel]
Sistem a de Alm a c ena m iento Sec unda rio
Controlador ≠ Manejador
3030/53/53
Estructura de un manejador de disco
Pla nific a dor
Ma neja dor
SC SI
Ma neja dor
de C D_ROM
Ma neja dor
IDE
Ma neja dor
de floppy
…
Ma neja dor de disc o
3131/53/53
Manejadores de disco
Funciones principales:
1.Proceso de la petición de E/S de bloques.
2.Traducción del formato lógico a mandatos del controlador.
3.Insertar la petición en la cola del dispositivo, llevando a
cabo la política de planificación de disco pertinente (FIFO,
SJF, SCAN, CSCAN, EDF, etc.).
4.Enviar los mandatos al controlador, programando la DMA.
5.Bloqueo en espera de la interrupción de E/S.
6.Comprobación del estado de la operación cuando llega la
interrupción.
7.Gestionar los errores, si existen, y resolverlos si es posible.
8.Indicación del estado de terminación al nivel superior del
sistema de E/S.
3232/53/53
Clasificación de Discos
•Pueden ser según la interfaz de su controlador:
–Dispositivos SCSI (Small Computer System Interface).
–Dispositivos IDE (Integrated Drive Electronics).
•Según su tecnología de fabricación:
–Discos duros (Winchester).
–Discos ópticos.
–Discos extraíbles.
•Independientemente del tipo al que pertenezcan, las
estructuras física y lógica de todos los discos son muy
similares, como se muestra a continuación.
3333/53/53
SCSI e IDE
IDE - Integrated Drive Electronics (Electrónica Integrada de Unidad).
•Reúne 25 a 35 sectores en una pista.
•Coloca la unidad y el controlador juntos.
•Se conectan directamente en la placa madre.
•No se le puede dar mantenimiento mediante programas.
•No se puede conectar +2 DD.
SCSI – Small Computer System Interface (Interfaz de Sistemas Pequeños de Computo).
•Se puede conectar hasta ocho diferentes tipos (Id0 a Id7).
•Es el único modo de conectar varios DES consistentemente
•Son de > capacidad que los IDE.
•Tienen precios altos y se dificulta su instalación.
•Cada periférico SCSI tiene inteligencia propia, a diferencia
de los puertos serie y paralelo.
3434/53/53
Característica de los DD
•Un DD es un DES de gran capacidad compuesto de
superficies magnetizadas y cabezas lectoras.
•Las superficies están divididas en cilindros (pistas) y
sectores por pista. El tamaño del sector es 512 bytes.
•Capacidad del disco:
Capacidad = cilindros * pistas * sectores * tamaño sector
discos Pistas = tracks sectores
3535/53/53
Estructura Física del DD
3636/53/53
Ejemplo de disco duro
Capacidad:
Velocidad:
T. Búsqueda:
Latencia:
Memoria:
Cilindros:
Cabezas:
Sectores:
1
7200 RPM
8,5 mseg.
4,16 mseg
2 Mbytes
0.2 GB
1023
256
83
SEAGATE Barracuda ATA II ST330630A
Parámetro Valor
3737/53/53
Estructura lógica de los Discos
•Los DD se manejan como vectores grandes de bloques
lógicos, siendo el bloque la unidad mínima de transferencia
•El vector de bloques lógicos se proyecta sobre los sectores
del disco secuencialmente:
–Sector 0: primer sector de la primera pista del cilindro más externo
–El mapa se hace primero en esa pista, luego en las restantes pistas
de ese cilindro y luego en los restantes cilindros
•El manejador de disco no sabe nada de la organización de
los ficheros, sólo de particiones y bloques.
•En el sector 0 se guarda la tabla de particiones.
•Particiones activas o de sistema: permiten arrancar desde
un sistema operativo.
3838/53/53
Tabla de particiones de un disco
3939/53/53
Parámetros de ejecución de disco
•Para leer o escribir, la cabeza lectora se debe situar en la
pista deseada y al comienzo del sector deseado
•Tiempo de búsqueda.
–Tiempo que toma para colocar la cabeza en la pista deseada.
•Tiempo de latencia (retardo de giro).
–Tiempo para llegar el inicio del sector a la cabeza lectora
•Tiempo de acceso = T_búsqueda + T_latencia
–El tiempo para entrar posición para leer o escribir.
•Tiempo de transferencia.
–Ocurre cuando el sector deseado se mueve debajo de la cabeza.
TT_acceso = n * T_búsqueda + T_latencia + T_transferencia
4040/53/53
Tiempo de transferencia del HD
Espera del
Dispositivo
Espera del
Canal
Tiempo de
Búsqueda
Tiempo de
Latencia
Tiempo de
Transferencia
4141/53/53
Parámetros de ejecución de disco
•Velocidad de Rotación: Número de vueltas por minuto
(RPM) que da el disco.
•3600 rpm = 1 revolución cada 60/3600 segundos
•(16,66 milisegundos)
•Latencia Promedio 8,33 milisegundos
•Tiempo de ½ vuelta -->
4242/53/53
ALGORTIMOS DE
PLANIFICACION DE DISCO
4343/53/53
Planificación de disco
•El SO es responsable de usar el hardware de forma
eficiente.
•El tiempo de acceso tiene dos componentes principales:
–búsqueda: tiempo que tarda el brazo del disco para
mover las cabezas hasta el cilindro que contiene el
sector deseado
–latencia: tiempo de espera adicional para que el disco
gire hasta ponerse sobre el sector deseado
•Objetivo: minimizar el tiempo de búsqueda, que es
directamente proporcional a la distancia de búsqueda
•Ancho de banda: bytes transferidos / tiempo de transferencia
4444/53/53
Algoritmos de Planificación
•Variados: FIFO, SCAN, CSCAN, SSF, EDF, ….
•Fundamentales para optimizar el acceso al disco.
•Criterios de planificación:
–Optimizar el tiempo de búsqueda
–Dar servicio determinista
•A continuación se estudian varios ejemplos usando la
siguiente cola de peticiones:
98, 183, 37, 122, 14, 124, 65, 67
Se asume que las cabezas están en 53
4646/53/53
Shortest Seek First (SSF)
•Primero las peticiones que minimizan el movimiento de
cabezas desde la posición actual
•La política SSTF es una variante de planificación de CPU
con Shortest Job First (primero el más corto)
•Puede causar inanición de algunas peticiones
•Idea: maximizar el ancho de banda del disco
•La ilustración siguiente muestra el movimiento total de las
cabezas del disco: 236 cilindros
4848/53/53
Ascensor (SCAN)
•El movimiento del brazo empieza siempre en un extremo
del disco y continúa hasta el otro. Allí se cambia el sentido
y se vuelve el otro extremo
•Idea: evitar desplazamientos atrás y adelante
•Problema: puede retrasar mucho el servicio de algunas
peticiones si no se insertan adecuadamente dentro de las
rodajas
•Movimiento total de cabezas en el ejemplo: 208 cilindros
5050/53/53
Ascensor cíclico (CSCAN)
•Variación del ascensor
•Las cabezas se mueven de un extremo a otro del disco y
luego vuelven al principio
•No se atienden peticiones mientras las cabezas vuelven a
la posición inicial
•Tiempo de espera más uniforme que el ascensor normal
•Trata los cilindros como una lista circular que enlaza el
último cilindro con el primero
•El número es engañoso. Ir del último al primero se hace en
un único movimiento y tarda muy poco
•Se usa frecuentemente
5252/53/53
Selección de un Algoritmo de Planificación
•SSF es frecuente y parece el más natural
•SCAN y C-SCAN tienen mejor rendimiento para sistemas
que usan mucho el disco
•El rendimiento depende del número y el tipo de peticiones
•Las peticiones al disco pueden depender de la política de
asignación de espacio a los ficheros
•El algoritmo de planificación de disco debe ser escrito
como un módulo separado, para que sea fácil de
reemplazar.
•Algoritmo estándar en casi todos los sistemas: CSCAN