• No se han encontrado resultados

Tema 4. Sistemas de entrada/salida

N/A
N/A
Protected

Academic year: 2021

Share "Tema 4. Sistemas de entrada/salida"

Copied!
110
0
0

Texto completo

(1)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

■ Dispositivos de almacenamiento terciario ■ El reloj

■ El sistema de E/S en Linux

(2)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Dispositivos de almacenamiento secundario

✓ Discos

Estructura física de los discos

Formateo de discos

– Formateo físico

– Creación de particiones – Formateo lógico

Planificación del acceso a disco

Fiabilidad y tolerancia a fallos

(3)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Bibliografía

J. Carretero et al. Sistemas Operativos: Una Visión Aplicada. McGraw-Hill.

2001. Capítulo 7.

W. Stallings. Sistemas Operativos. Prenctice-Hall. 2001. Capítulo 11.A. Silbertschatz, P. Galvin, G. Gagne. Sistemas operativos.

(4)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

■ Dispositivos de almacenamiento terciario ■ El reloj

■ El sistema de E/S en Linux

■ El sistema de E/S en Windows NT/2K ■ Servicios de E/S en POSIX

(5)

S

S

O

O

II

II

II

II

Introducción

■ El SO necesita:

Dispositivos de almacenamiento de datos

● Almacenamiento secundario (discos) ● Almacenamiento terciario (cintas)

Dispositivos de interacción con el usuario

● Periféricos de interfaz de usuario (ratones, pantallas, impresoras,

escáner, lápices ópticos, etc.)

Dispositivos de comunicaciones

(6)

S

S

O

O

II

II

II

II

Estructura de una computadora

Dispositivos de salida (impresora, monitor, ...) Dispositivos de entrada (teclado, ratón, lápiz óptico, ...) Dispositivos de entrada/salida (discos, cintas, modem, ...) Unidad principal (CPU, registros, memoria RAM, entrada/salida -discos internos, red, ...-)

(7)

S

S

O

O

II

II

II

II

Estructura de una computadora

Dispositivos por bloques y por caracteres:

Dispositivos por bloques

Manejan la información en unidades de tamaño fijo (bloques) ● Ejemplos: discos y cintas

Dispositivos por caracteres

● Gestionan flujos de caracteres de forma lineal sin estructura tipo

bloque ni tamaño fijo

● Ejemplos: pantallas, teclados, impresoras, modems, tarjetas de red,

(8)

S

S

O

O

II

II

II

II

Conexión de dispositivos de E/S

Bus del sistema

Bus de expansión Controlador gráfico

CPU

Memoria

Controlador de disco estado control datos

(9)

S

S

O

O

II

II

II

II

Conexión de dispositivos de E/S

Controladores de dispositivos:

◆ Un controlador puede controlar uno o más dispositivos ◆ Funciones:

● Transferir información entre MC y periféricos

● Sincronizar la velocidad del procesador con la del periférico ● Detectar posibles errores que se produzcan en el acceso al

(10)

S

S

O

O

II

II

II

II

Funciones del sistema de E/S

¿Qué es el sistema de entrada/salida (E/S)?

◆ Parte del SO que ofrece:

● Visión lógica simplificada de los dispositivos de E/S

● Mecanismos de abstracción de los detalles físicos de éstos

Objetivos del sistema de E/S:

◆ Facilitar el manejo de los dispositivos de E/S ◆ Optimizar la E/S del sistema

◆ Proporcionar dispositivos virtuales para conexión de dispositivos sin

tener que remodelar el SO

(11)

S

S

O

O

II

II

II

II

Funciones del sistema de E/S

Mecanismos de incremento de prestaciones:

◆ Caché de disco:

● Memoria intermedia situada en MC para bloques de disco

● Memoria de tamaño variable dependiendo del espacio libre para

procesos de usuario

● Contiene copia de algunos bloques del disco

● Lecturas anticipadas de datos: Principio de localidad de referencias ● Estrategia de reemplazo de bloques: Generalmente LRU

(12)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

■ Dispositivos de almacenamiento terciario ■ El reloj

■ El sistema de E/S en Linux

■ El sistema de E/S en Windows NT/2K ■ Servicios de E/S en POSIX

(13)

S

S

O

O

II

II

II

II

Estructura del sistema de E/S

Interfaz del Sistema Operativo

Gestor de Bloques

Gestor de Caché Sistemas de Archivos

NFTS HPFS FAT CD-ROM ...

Gestión de Redes (IPX/SPX, TCP/IP, ... ) Gestión de Redes

(14)

S

S

O

O

II

II

II

II

Estructura del sistema de E/S

Componentes:

◆ Interfaz del SO:

● Proporciona servicios de E/S a las aplicaciones y una interfaz

homogénea para comunicarse con manejadores de dispositivos

◆ Sistemas de ficheros (SF):

● Proporciona una interfaz homogénea para acceder a los diferentes

SF del SO (SV, NTFS, FAT, ...) → SF virtuales

● Traduce las operaciones del formato del usuario al de bloques

◆ Gestor de redes:

● Proporciona una interfaz homogénea para acceder a los diferentes

(15)

S

S

O

O

II

II

II

II

Estructura del sistema de E/S

Componentes (cont.):

◆ Gestor de bloques:

● Atiende peticiones a nivel de bloque

● Interacciona con la caché de bloques para optimizar la E/S

◆ Gestor de caché:

● Optimiza la E/S para dispositivos de tipo bloque mediante caché

◆ Manejadores de dispositivos:

● Traduce las operaciones sobre dispositivos a operaciones de control

(16)

S

S

O

O

II

II

II

II

Estructura del software de E/S

Aplicación Subsistema o DLL Gestor de archivos Gestor de bloques Gestor de caché Servicios Dispositivo (disco) Copia en el sistema operativo Copia en memoria del usuario Modo usuario Modo supervisor Proceso de usuario SW de E/S independiente de dispositivo SW de E/S independiente de dispositivo SW de E/S dependiente de dispositivo Hardware Software Bloque del dispositivo Copia en el controlador Controlador Manejador de interrupción Manejador de dispositivo

(17)

S

S

O

O

II

II

II

II

Estructura del software de E/S

Manejadores de interrupción y de dispositivos:

◆ Manejador de interrupción:

● Tratan las interrupciones de los controladores de dispositivos →

Ejecución del manejador de interrupción

● Comunican el evento al manejador de dispositivo

◆ Manejador de dispositivo:

● Acepta peticiones del SW de E/S independiente del dispositivo ● Traduce las peticiones a formato del controlador

● Planifica el acceso de peticiones al dispositivo

(18)

S

S

O

O

II

II

II

II

Estructura del software de E/S

Operaciones de un manejador de dispositivo:

Operaciones sobre datos Contestación a la petición Traducir a controlador Preparar respuesta de error Extraer petición E/S de la lista Peticiones de E/S del dispositivo

Bloqueo Error Esperar interrupción Programación del controlador Sí Sí No No Interrupción Leer registros estado del controlador formato del Enviar controlador mandatos al

(19)

S

S

O

O

II

II

II

II

Estructura del software de E/S

SW independiente del dispositivo:

◆ Función:

● Ejecutar las funciones de E/S comunes a todos los dispositivos a

través de una interfaz común

◆ Proporciona:

● Acceso a nivel de bloques o caracteres  Tamaños de acceso genéricos

● Almacenamiento intermedio en memoria del SO

(20)

S

S

O

O

II

II

II

II

Estructura del software de E/S

SW independiente del dispositivo (cont.):

◆ Proporciona (cont.):

● Gestión de dispositivos

 Nombrado: Traducción de nombres de usuario a identificativos del sistema

 Protección

 Control de acceso

● Planificación de la E/S ● Gestión de errores

(21)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

✓ Discos

Estructura física de los discos

Formateo de discos

– Formateo físico

– Creación de particiones – Formateo lógico

Planificación del acceso a disco

(22)

S

S

O

O

II

II

II

II

Discos

Utilización:

◆ Almacenamiento masivo y no volátil de datos

◆ Plataforma para el sistema de intercambio del gestor de memoria virtual ■ Taxonomía según la interfaz de su controlador:

Dispositivos SCSI (Small Computer System Interface)Dispositivos IDE (Integrated Drive Electronics)

Taxonomía según la tecnología de fabricación:

Discos duros (Winchester) Almacenamiento secundario ◆ Discos ópticos (CD-ROM, DVD)

◆ Discos extraíbles (disquetes, ZIP, JAZZ)

Estructura física y lógica muy similar para todos

(23)

S

S

O

O

II

II

II

II

Estructura física de los discos

Formato y organización de los datos:

◆ Caras

Pistas Sectores Cilindros

◆ Estructura de un sector:

● Cabecera (Contiene el número de sector) ● Área de datos (256, 512 ó 1024 bytes)

(24)

S

S

O

O

II

II

II

II

Estructura física de los discos

Características físicas de los sistemas de disco:

◆ Caras: ● Simple cara ● Doble cara ◆ Platos: ● Un solo plato ● Múltiples platos

◆ Portabilidad del disco:

● Disco no extraíble ● Disco extraíble

◆ Cabezal:

● Fijo: Uno por pista

● Móvil: Uno por superficie

◆ Mecanismo del cabezal:

● Contacto (disquetes) ● Hueco fijo

(25)

S

S

O

O

II

II

II

II

Estructura física de los discos

Capacidad del disco:

◆ N° caras x N° pistas x N° sectores x Tamaño sector ■ Tiempo de acceso a disco:

(Tiempo de espera Para acceso al dispositivo)

Tiempo de posicionamiento Cabezal bajo la pista de los datos Tiempo de latencia Cabezal bajo el sector de los datos

Tiempo de transferencia Entre dispositivo y MC

◆ Tiempos medios en discos magnéticos actuales:

● Tiempo de posicionamiento: 5-10 msg.

Σ

(26)

S

S

O

O

II

II

II

II

Estructura física de los discos

Apreciaciones a tener en cuenta:

Densidad de cada pista: En los discos modernos el número de sectores

varía de unas pistas a otras

Intercalado de sectores: La numeración de los sectores no es

consecutiva

Almacenamiento intermedio en el controlador: Almacenamiento de la

pista entera en memoria del controlador

Controladores inteligentes: Si controlan varios dispositivos, permiten

(27)

S

S

O

O

II

II

II

II

Ejemplo de disco duro

Capacidad: Velocidad: Tpo. posicionamiento: Tpo. latencia: Cilindros: Cabezas: Sectores: 1 7200 RPM 8,5 msg. 4,16 msg. 0.2 GB 1023 256 83

SEAGATE Barracuda ATA II ST330630A Parámetro Valor

(28)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

✓ Discos

Estructura física de los discos

Formateo de discos

– Formateo físico

– Creación de particiones – Formateo lógico

Planificación del acceso a disco

Fiabilidad y tolerancia a fallos

– Sistemas RAID

■ Dispositivos de almacenamiento terciario ■ ...

(29)

S

S

O

O

II

II

II

II

Formateo físico de discos

Formateo físico o de bajo nivel:

◆ División del disco en sectores para que el controlador de disco pueda leer y

escribir

● Creación de la estructura de datos de cada sector

(30)

S

S

O

O

II

II

II

II

Formateo de discos

Creación de particiones:

◆ Partición o volumen: Porción contigua de sectores del disco ◆ Particiones primarias y extendidas

◆ Partición activa, de sistema o de arranque

● Permite arrancar un SO

◆ Tabla de particiones:

● Información sobre la distribución lógica del disco en particiones ● Almacenada en el sector 0 (primer sector de la primera pista del

(31)

S

S

O

O

II

II

II

II

Formateo de discos

Tabla de particiones de un disco:

(32)

S

S

O

O

II

II

II

II

Formateo lógico de discos

Formateo lógico de una partición:

◆ Estructura lógica de un disco: Estructura significativa para el SO ◆ Formateo lógico de una partición → Creación de un SF

● format para sistemas Windows ● mkfs para sistemas Unix

(33)

S

S

O

O

II

II

II

II

Formateo lógico de discos

Tareas de un formateo lógico:

◆ Construcción del bloque de carga o sector de arranque ◆ Creación de la estructura lógica del SF

◆ Creación de una lista de bloques defectuosos ◆ Creación de una lista de bloques de repuesto

(34)

S

S

O

O

II

II

II

II

Formateo lógico de discos

Bloque de carga o sector de arranque:

◆ Contiene información sobre la estructura de la partición y el programa

cargador

El programa cargador:

● Incluye los aspectos más básicos de iniciación del HW y un bucle de

lectura que carga el SO en una dirección de la memoria

● Cuando termina salta a la dirección de memoria donde puso el núcleo y

(35)

S

S

O

O

II

II

II

II

Formateo lógico de discos

Bloque de carga Bloque con Bloques de inodos Bloques de datos: Mapa de bits de bloques libres Mapa de bits de

Creación de la estructura lógica del SF: ◆ Estructura lógica de un SF con inodos:

(36)

S

S

O

O

II

II

II

II

Formateo lógico de discos

Lista de bloques defectuosos:

◆ Los bloques en mal estado se marcan como ocupados y no se liberan nunca ◆ Bloque defectuoso: Cuando alguno de los sectores que lo componen son

defectuosos

◆ Detección por la paridad del sector introducida durante el formato físico ■ Lista de bloques de repuesto:

◆ Permite sustituir un bloque del dispositivo si falla durante el tiempo de vida

(37)

S

S

O

O

II

II

II

II

Recordando... Arranque de Linux

Partes del arranque de Linux desde el disco duro de un PC:

◆ Cargador de la BIOS del PC ◆ Cargador LILO

◆ Núcleo

(38)

S

S

O

O

II

II

II

II

Recordando... Arranque de Linux

Cargador de la BIOS:

◆ El procesador arranca en modo real

◆ La BIOS carga el “Master Boot Record (MBR)” del disco en RAM ◆ Se ejecuta el LILO

Cargador LILO:

◆ Pregunta por el SO a cargar

◆ Si es Linux copia el setup.S y el núcleo en RAM ◆ Ejecuta el setup.S:

● Consulta a la BIOS el HW instalado (memoria, teclado, etc.) ● Salta al núcleo ■ Núcleo ... MBR 0x1BE 0x1FE 0x000 Tabla de particiones LILO 0xAA55*

(39)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

✓ Discos

Estructura física de los discos

Formateo de discos

– Formateo físico

– Creación de particiones – Formateo lógico

Planificación del acceso a disco

(40)

S

S

O

O

II

II

II

II

Planificación de disco

Uno de los objetivos del SO:

◆ Usar el HW de forma eficiente

Para discos ⇒ Accesos rápidos y mucho ancho de banda

Objetivo de la planificación del acceso a disco: ◆ Minimizar el tiempo de posicionamiento

● Minimizar movimientos de cabezales

● Directamente proporcional a la distancia entre búsquedas

bytes transferidos tiempo de transferencia

Tiempo de posicionamiento Tiempo de latencia

Tiempo de transferencia

(41)

S

S

O

O

II

II

II

II

Planificación de disco

Algoritmos de planificación del acceso a disco:

◆ FCFS ◆ SSF ◆ SCAN ◆ C-SCAN ◆ LOOK ◆ C-LOOK ◆ F-SCAN

(42)

S

S

O

O

II

II

II

II

FCFS

■ Peticiones atendidas por orden de llegada ■ Planificación sencilla

■ Movimientos bruscos de cabezales ■ Tiempo de posicionamiento grande

(43)

S

S

O

O

II

II

II

II

FCFS

Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67 Cabezal en sector 53 (dirección n°pista creciente)

14 37 53 65 67 98 122 124 183 199

(44)

S

S

O

O

II

II

II

II

SSF

■ Sortest Seek First (SSF)

■ Primero las peticiones que están más cerca de la posición actual del cabezal ■ Similar a planificación de CPU Sortest Jof First (SJF)

(45)

S

S

O

O

II

II

II

II

SSF

Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67 Cabezal en sector 53 (dirección n°pista creciente)

14 37 53 65 67 98 122 124 183 199

(46)

S

S

O

O

II

II

II

II

SCAN

■ El cabezal va de un extremo del disco al otro sirviendo las solicitudes que

encuentra a su paso

Al volver se sirven todas las del sentido contrario

■ Política seguida para controlar eficientemente los ascensores y asegurar que

todo el mundo suba → Algoritmo de planificación de disco del ascensor

■ Óptimo cuando las solicitudes uniformemente por todo el disco (no habitual)

Favorece a las solicitudes sobre cilindros más interiores y exteriores y a las últimas peticiones en llegar

(47)

S

S

O

O

II

II

II

II

SCAN

Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67 Cabezal en sector 53 (dirección n°pista creciente)

14 37 53 65 67 98 122 124 183 199

(48)

S

S

O

O

II

II

II

II

C-SCAN

■ Propiedad de ascensores (y discos):

◆ Es más costoso subir a un edificio parando que ir de un golpe de arriba

abajo y viceversa

■ Variante del algoritmo del ascensor que viaja en un solo sentido

◆ 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 ◆ Trata los cilindros como una lista circular que enlaza el último cilindro con el

primero → Ascensor cíclico

■ Tiempo de espera más uniforme que el ascensor normal

◆ En dispositivos con muchas peticiones de E/S tiene rendimiento superior a

otras

(49)

S

S

O

O

II

II

II

II

C-SCAN

Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67 Cabezal en sector 53 (dirección n°pista creciente)

14 37 53 65 67 98 122 124 183 199

(50)

S

S

O

O

II

II

II

II

LOOK

■ Igual que SCAN pero sin llegar a la última y primera pista para cambiar

dirección de cabezal

(51)

S

S

O

O

II

II

II

II

LOOK

Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67 Cabezal en sector 53 (dirección n°pista creciente)

14 37 53 65 67 98 122 124 183 199

(52)

S

S

O

O

II

II

II

II

C-LOOK

■ Igual que C-SCAN pero sin llegar a última y primera pista

◆ Llega hasta la petición con mayor número de pista y luego a la de

(53)

S

S

O

O

II

II

II

II

C-LOOK

Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67 Cabezal en sector 53 (dirección n°pista creciente)

14 37 53 65 67 98 122 124 183 199

(54)

S

S

O

O

II

II

II

II

F-SCAN

■ Con SSF, SCAN, C-SCAN, LOOK y C-LOOK puede que el brazo no se

mueva durante un periodo considerable de tiempo

◆ Por ejemplo, si uno o varios procesos tienen porcentajes altos de acceso

a una pista

■ Solución: Dividir las peticiones a disco en dos colas

◆ Al inicio de un rastreo todas las solicitudes en una cola y la otra vacía ◆ Las solicitudes que lleguen después se colocan en la cola inicialmente

vacía

(55)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

✓ Discos

Estructura física de los discos

Formateo de discos

– Formateo físico

– Creación de particiones – Formateo lógico

Planificación del acceso a disco

(56)

S

S

O

O

II

II

II

II

Sistemas RAID

RAID (“Redundant Array of Independent Disks”, Vector Redundante de

Discos Independientes)

Planteamiento:

◆ Reemplazo de unidades de disco de gran capacidad por vectores de

discos de menor capacidad

Objetivos:

◆ Aumentar la seguridad de datos

(57)

S

S

O

O

II

II

II

II

RAID

Almacenamiento de datos:

◆ Distribución de datos consecutivos entre los discos ⇒

Acceso simultaneo a datos de varios discos ⇒

Mejor rendimiento de E/S

Cada disco se divide en bandas (“strips”)

● Banda: bloque, sector o alguna unidad

● Las bandas se asignan por turno rotatorio a discos consecutivos del

(58)

S

S

O

O

II

II

II

II

RAID

Almacenamiento de datos (cont.):

◆ El SO ve el vector de discos físicos como una sola unidad lógica

Correspondencia de datos para una serie RAID nivel 0

banda 7 banda 6 banda 5 banda 4 banda 12 banda 8 banda 4 banda 0 banda 13 banda 9 banda 5 banda 1 banda 14 banda 10 banda 6 banda 2 banda 15 banda 11 banda 7 banda 3 banda 3 banda 2 banda 1 banda 0 Disco

físico 0 físico 1Disco físico 2Disco físico 3Disco Disco

lógico

SW de gestión del vector

(59)

S

S

O

O

II

II

II

II

RAID

Fiabilidad y tolerancia de fallos:

◆ Redundancia para almacenar información de paridad

Posibilidad de recuperación de datos en caso de fallo de disco

◆ Por ejemplo, utilizando la operación XOR:

X2(i) = X0(i) X1(i) 1 1 1 0 0 0 1 1 Discos de datos 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 Disco de paridad X0 X1 X2 +

(60)

S

S

O

O

II

II

II

II

RAID

Fiabilidad y tolerancia de fallos (cont.):

◆ Solicitud de lectura ⇒ Lectura de datos y código de corrección de error

Solicitud de escritura ⇒ Escritura de datos y código de corrección de error

Puede suponer acceder varias veces a los discos Repercusión en el tiempo de acceso

(61)

S

S

O

O

II

II

II

II

RAID

Niveles RAID:

◆ Siete niveles con diferentes arquitecturas de diseño

● Existen combinaciones de niveles

◆ Cada nivel cumple distintos propósitos

(62)

S

S

O

O

II

II

II

II

RAID

Niveles RAID (cont.):

◆ RAID 0 (no redundante)

◆ RAID 1 (espejo) banda 12 banda 8 banda 4 banda 0 banda 13 banda 9 banda 5 banda 1 banda 14 banda 10 banda 6 banda 2 banda 15 banda 11 banda 7 banda 3 banda 12 banda 8 banda 4 banda 0 banda 13 banda 9 banda 5 banda 1 banda 14 banda 10 banda 6 banda 2 banda 15 banda 11 banda 7 banda 3 banda 12 banda 8 banda 4 banda 0 banda 13 banda 9 banda 5 banda 1 banda 14 banda 10 banda 6 banda 2 banda 15 banda 11 banda 7 banda 3

(63)

S

S

O

O

II

II

II

II

RAID

Niveles RAID (cont.):

◆ RAID 2 (redundancia mediante código de Hamming)

◆ RAID 3 (redundancia mediante paridad)

(64)

S

S

O

O

II

II

II

II

RAID

Niveles RAID (cont.):

◆ RAID 4 (redundancia mediante paridad)

◆ RAID 5 (paridad por intercalación distribuida de bloques)

P(12-15) P(8-11) P(4-7) P(0-3) banda 12 banda 8 banda 4 banda 0 banda 13 banda 9 banda 5 banda 1 banda 14 banda 10 banda 6 banda 2 banda 15 banda 11 banda 7 banda 3 banda 15 banda 11 banda 7 P(0-3) banda 12 banda 8 banda 4 banda 0 P(10-12) banda 9 banda 5 banda 1 banda 13 P(7-9) banda 6 banda 2 banda 14 banda 10 P(4-6) banda 3

(65)

S

S

O

O

II

II

II

II

RAID

Niveles RAID (cont.):

◆ RAID 6 (redundancia dual)

banda 15 banda 11 Q(4-6) P(0-3) banda 12 banda 8 banda 4 banda 0 P(10-12) banda 9 banda 5 banda 1 Q(10-12) P(7-9) banda 6 banda 2 banda 14 Q(7-9) P(4-6) banda 3 banda 15 banda 11 banda 7 Q(0-3)

(66)

S

S

O

O

II

II

II

II

RAID

RAID 0 ó DSA (“Data Striping Array without parity”):

◆ No incluye redundancia ⇒ No es miembro verdadero de la familia RAID ◆ Ventajas:

● Proporciona rendimiento más alto que disco convencional ● Se emplea toda la capacidad de los discos

● No tiene coste adicional ● Diseño sencillo

● Fácil implementación SW

◆ Desventajas:

● No tiene integridad de datos

(67)

S

S

O

O

II

II

II

II

RAID

RAID 1 ó MDA (“Mirrored Disk Array”):

◆ Redundancia vía duplicación de datos

◆ Solicitud de lectura: La del disco que suponga menos tiempo de acceso

Solicitud de escritura: Rendimiento dado por la escritura más lenta de las dos

◆ Ventajas:

● Mayor rendimiento en las lecturas de datos respecto a un disco

convencional

 Si alta tasa de solicitudes de lectura, doble rendimiento que RAID 0

(68)

S

S

O

O

II

II

II

II

RAID

RAID 2 ó HCEC (“Hamming Code for Error Correcting”): ◆ Bandas muy pequeñas (byte o palabra)

◆ Redundancia mediante código de Hamming ◆ Ventajas:

● Velocidad de transferencia alta ● Recuperación de datos

◆ Desventajas:

● Solución cara (pero menor que RAID1), mucho disco para códigos de error ● Tiempo de escritura alto

(69)

S

S

O

O

II

II

II

II

RAID

Detección y corrección de errores vía Código de Hamming: ◆ Sea un dato a transmitir de i bits

◆ Añadir p bits en posiciones potencias de 2

◆ En caso de error de un bit en la transmisión los p bits permiten detectar

el error y corregirlo

(70)

S

S

O

O

II

II

II

II

RAID

Detección y corrección de errores vía Código de Hamming (cont.): ◆ Ejemplo:

● Dato a transmitir: D3 D2 D1 D0

● Generación de códigos de paridad: P0 = D0 D1 D3

P1 = D0 D2 D3 P2 = D1 D2 D3

● Construcción dato nuevo:

+ +

+ +

+ +

D3 D2 D1 P2 D0 P1 P0 B7 B6 B5 B4 B3 B2 B1

(71)

S

S

O

O

II

II

II

II

RAID

Detección y corrección de errores vía Código de Hamming (cont.): ◆ Ejemplo (cont.):

● Detección error: Bit codificado en C2 C1 C0

C0 = P0 D0 D1 D3 C1 = P1 D0 D2 D3 C2 = P0 D1 D2 D3 + + + + + + + + + C2 C1 C0 FALLO 0 0 0 Ninguno 0 0 1 B1 0 1 0 B2 0 1 1 B3 1 0 0 B4 1 0 1 B5

(72)

S

S

O

O

II

II

II

II

RAID

RAID 3 ó PDA (“Parallel Disk Array”):

◆ Bandas muy pequeñas (byte o palabra) ◆ Redundancia

● Un solo bit de paridad (para todos los bits en la misma posición de disco) ● Un solo disco redundante

◆ Ventajas:

● Velocidad de transferencia alta ● Recuperación de datos

◆ Desventajas:

● Si se pierde el disco de paridad, se pierde toda la información redundante ● Tiempo de escritura de datos alto

(73)

S

S

O

O

II

II

II

II

RAID

RAID 4 ó IDA (“Independent Disk Array”):

◆ Bandas grandes

◆ Técnica de acceso independiente:

● Se pueden satisfacer solicitudes de E/S individuales en paralelo

◆ Ventajas:

● Alto rendimiento en aplicaciones de velocidad de demanda interactiva ● Recuperación de datos

◆ Desventajas:

(74)

S

S

O

O

II

II

II

II

RAID

RAID 5 ó IDA (“Independent Disk Array”):

◆ RAID 4 con bandas de paridad distribuidas por todos los discos

● Asignación por turno rotatorio

◆ Ventajas:

● Alto rendimiento en aplicaciones de velocidad de demanda interactiva ● Recuperación de datos

● Evita el cuello de botella del disco de paridad exclusivo

◆ Desventajas:

● Rendimiento bajo en escrituras

(75)

S

S

O

O

II

II

II

II

RAID

RAID 6:

◆ RAID 5 con dos cálculos distintos de paridad ◆ Ventajas:

● Alta fiabilidad

● Alto rendimiento en aplicaciones de velocidad de demanda interactiva ● Recuperación de datos

● Evita el cuello de botella del disco de paridad exclusivo

◆ Desventajas:

(76)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

■ Dispositivos de almacenamiento terciario ■ El reloj

■ El sistema de E/S en Linux

■ El sistema de E/S en Windows NT/2K ■ Servicios de E/S en POSIX

(77)

S

S

O

O

II

II

II

II

Almacenamiento terciario

Características:

◆ Sistema de almacenamiento con:

● Alta capacidad ● Bajo coste

● Más lentos

● Dispositivos extraíbles donde

almacenar datos que no se necesitan inmediatamente en el sistema

Registros 10-60 nsg. Velocidad de acceso

(78)

S

S

O

O

II

II

II

II

Almacenamiento terciario

Disquetes, ZIP, JAZZ:

◆ Pueden ser casi tan rápidos como el disco duro, pero suelen fallar más

debido a su constate manipulación

Discos magneto-ópticos:

◆ Mayor densidad, capacidad y fiabilidad

Memorias ópticas y discos digitales versátiles: ◆ CD, CD-ROM, CD-R, CD-RW

(79)

S

S

O

O

II

II

II

II

Almacenamiento terciario

Cintas magnéticas:

◆ Soporte de gran capacidad y economía

◆ Ideal para operaciones que no requieren acceso rápido: respaldos,

almacenamiento masivo, etc.

◆ Manipuladas manualmente o mediante robots que cambian cintas

automáticamente

Los ficheros residentes en disco se pueden archivar en cintas (por

(80)

S

S

O

O

II

II

II

II

Almacenamiento terciario

El comando tar del intérprete de comandos de sistemas UNIX:

tar –cvf /usr/castano /dev/rmt0 Copia los datos del usuario castano

al dispositivo de cinta /dev/rmt0

tar –uvf /usr/castano /dev/rmt0 Copia anterior incremental

tar –tvf /dev/rmt0 Muestra la información almacenada

en /dev/rmt0

tar –xvf /dev/rmt0 Extrae la información almacenada en /dev/rmt0

(81)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

■ Dispositivos de almacenamiento terciario ■ El reloj

■ El sistema de E/S en Linux

■ El sistema de E/S en Windows NT/2K

(82)

S

S

O

O

II

II

II

II

El reloj

Varias acepciones:

◆ Reloj del procesador

◆ Reloj del sistema (mantiene fecha y hora)

◆ Reloj temporizador (activa periódicamente al SO) ■ ¿El reloj es un dispositivo de E/S?

◆ Características similares a dispositivos de E/S:

● Su programación implica usar registros de E/S ● Usa interrupciones

(83)

S

S

O

O

II

II

II

II

HW del reloj

Circuito temporizador que genera señal periódica (tic) ◆ Conectado a línea de interrupción de alta prioridad ◆ Frecuencia programable

■ Reloj CMOS:

◆ Alimentado por batería que mantiene hora y fecha cuando la máquina

está apagada

(84)

S

S

O

O

II

II

II

II

SW del reloj

Labor principal del SO con el reloj:

◆ Gestión de las interrupciones de reloj ■ Frecuencia de interrupción:

◆ Demasiado alta: Excesiva sobrecarga por tratamiento de interrupciones

Demasiado baja: Limitada precisión en medida del tiempo

◆ Ejemplo típico: 100 Hz (1 interrupción cada 10 msg.) ■ Rutina de interrupción de reloj:

◆ Se debe minimizar el trabajo realizado en ella (ya que mientras no se

atienden interrupciones de menor prioridad)

◆ Solución típica: Dividir trabajo asociado a interrupción de reloj

● Operaciones más urgentes dentro de la rutina de interrupción ● Resto: tratamiento posterior fuera de la rutina

(85)

S

S

O

O

II

II

II

II

El reloj en Linux

Tipos de interrupciones en Linux:

◆ Interrupciones rápidas (“fast interrupts”):

● Interrupciones deshabilitadas durante la ejecución de la rutina de

servicio

● Al finalizar la rutina de servicio retorno inmediato al código que se

estaba ejecutando cuando llegó la interrupción

◆ Interrupciones lentas (“slow interrupts”):

● Interrupciones habilitadas durante la ejecución de la rutina de

servicio

(86)

S

S

O

O

II

II

II

II

El reloj en Linux

Rutinas “bottom halves (BH)”:

◆ Rutinas con operaciones que no han de ser ejecutadas necesariamente

tras una interrupción y que son llevadas a cabo posteriormente desde fuera del manejador de interrupción (rutina de servicio) por razones de eficacia

◆ Objetivo: Agilizar el tratamiento de las interrupciones

◆ Mapa de bits (número entero) para marcar las BHs activas ◆ Ejemplos:

● TIMER_BH: BH del reloj

● INMEDIATE_BH: BH genérica con tareas que han de ser ejecutadas

(87)

S

S

O

O

II

II

II

II

El reloj en Linux

¿Desde dónde se invocan las BHs?

◆ Se inicializan cuando arranca el sistema

◆ Se activan (marcan) desde el manejador de interrupción (rutina de servicio) ◆ Se invocan desde el planificador y también con las interrupciones lentas

● Se testea cada una de las posibles BHs

● Si están marcadas como activas (y están habilitadas) se ejecutan y se

marcan como inactivas

(88)

S

S

O

O

II

II

II

II

El reloj en Linux

El manejador de reloj realiza: void do_timer(...){ jiffies++; lost_ticks++; mark_bh(TIMER_BH); if (¡user_mode(regs)) lost_ticks_system++; ... }

La rutina BH del manejador de reloj realiza: void timer_bh(void) {

update_times(); run_old_timers(); run_timer_list(); } void update_times(){ p->utime += user; p->stime += system; p->counter -= ticks; if (p->counter < 0){ p->counter = 0; need_resched =1; }

jiffies Tiempo (tics) que lleva el sistema en marcha

lost_ticks Num. veces que se ha ejecutado el manejador de

reloj desde la última ejecución de su rutina BH

lost_ticks_systemlost_ticks en modo supervisor

user lost_ticks en modo usuario

system lost_ticks en modo supervisor

ticks Relacionado con lost_ticks

Activa TIMER_BH en mapa de bits de BH

Invocación del planificador

(89)

S

S

O

O

II

II

II

II

Funciones del manejador de reloj

■ Mantenimiento de fecha y hora

■ Gestión de temporizadores ■ Contabilidad y estadísticas

(90)

S

S

O

O

II

II

II

II

Mantenimiento de fecha y hora

Cálculo de la fecha y hora:

◆ En el arranque del SO se lee del reloj CMOS (tras programar la

frecuencia del reloj)

◆ A partir de entonces el SO actualiza la hora en cada interrupción ■ Almacenamiento de fecha y hora:

◆ Unidades de tiempo desde fecha fija en el pasado

● UNIX: sg. o µsg. desde 1-1-1970

● Windows: centenas de nsg. desde 1-1-1601

◆ Diferencias entre horarios de países:

● El SO almacena la hora en el sistema de tiempo estándar UTC

(Universal Coordinated Time)

(91)

S

S

O

O

II

II

II

II

Gestión de temporizadores

¿Quién requiere los temporizadores?

◆ Los procesos de usuario

◆ El SO crea múltiples temporizadores a partir de temporizador HW

● Módulo de comunicaciones ● Manejador de disquete, etc.

Implementación de temporizadores: ◆ Lista de temporizadores activos

● Elemento de lista: Plazo restante (en tics) + Función a ejecutar al

(92)

S

S

O

O

II

II

II

II

Contabilidad y estadísticas

■ La ejecución periódica de la rutina de interrupción de reloj permite muestrear

diversos aspectos del estado del sistema

◆ Contabilidad de uso de procesador de cada proceso

● Se le carga el uso de procesador al proceso en ejecución ● Se distingue si estaba en modo usuario o sistema

(93)

S

S

O

O

II

II

II

II

Soporte para la planificiación

Algoritmos de planificación:

◆ En la mayoría influye el tiempo ⇒ La rutina de interrupción de reloj

conlleva acciones de planificación

◆ Round-Robin:

● En cada interrupción se descuenta tiempo a la rodaja ● Cuando llega a cero → Replanificación

◆ Algoritmos de prioridad:

(94)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

■ Dispositivos de almacenamiento terciario ■ El reloj

■ El sistema de E/S en Linux

■ El sistema de E/S en Windows NT/2K ■ Servicios de E/S en POSIX

(95)

S

S

O

O

II

II

II

II

Recordando... Diagrama de bloques del

núcleo de Linux

trap

fork, wait, exec,... open, read, stat,...

Modo usuario trap Gestor de procesos Librerías Comunicación entre procesos Planificador Gestor de memoria Gestor de ficheros

Dispositivos por Disp. por carácteres bloques

Drivers de dispositivos Caché de buffers

de bloques

Modo supervisor Interfaz con las llamadas al sistema

Sistema de E/S

(96)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

■ Dispositivos de almacenamiento terciario ■ El reloj

■ El sistema de E/S en Linux

■ El sistema de E/S en Windows NT/2K ■ Servicios de E/S en POSIX

(97)

S

S

O

O

II

II

II

II

E/S en Windows NT/2K

Módulos básicos de E/S:

Controladores del SF Controladores del red Gestor de caché Gestor de E/S

(98)

S

S

O

O

II

II

II

II

E/S en Windows NT/2K

RAID:

◆ Windows NT/2K soporta dos clases de configuraciones RAID:

● RAID de HW

 La interfaz del controlador gestiona la creación y regeneración de la información redundante

● RAID de SW

 Disponible en Windows 2K Server

 Implementa la funcionalidad RAID como parte del SO

(99)

S

S

O

O

II

II

II

II

Tema 4. Sistemas de entrada/salida

Índice

■ Introducción

■ Estructura y componentes del sistema de entrada/salida ■ Dispositivos de almacenamiento secundario

■ Dispositivos de almacenamiento terciario ■ El reloj

■ El sistema de E/S en Linux

■ El sistema de E/S en Windows NT/2K

(100)

S

S

O

O

II

II

II

II

Servicios de E/S en POSIX

Servicios relacionados con el reloj:

◆ Servicios de hora y fecha

● Para leer y cambiar (sólo superusuario) fecha y hora

◆ Temporizaciones

◆ Servicios de contabilidad

● Ejemplo: tiempo de procesador consumido por un proceso

Servicios de entrada/salida:

(101)

S

S

O

O

II

II

II

II

Servicios de E/S en POSIX

Lectura de fecha y hora:

◆ Sintaxis:

time_t time (time_t *t);

◆ Descripción:

● Devuelve número de segundos desde 1-1-1970

◆ Funciones de biblioteca para convertir a año, mes, ..., segundos:

(102)

S

S

O

O

II

II

II

II

Servicios de E/S en POSIX

#include <stdio.h> #include <time.h> int main() { time_t tiempo; struct tm *fecha; tiempo=time(NULL);

fecha=localtime(&tiempo);

printf(“%02d/%02d/%04d %02d:%02d:%02d\n”,

fecha->tm_mday, fecha->tm_mon, fecha->tm_year+1900, fecha->tm_hour, fecha->tm_min, fecha->tm_sec);

exit(0); }

(103)

S

S

O

O

II

II

II

II

Servicios de E/S en POSIX

Modificación de fecha y hora:

◆ Sintaxis:

int stime (time_t *t);

◆ Descripción:

● Fija hora según parámetro (segundos desde 1-1-1970) ● Sólo para superusuario

(104)

S

S

O

O

II

II

II

II

Servicios de E/S en POSIX

Activación de una alarma:

◆ Sintaxis:

unsigned int alarm (unsigned int seconds);

◆ Descripción:

● Envía al proceso que la invoca la señal SIGALRM tras seconds

segundos

(105)

S

S

O

O

II

II

II

II

Servicios de E/S en POSIX

Servicios de contabilidad:

◆ Sintaxis:

clock_t times (struct tms *info);

◆ Descripción:

● Proporciona a partir de info información sobre tiempo de ejecución de

proceso e hijos

● Devuelve valor relacionado con tiempo real en el sistema

Típicamente ticks de reloj desde arranque del sistema

● Este valor no se usa de forma absoluta

(106)

S

S

O

O

II

II

II

II

Servicios de E/S en POSIX

#include <stdio.h>

#include <unistd.h> #include <time.h>

#include <sys/times.h>

int main(int argc, char *argv[]){ struct tms InfoInicio, InfoFin; clock_t t_inicio, t_fin;

long tickporseg;

tickporseg=sysconf(_SC_CLK_TCK); /* Num interrupciones reloj por seg */ t_inicio=times(&InfoInicio);

if (fork()==0) {execvp (argv[1], &argv[1]); perror(“Error hijo”); exit(-1);} wait(NULL);

t_fin=times(&InfoFin);

printf(“Tiempo real: %7.2f\n”, (float)(t_fin – t_inicio)/tickporseg); printf(“Tiempo de usuario: %7.2f\n”, (float)(InfoFin.tms_cutime-InfoInicio.tms_cutime)/tickporseg); printf(“Tiempo de sistema: %7.2f\n”, (float)(InfoFin.tms_cstime-InfoInicio.tms_cstime)/tickporseg); exit(0); } ■ Ejemplo:

(107)

S

S

O

O

II

II

II

II

Servicios de E/S en POSIX

Servicios de E/S sobre dispositivos:

◆ Sintaxis:

int ioctl (int fildes, int request, arg);

◆ Descripción:

● Realiza sobre el dispositivo asociado a fildes la operación

especificada en request para la que se necesitarán los parámetros especificados a través de arg

● No definida en POSIX

Tomarán unos valores u otros según el tipo de fichero

(108)

S

S

O

O

II

II

II

II

Ejercicios

Ejercicio 1:

Se dispone de un disco con 200 pistas al que llegan las siguientes solicitudes de acceso a pistas (en dicho orden): 55, 58, 39, 18, 90, 160, 150, 38, 184. El cabezal se encuentra en la pista 100 moviéndose en dirección a número de pistas crecientes.

¿Cuál es el número de pistas recorrido durante la atención de dichas solicitudes si el algoritmo de planificación de acceso a disco es:

(a) FCFS (b) SSF (c) LOOK (d) C-LOOK

(109)

S

S

O

O

II

II

II

II

Ejercicios

Ejercicio 1 (solución): (a) FCFS (b) SSF

Siguiente N°pistas Siguiente N°pistas

pista recorridas pista recorridas

accedida accedida 55 45 90 10 58 3 58 32 39 19 55 3 18 21 39 16 90 72 38 1 160 70 18 20 150 10 150 132 38 112 160 10

(110)

S

S

O

O

II

II

II

II

Ejercicios

Ejercicio 1 (solución): (c) LOOK (d) C-LOOK

Siguiente N°pistas Siguiente N°pistas

pista recorridas pista recorridas

accedida accedida 150 50 150 50 160 10 160 10 184 24 184 24 90 94 18 166 58 32 38 20 55 3 39 1 39 16 55 16 38 1 58 3 18 20 90 32 251 322

Referencias

Documento similar

El principal instrumento o herramienta para el trabajo con las personas y con las familias, es el gestor de caso (gestor social o agente de intervención); por lo

Se especifica y describen los lenguajes de programación, gestor de base datos y otras herramientas de trabajo que son necesarias para el desarrollo del Subsistema Ayuda, así

El sistema a desarrollar estará integrado al buscador CubaSearch y permitirá a los usuarios del mismo ver anuncios publicitarios relacionados con sus criterios de búsqueda y

Descripción Permite a un usuario publicar una información, subir una información perteneciente a un tema dentro de un contenido que esté creado en la aplicación1. Muestra

Para llevar un control de las acciones realizadas por los usuarios que interactúan con la BD se creó un grupo de tablas que funcionan como un historial donde se guardan todas

Estos sistemas cuentan con un Sistema Gestor de Base de Datos (SGBD) que no es el especificado por nuestro cliente, principal funcionalidad del sistema a desarrollar, esto trae

Acción del Actor Acción del Sistema.. El sistema muestra la interfaz XX. El Gestor introduce el número del Cheque. El sistema muestra los datos del Cheque. El Gestor

Actualización: Están siempre actualizadas con el último lanzamiento sin requerir que el usuario tome acciones pro-activas, y sin necesitar llamar la atención del