entrada / salida1 horas 1introducciÓn5 2procesos y threads8 3gestiÓn de memoria8 4entrada/salida4...

27
Entrada / Salida 1 Horas 1 INTRODUCCIÓN 5 2 PROCESOS Y THREADS 8 3 GESTIÓN DE MEMORIA 8 4 ENTRADA/SALIDA S.O.I Temario Curso: 04/05

Upload: cayetano-negro

Post on 18-Apr-2015

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 1

Horas

1 INTRODUCCIÓN

5

2 PROCESOS Y THREADS

8

3 GESTIÓN DE MEMORIA

8

4 ENTRADA/SALIDA

4

5 GESTIÓN DE FICHEROS

4

S.O.I TemarioCurso: 04/05

Page 2: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 2

Tema 4. Entrada / Salida

• PRINCIPIOS HARDWARE• Dispositivos y Controladores• E/S mapeada• DMA

• PRINCIPIOS SOFTWARE (Objetivos)

• NIVELES SOFTWARE• Manejadores de interrupción• Drivers de dispositivos• Independencia del dispositivo• Sw de E/S en el espacio de usuario

• DISCOS• Hardware (discos magnéticos)• Formateo• Planificación del brazo

Page 3: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 3

Principios Hardware (Dispositivos + Controladores )

Z80

D7-D0 INT

PBUS

ABUS

PMEM

PES

LEC

ESCA15-A0

8237DMA

D7-D0

EOP

DREQ

DACK

MR

MW

IOR IOW CS

HRQ

HLDA

A15-A0

8272FDC

INT D7-D0

R W CS

TC

DREQ

DACK

A0

MP64K

D7-D0

CS

LECESC

A15-A0

IORIOWMRMW ?

S.O => SimplicidadEficiencia

Page 4: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 4

Principios Hardware (Dispositivos)

• Orientados a bloques: Bloques [512B..32KB] y acceso aleatorio

• Orientados a caracteres: Flujo de bytes y acceso secuencial

• Tasas de transferencia muy variable: 10B/seg..20GB/seg

Dispositivo Tasa Trans.TecladoRatón

10 B/s100 B/s

Modem 56KImp. Láser

7 KB/s100 KB/s

Scanner 400 KB/sUSB 1,5 MB/s40x CD-ROM 6 MB/sFastEthernet 12,5 MB/s

SCSI Ultra 2 80 MB/sBus PCI 528 MB/sSun Gigaplane 20 GB/s

FireWire 50 MB/s

Page 5: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 5

Principios Hardware (Controladores)

Preámbulo Datos ECC

Sector

CPU MPControlador

Disco/sControladorImpresora

?

0100011101....

• Bloque de bytes• Buffer amortiguador de velocidad• Comprobar errores• Dejar en la memoria

Estándar

Page 6: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 6

Principios Sotware (Objetivos)

• Independencia del dispositivo: sort < entrada > salida

• Uniformidad de nombres: /dev/lp/dev/usr/alumnos/zz9999/dev/usr/profesores/pcarazo

¿mount?

• Gestión de errores: Cuanto más local mejor

• Tipo de transferencia: Síncrona vs asíncronaInterrupcionesBloqueo

• Almacenaje intermedio: Amortiguar velocidades, ...

• Compartido vs exclusivo: Ficheros en disco vslistados por impresora

Page 7: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 7

Niveles Software

HARDWARE

Gestores de Interrupciones

Drivers de dispositivos

Sw independiente del dispositivo

Sw de E/S a nivel de usuario

read (df, ….) => Petición de la E/S Respuesta de la E/S

Formateo, TRAP

Nombrado, protección, bloqueo, almacenamiento

Manejar controlador (reg), comprobar estado, erroresSalvar y recuperar estado, realizar tratamiento

Realización física de la E/S

Page 8: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 8

Niveles Software (Gestores de interrupciones)

HARDWARE

Gestores de Interrupciones

Drivers de dispositivos

Sw independiente del dispositivo

Sw de E/S a nivel de usuario

read (df, ….)

Driver

Comandos*

---------------out reg,valor

?Tratar la

interrupción

?wait (sDisco)más acciones

Rutina tratamiento interrupción

Salvar registros Ejecutar rutina específicaContexto rutina int Planificar procesoPila rutina int Recuperar estado procesoAck al controlador int rteRegistros salvados a descriptor

signal

Page 9: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 9

Niveles Software (Drivers de dispositivos)

HARDWARE

Gestores de Interrupciones

Drivers de dispositivos

Sw independiente del dispositivo

Sw de E/S a nivel de usuario

read (df, ….)

?DDisco DTeclado DImpLaser

?

LeerBloque (12.300, &buffer)

cilindropista, sector

¿Motor encendido? ON

¿Mucho tiempo? OFF

LeerBloque (5,&b)

• ¿Llega una petición?

Atender

petición

DDisco

?• ¿Posición actual? ?

¿Extraigo dispositivo?

Page 10: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 10

Niveles Software (Sw independiente del dispositivo)

HARDWARE

Gestores de Interrupciones

Drivers de dispositivos

Sw independiente del dispositivo

Sw de E/S a nivel de usuario

read (df, ….)

• Interfaz uniforme para los drivers

• Almacenamiento (buffers)

• Gestión de errores

• Pedir | Liberar dispositivos dedicados

• Tamaño de bloque independiente del dispositivo

Sistema Operativo

?

df = open (“/dev/fd0”, …)

?

Nombrado de dispositivos de E/S

i-nodetipo

# principal

# secundario

Page 11: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 11

Sw independiente: Almacenamiento (buffers)

PiUsuario

Kernel

Pi Pi Pi

Page 12: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 12

Sw independiente: Almacenamiento (buffers)

Page 13: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 13

Sw independiente (Gestión errores y dispositivos dedicados)

• Errores:

Parámetros => Operación inocua e informar del error

Físicos => Resolución local o pasar la pelota o crash

• Dispositivos dedicados:

Open => Como entrar en región crítica

Close => Como salir de región crítica

Page 14: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 14

Sw independiente (Tamaño de bloque independiente)

0..N

ramDisk

leerBloque (dispositivo, indBloque, dirBuffer)

escribirBloque

Operaciones:

Bloque 0 Bloque 1 Bloque 2 Bloque NDatos:

Sw independiente

dispositivo

Drivers

Por encima del Sw independiente, cada dispositivo de bloques:

Page 15: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 15

Niveles Software (Sw E/S en el espacio de usuario)

Llamadas al sistema rutinas de biblioteca count = write (fd, buffer, nbytes)

Rutinas tipo printf (formateo y pasar parámetros)

Sistema de spooling impresora: demonio y directorio de spooling red: demonio y directorio de spooling

Page 16: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 16

DISCOS (Hardware de los discos magnéticos - I)

Page 17: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 17

DISCOS (Hardware de los discos magnéticos - II)

•Posibilidad de posicionamiento simultáneo en varias unidades (búsquedas solapadas).

•Posibilidad de posicionamiento y r/w simultáneos en dos unidades.•NO transferencias simultáneas.

Page 18: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 18

DISCOS (Hardware de los discos magnéticos - III)

Geometría física de un disco con dos zonas Geometría virtual para el disco

Page 19: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 19

DISCOS (Formateo a bajo nivel: Sector de disco)

Preámbulo Datos ECC

Patrón de bits

Cilindro, Sector

Parametrizable

Habitual 512B

Error Correcting Code

Habitual 16 bits

¿ Capacidad efectiva ?

¿ Sectores defectuosos de fábrica ? Sectores extra alternativos

¿ Cómo ubicar los sectores en la superficie del disco ?

Page 20: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 20

DISCOS (Formateo a bajo nivel: cylinder skew)

Leer 5 sectores

Amortiguaposicionamiento

¿Viable?

Page 21: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 21

DISCOS (Formateo a bajo nivel: Entrelazado de sectores)

• Mientras se transfiere a memoria, el disco sigue girando y ….

¡ Controlador con un único buffer (sector) !

Interleaving = 0 Interleaving = 1 Interleaving = 2

¡ Habitual buffer en controlador para toda una pista !

Page 22: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 22

DISCOS (Establecer particiones)

Master boot record

Código de arranque

Tabla particiones# 1er sector tamañoCDEF

11001----------

10008000----------

¿Partición activa?

¿Formateo

a alto nivel?

Page 23: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 23

DISCOS (Planificación del brazo: FCFS)

• Ejemplo: Posición actual: cilindro 11 Llegan peticiones: 1, 36, 16, 34, 9 ,12

0 1 9 11 12 16 34 36X X

10

35

X XX X

20

18

25

3

¡ En total se atraviesan 111 cilindros !

¡ Colas de peticiones pendientes por

cilindro !

¡ En total se atraviesan 111 cilindros !

Page 24: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 24

DISCOS (Planificación del brazo: SSF “Shortest Seek First”)

¡ En total se atraviesan 61 cilindros !

INJUSTICIA + INANICIÓN

Page 25: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 25

DISCOS (Planificación del brazo: Ascensor )

• Idea de sentido: (Sube – Baja) *

Page 26: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 26

DISCOS (Planificación del brazo: Ascensor mejorado CSCAN )

Page 27: Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

Entrada / Salida 27

DISCOS (Planificación del brazo: Otras optimizaciones )

OTRAS OPTIMIZACIONES:

• Peticiones sobre el mismo cilindro sector más cercano

• Caché en el controlador

• Si N unidades de disco:Ordenar posicionamiento en N-1Realizar transferencia actual

• Factor de entrelazado (interleaving)

(Leer la sección 5.4.4. La sección 5.4.5 no entra para el examen.)