Anda di halaman 1dari 53

SISTEMAS OPERATIVOS

Administración de E/S y
Planificación del Disco

Mg. Samuel Oporto Díaz


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

2 /53
DISPOSITIVOS DE E/S

3 /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.

4 /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.

5 /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.
6 /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

7 /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

8 /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.

9 /53
Ejemplos de DES según atributos
Velocidad de
Dispositivo Objeto Interacción 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
10 /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
11 /53
Técnicas para la E/S

E/S Programada E/S Dirigida por DMA


interrupciones

Emitir orden de Emitir orden de CPU  E/S Emitir orden de CPU  DMA
lectura al CPU  E/S lectura al Hacer otra cosa lectura al Hacer otra cosa
módulo de E/S módulo de E/S módulo de E/S

Interrumpir Interpretar
Leer estado del Leer estado del Leer estado del
E/S  CPU
módulo de E/S módulo de E/S módulo de DMA
E/S  CPU DMA  CPU
No
Siguiente instrucción
listo
¿estado? Condición de Error ¿estado? Condición de Error

Listo Listo
Leer palabra del Leer palabra del
E/S  CPU E/S  CPU
módulo de E/S módulo de E/S

Escribir palabra Escribir palabra


CPU  Memoria CPU  Memoria
en memoria en memoria

No No
¿Hecho? ¿Hecho?

Si Si
Siguiente instrucción Siguiente instrucción
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.

13 /53
PROBLEMAS DE DISEÑO DE
SISTEMAS OPERATIVOS

14 /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.
15 /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
16 /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.

17 /53
Organización de la E/S
Dispositivo Puerto de
Sistema de Archivos
Periférico Local Comunicaciones
Proceso de Proceso de Proceso de
usuarios usuarios usuarios

Gestión de
directorios

Arquitectura de
E/S lógica Sistema de Archivos
Comunicaciones

Organización Física

E/S con dispositivos E/S con dispositivos E/S con dispositivos

Planificación y Planificación y Planificación y


Control Control Control

Hardware Hardware Hardware

18 /53
(Herramientas Administrativas)

19 /53
DES

20 /53
BUFFERING de E/S
(Almacenamiento
intermedio de E/S)

21 /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

22 /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)

23 /53
Buffer Sencillo
• El sistema operativo asigna un buffer en la memorial
principal para solicitudes de E/S

24 /53
Buffer doble y circular

25 /53
ENTRADA SALIDA A DISCO

26 /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

27 /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.

28 /53
Estructura del sistema de E/S en LINUX
In te rfa z d e lla m a d a s a l s is te m a
S is te m a d e fic h e ro s v irtu a l
C o n tro la d o r d e l
S is te m a d e fic h e ro s d is p o s itiv o
[a lto n iv e l]
C aché de
p á g in a s d e C a c h é d e b lo q u e s
m e m o ria
G e s to r d e p e tic io n e s a lo s d is c o s
P la n ific a d o r d e lo s d is c o s
C o n tro la d o r d e d is p o s itiv o s
[b a jo n iv e l]

S is te m a d e A lm a c e n a m ie n t o S e c u n d a rio

Controlador ≠ Manejador 29 /53


Estructura de un manejador de disco

P la n ifi c a d o r

M a n e ja d o r d e d is c o
M a n e ja d o r M a n e ja d o r M a n e ja d o r … M a n e ja d o r
d e C D_RO M SC SI ID E d e fl o p p y
30 /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.

31 /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.

32 /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.
33 /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

34 /53
Estructura Física del DD

35 /53
Ejemplo de disco duro
SEAGATE Barracuda ATA II ST330630A
Parámetro Valor

Capacidad: 10.2 GB
Cilindros: 1023
Cabezas: 256
Sectores: 83
Velocidad: 7200 RPM
T. Búsqueda: 8,5 mseg.
Latencia: 4,16 mseg
Memoria: 2 Mbytes

36 /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.

37 /53
Tabla de particiones de un disco

38 /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


39 /53
Tiempo de transferencia del HD

Espera del Espera del Tiempo de Tiempo de Tiempo de


Dispositivo Canal Búsqueda Latencia Transferencia

40 /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 -->

41 /53
Tarea

42 /53
ALGORTIMOS DE
PLANIFICACION DE DISCO

43 /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

44 /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

45 /53
FCFS (FIFO)
queue = 98, 183, 37, 122, 14, 124, 65, 67
head starts at 53
0 1 4 37 53 65 67 98 122 124 183 199

46 /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

47 /53
SSTF
queue = 98, 183, 37, 122, 14, 124, 65, 67
head starts at 53
0 1 4 37 53 65 67 98 122 124 183 199

48 /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

49 /53
SCAN
queue = 98, 183, 37, 122, 14, 124, 65, 67
head starts at 53
0 1 4 37 53 65 67 98 122 124 183 199

50 /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

51 /53
C-SCAN
queue = 98, 183, 37, 122, 14, 124, 65, 67
head starts at 53
0 1 4 37 53 65 67 98 122 124 183 199

52 /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

53 /53

Anda mungkin juga menyukai