Capítulo 4 Entrada/Salida 4.1 Principios hardware de E/S

Slides:



Advertisements
Presentaciones similares
Introducción Principios del Software E/S Principios del Hardware E/S
Advertisements

Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
SISTEMAS OPERATIVOS II ADMINISTRACION DE PERIFERICOS
Arquitectura de Sistema de E/S
Sistema operativo Componentes de un sistema operativo
Estructura de un Sistema Operativo
Controlar la Entrada/Salida
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Introducción al software
S.O.I Temario Curso: 04/05 Horas INTRODUCCIÓN 5 PROCESOS Y THREADS 8
Capítulo 5 Sistema de Ficheros 5.1 Ficheros 5.2 Directorios
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Organización del Computador I Verano Programación de Operaciones de Entrada/Salida Profesora Borensztejn.
JULIO BERNA. Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Las peticiones se procesan de forma estructurada en las.
Gestión de Entrada / Salida
Semana 4 - periferico.
Introducción a los SSOO Sebastián Sánchez Prieto.
Elemento Lógico (Software)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Administración del espacio
Sistemas Operativos Procesos.
 Una parte física o hardware, formada por los circuitos electrónicos, dispositivos electromagnéticos y ópticos que forman el teclado, la torre, el monitor,
Unidad 7 Entrada/Salida
Administración de I/O y Scheduling de disco
Tema 10a Manejo de archivos. Introducción Un computador puede almacenar grandes cantidades de información. Puede acceder a ella de manera muy rápida.
Elaborado por: Guillermo Baquerizo I Término
Administración de Memoria Memoria Virtual
El proceso de arranque Windows NT/2000/XP El proceso de arranque Windows Vista/Windows 7.
Overview Sistemas Computacionales
Soporte HW para Administración de Memoria Cecilia Hernández
SISTEMAS OPERATIVOS.
Administración de Memoria
“Input/Output” Feliut Guzman Del Valle ICOM de marzo de Capitulo 5.
Introducción a los Sistemas Operativos
Capítulo 7 Gestión de memoria.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
 Hardware de E/S  Interfaz de aplicación E/S (API)  Sub-sistema de E/S en el Kernel  Transformando solicitudes de E/S en operaciones de hardware 
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Sistemas Operativos Tema 4
COMPONENTES DEL SISTEMA OPERATIVO.
Gestión de E/S y planificación de discos
MEDIOS DE ALMACENAMIENTO
“Organización y Arquitectura de Computadores” William Stallings
Gestión de Memoria.
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Teoría de Sistemas Operativos I/O
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
IDE (Integrated Drive Electronics )
INTRODUCCIÓN: CARACT DE LOS DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO
Estructura de los Sistemas Operativos
Disco duro (HDD).
Gestión de Memoria.
Sistemas Operativos I Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas.
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
DISCO DURO. ¿Qué son los dispositivos de almacenamiento? La memoria de la computadora (Ram) como todos la conocemos, es un lugar provisional de almacenamiento.
INTERRUPCIONES – ABRAZO MORTAL
Ing. Katty Lagos Ortiz. M.Sc.
Elementos y tipos de sistemas operativos
ELEMENTO DE COMPETENCIA 3
SOFTWARE DE COMPUTADORAS
Gestión de Memoria – Parte 2
Estructura del sistema operativo
Arquitectura y Ensamblaje de Computadores Semana 08 Lab.
Entrada Salida Rina Arauz.
sisOpe Temario Curso: 16/17
Transcripción de la presentación:

Capítulo 4 Entrada/Salida 4.1 Principios hardware de E/S 4.2 Principios software de E/S 4.3 Niveles software de E/S 4.4 Discos

Principios hardware de E/S (1) El SO debe controlar los dispositivos de E/S: Dar comandos Atrapar interrupciones Gestionar errores Interfaz clara y sencilla Deseable: misma interfaz para todos los dispositivos. I/O  30% del SO

Principios hardware de E/S (2) Dispositivos de E/S: Diseñadores y constructores Mantenimiento Control y explotación PROGRAMACIÓN Comandos Funcionalidad Errores  ¿Cómo programar el dispositivo?

Principios hardware de E/S (3) Dispositivos E/S Dos tipos: Orientados a bloques Almacena información en bloques de tamaño fijo. Direccionables por bloque Discos. Orientados a caracteres Almacena/genera un flujo de caracteres No acceso directo/ no bloques Terminales, impresoras, líneas Otros: cintas, relojes

Principios hardware de E/S (4) Controladores de Dispositivo Dispositivo E/S: Componente mecánico Componente electrónico  controlador

Principios hardware de E/S (5) Controladores de Dispositivo P.ejem: discos:  cilindros, pistas, sectores. Controlador: De secuencia de bits a bloque de bytes Almacenar en buffer del controlador Chequear errores Copiar bloque a memoria

Principios hardware de E/S (6) Memoria mapeada CPU  registros del controlador. Dos opciones: Puertos de E/S Memoria mapeada 0xFFFF… Memoria Puertos E/S (La discusión sobre las ventajas/desventajas de ambas opciones, sección 5.1.3, no entra para el examen).

Principios hardware de E/S (7) Direct Memory Access (DMA) 0) dir. del bloque, dir. de memoria, num. bytes; 1) El controlador lee el bloque en su buffer; 2) Checksum; 3) El controlador copia de buffer a memoria. 4) El controlador interrumpe a la CPU; 5) El SO ya tiene la copia realizada

Principios hardware de E/S (8) Direct Memory Access (DMA) ¿Para qué el buffer en el controlador? NO entra para examen: múltiples transferencias, cycle stealing, burst mode, transformación dir. Virtual a dir. Física. La sección de interrupciones añade detalles hardware nada más (más propio de arquitectura que de so) La sección 5.1.5 no entra para el examen

Principios software de E/S (1) Objetivos del software de E/S INDEPENDENCIA DEL DISPOSITIVO. Un programa debe ejecutarse correctamente independientemente de dónde lea o escriba: sort < entrada > salida UNIFORMIDAD DE NOMBRES. Nombres de ficheros y de dispositivos  se construyen igual. /dev/lp /usr1/alumnos/f0175/modula2 GESTIÓN DE ERRORES. Por las capas más bajas. Si no pueden que lo comuniquen a las de arriba.

Principios software de E/S (2) Objetivos del software de E/S TIPO DE TRANSFERENCIA. síncrona  asíncrona bloqueante  interrupciones Casi todos los dispositivos son asíncronos (interrupciones) PERO: los programas son más fáciles de escribir con síncronas (bloqueantes). El SO debe disfrazar las asíncronas en síncronas BUFFERING. Almacenamiento intermedio de datos que vienen de dispositivos TIPO DE DISPOSITIVOS Dedicados  compartidos “impresora”  “disco” dedicados  spooling  compartidos. Las formas de hacer entrada salida (secciones 5.2.2 a 5.2.4) vienen muy bien explicadas y se lo pueden leer ellos. Leer las secciones 5.2.2, 5.2.3 y 5.2.4

Niveles software de E/S (1)

Niveles software de E/S (2) Gestores de interrupciones Las interrupciones no son amigables. Esconderlas en algún módulo del SO. El resto del SO no sabe nada de interrupciones.

Niveles software de E/S (3) Gestores de interrupciones Tratamiento de una interrupción (genérico) Salvar registros Poner contexto para la rutina de tratamiento (TLB, MMU, …) Poner stack para la rutina de tratamiento Ack al controlador de interrupciones Copiar registros salvados a la tabla de procesos Ejecutar la rutina de tratamiento Seleccionar proceso a ejecutar Pone contexto para el nuevo proceso (MMU, TLB, …) Cargar los registros del nuevo proceso Arrancar el nuevo proceso

Niveles software de E/S (4) Drivers de dispositivos

Niveles software de E/S (5) Drivers de dispositivos Código dependiente del dispositivo. Cada clase de dispositivo un driver diferente. Lee/escribe en los registros de control del dispositivo. Función: traducir peticiones abstractas en concretas.

Niveles software de E/S (6) Drivers de dispositivos Cuando llega la petición: ¿driver ocioso? SI: ejecutarla inmediatamente NO: encolarla Leer bloque N  num cilindro, num sector, pista. ¿motor encendido? ¿posición actual del brazo?

Niveles software de E/S (7) Drivers de dispositivos decidir qué operaciones (comandos al controlador) decidir el orden de las operaciones. Escribir en los registros del controlador (arrancar la operación). ¿Tipo de operación? bloqueante  espera interrupción. No bloqueante  no esperes. Chequear errores. Hay: intenta corregirlo No hay: pasa información al nivel superior (datos y estado de la operación) ¿Quedan peticiones encoladas? SI: seleccionar una NO: dormir (bloquearse) hasta que llegue la siguiente petición

Niveles software de E/S (8) Software de E/S independiente del dispositivo Gran parte del SW de E/S es independiente del dispositivo. Funciones básicas: - Implementar las operaciones de E/S que son comunes a todos los dispositivos. - Presentar a los programas de usuario una interfaz uniforme. Funciones típicas: - Interfaz uniforme para los drivers - Buffering - Gestión de errores - Asignación y liberación de dispositivos dedicados - Proporcionar un tamaño de bloque independiente del dispositivo

Niveles software de E/S (9) Software de E/S independiente del dispositivo Interfaz uniforme para los drivers (a) Sin interfaz estándar (b) Con interfaz estándar

Niveles software de E/S (10) Software de E/S independiente del dispositivo Interfaz uniforme para los drivers. Nombrado de dispositivos E/S

Niveles software de E/S (11) Software de E/S independiente del dispositivo Buffering

La comunicación en red puede implicar muchas copias Niveles software de E/S (12) Software de E/S independiente del dispositivo Buffering La comunicación en red puede implicar muchas copias

Niveles software de E/S (13) Software de E/S independiente del dispositivo Gestión de errores La mayoría de los errores los maneja el driver. Si el driver no puede  software independiente del dispositivo: decisiones políticas. Asignar y liberar dispositivos dedicados Pedir al SO el recurso (por ejemplo: open). Liberar recurso (por ejemplo: close). Tamaño de bloque independiente del dispositivo El software independiente del dispositivo da la visión de un único tamaño de bloque (independiente del tamaño real del bloque del dispositivo).

Niveles software de E/S (14) Software de E/S en 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

Discos (1). Hardware. Discos magnéticos

Discos (2). Hardware. Discos magnéticos 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.

Discos (3). Hardware. Discos magnéticos Tanenbaum comenta detalles de electrónica y algo de formateo. No hay referencias a los drivers del sistema que los gestionan. La tecnología de cómo están construidos estos dispositivos no es de SO-1. Geometría física de un disco con dos zonas Geometría virtual para el disco (los epígrafes RAID, CD-ROMs, CD grabables, regrabables y DVD no entran para el examen)

Discos (4). Formateo de discos Formato de un sector de un disco 512 bytes Nº cilindro Nº sector Error-Correcting Code Reducción de capacidad en el disco formateado Además, hay sectores para sustituir a los defectuosos de fábrica

Discos (5). Formateo de discos Ejemplo de cylinder skew

Discos (6). Formateo de discos Por ejemplo: 10000 rpm, 300 sectores por pista, 800 seg salto entre pistas, ¿cuál es el cylinder skew apropiado? 10000 rpm  6 msg. en dar una vuelta 300 sectores/pista y 6 msg. en dar una vuelta  se tarda 20 seg en leer un sector En 800 seg se leen 800/20 = 40 sectores cylinder skew apropiado = 40 (sin considerar la selección de cabeza)

Discos (7). Formateo de discos Mientras se transfiere a memoria, el disco sigue girando. (a) Sin interleaving (b) Interleaving = 1 (c) Interleaving = 2

Discos (8). Formateo de discos Particionar el disco. Sector 0 -> master boot record (contiene): código de arranque tabla de particiones (sector inicial y final de cada partición) Una de las particiones debe estar activa Formateo (alto nivel) de cada partición: boot block indicación de bloques libres directorio raíz, … (cuando veamos el sistema de ficheros)

Discos (9). Algoritmos de planificación del brazo del disco tiempo de acceso = tiempo de posicionamiento (brazo al cilindro adecuado) + tiempo de latencia (espera de rotación) + tiempo de transferencia. Algoritmos para disminuir el tiempo de posicionamiento. FCFS (First-Come, First-Served) - Atiende las peticiones por orden de llegada. - Muy sencillo. - Ninguna optimización.

Discos (10). Algoritmos de planificación del brazo del disco Ejemplo (FCFS): posición actual: cilindro 11 llegan peticiones: 1, 36, 16, 34, 9 ,12

Discos (11). Algoritmos de planificación del brazo del disco SSF (Shortest Seek First) Suposición: las peticiones pendientes se pueden encolar mientras se atiende la actual.

Discos (12). Algoritmos de planificación del brazo del disco SSF (Shortest Seek First)

Discos (13). Algoritmos de planificación del brazo del disco SSF (Shortest Seek First) Problema: POSIBLE INANICIÓN. Mejora la eficiencia, (minimiza el tiempo de respuesta) pero no es equitativo.

Discos (14). Algoritmos de planificación del brazo del disco Algoritmo del Ascensor Plantas: cilindros; peticiones: usuarios Compromiso entre eficiencia y equidad. Moverse en un sentido hasta que no haya más peticiones en ese sentido (atendiendo a la más corta) y cambiar de sentido. Inicialmente “subiendo”

Discos (15). Algoritmos de planificación del brazo del disco Algoritmo del Ascensor En general, peor que SSF. Dado un conjunto cualquiera de peticiones  límite superior del movimiento total = 2 veces el número de cilindros.

Discos (16). Algoritmos de planificación del brazo del disco C-SCAN Variante del algoritmo del ascensor: recorrer el disco siempre en el mismo sentido. Disminuye la desviación en los tiempos de respuesta

Discos (17). Algoritmos de planificación del brazo del disco En el algoritmo del ascensor  acumulación de peticiones en un extremo.

Discos (18). Algoritmos de planificación del brazo del disco OTRAS OPTIMIZACIONES. Peticiones sobre el mismo cilindro  sector más cercano Caché en el controlador  Si N unidades de disco: Ordenar posicionamiento en N-1 Realizar transferencia actual  Factor de entrelazado (interleaving) La sección 5.4.4 Gestión de errores viene bastante bien explicada. En cualquier caso es puramente ilustrativa: cada SO trata los suyos (que son muchos más). La sección 5.4.5 explica una estrategia para asegurar la integridad de datos en un disco en presencia de errores (según modelo que formula). Dado lo corto que vamos de tiempo, optaría por no pedirlo para el examen. (Leer la sección 5.4.4. La sección 5.4.5 no entra para el examen.)