1 / 63

Sistemas Operativos

Sistemas Operativos. Administración de Periféricos. Temario. Objetivos Repaso de Unidades involucradas: Canales, UC, Dispositivos, instrucciones de E/S, tipos de canales Asignación de dispositivos Base de datos necesaria

kawena
Download Presentation

Sistemas Operativos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Operativos Administración de Periféricos

  2. Temario • Objetivos • Repaso de Unidades involucradas: Canales, UC, Dispositivos, instrucciones de E/S, tipos de canales • Asignación de dispositivos • Base de datos necesaria • Rutinas: Planificador de E/S, Controlador de tráfico de E/S, Manipulador de periféricos • Bloqueo y Algoritmos de acceso • Spooling • Tecnología RAID • Mecanismos de E/S • Puertos y protocolos de E/S • Ejemplo: UNIX

  3. Objetivos • Llevar el estado de control de los dispositivos • Políticas de uso (dedicados, compartidos, virtuales) • Asignación y desasignación de dispositivos a procesos

  4. Recordemos ...

  5. procesador Controladores y adaptadores • Controlador: • Interfaz electrónica del dispositivo • Gobierna el funcionamiento del dispositivo • Recibe órdenes del procesador • En sistemas más simples: específico para ordenador y dispositivo controlador electromecánica BUS

  6. Concepto de canal • Canal de E/S: subsistema hardware especializado en gestión de lectura/escritura • Adaptadores se conectan a canal • Basados en procesador especializado • Son capaces de procesar listas de órdenes de “alto nivel” • Simplifican en gran medida SO pues: • abstraen gran parte de la gestión de los dispositivos • homogeinizan los dispositivos conectados adaptador … canal de L/E … BUS controlador …

  7. PSW Procesador de E/S

  8. Selector

  9. Multiplexor

  10. Instrucción Procesador de E/S • Codop: Transferencia – Acciones Para DISCO • Posicionamiento (cilindro, cabeza) • Búsqueda del bloque (sector) • Reintento • Transferencia (Dir, Long)

  11. Unidad de Control (controladora) • Detecta errores de paridad • Controla movimientos del periférico • Buffers de sincronismo • Serializa y deserializa la información

  12. Controladores múltiples • Gobiernan varios dispositivos del mismo tipo • Formas de conexión: • Conexión directa (multiplexor) • Conexión en cadena • Conexión en bus • Conexión directa (multiplexor) • Circuitos independientes por dispositivo Dispositivo 1 controlador Dispositivo 2 … Dispositivo n

  13. Controladores múltiples • Ventajas: • Posibilidad de simultanear transferencias • Fallo en un dispositivo no afecta a los demás • Inconvenientes: • Complejidad del hardware (coste) • Nº de dispositivos limitado por controlador

  14. Controladores múltiples • Conexión en bus Todos los dispositivos comparten conexión a controlador Hardware se simplifica mucho (más barato) Fallo de un dispositivo no necesariamente afecta a otros No se puede garantizar que fallo en un dispositivo no pueda afectar a otros (ejemplo: cortocircuito en bus Transferencia simultánea : imposible. Dispositivo 1 controlador … Dispositivo n-1 Dispositivo n

  15. Estructura lógica de un controlador • Arquitectura en tres niveles: • interfaz al bus (hardware) • registros (software) • interfaz al dispositivo (hardware) • Registros de órdenesde configuración (selección de modo) • Registros de comandos • Registros de estado • Registros de lectura/escritura controlador interfaz a disp. registros interfaz al bus BUS

  16. Estructura lógica de un controlador • Acceso a registros: • Mapeados en memoria: • Acceso mediante cualquier instrucción con operandos en memoria • Protección: mediante mecanismos de protección de memoria • Mapeados en espacio de lectura/escritura • Algunos procesadores (ej. Intel) disponen de espacio de direcciones separado para lectura/escritura • Acceso mediante instrucciones especiales: IN, OUT, etc

  17. procesador Acceso directo a memoria (DMA) • DMA: dispositivo capaz de transferir bloques de datos entre memoria y dispositivo • Es programado por procesador con: • dirección del registro del dispositivo • dirección inicial del bloque • nº de bytes/palabras a transferir • cuando termina transferencia: interrupción DMA Dispositivo Memoria BUS

  18. Acceso directo a memoria (DMA) • Puede estar integrado en: • Chipset del sistema: de propósito general, asignable a cualquier dispositivo • En el controlador de un dispositivo: de uso dedicado a dicho dispositivo • Controladores de DMA de propósito general: frecuentemente son multicanal (múltiples transferencias en curso) • Algunos controladores de DMA soportan transferencias de memoria a memoria

  19. Tratamiento por Interrupciones • Dispositivos suelen disponer de alguna señal de interrupción • Esta señal de interrupción se puede conectar a entrada de interrupción de CPU • Dispositivos se puede configurar para que generen interrupción cuando requieran atención • Tratamiento del dispositivo: en subrutina de servicio de interrupción • Se ejecuta en modo supervisor de modo transparente para el resto de actividades de la CPU

  20. Diseño Modular de E/S Software de L/E en espacio de usuario Software de L/E independientede dispositivo Gestor de dispositivo SSI Software Hardware Controlador de Dispositivo Dispositivo

  21. Diseño Modular de E/S Proceso de usuario abcedefghi…. ch= fgetc(f); Administrador de Archivos Administradorde Memoria Administradorde Red READ fd, pos, tam Tarea Floppy Tarea HD Tarea del Sistema … DISK_READ fd0, bloque FLOPPY Núcleo SSI Floppy Controlador

  22. Varios caminos, varios dispositivos ...

  23. Tipos de Periféricos • Dedicados (cintas – impresoras) • Compartidos (discos giratorios - sólidos) • Virtuales (SPOOL – RAM Disk – Discos Virtuales)

  24. Asignación • Dedicados • al comienzo del trabajo • al comienzo de la etapa • al realizarse la instrucción Open • Asignación total o parcial • Compartidos: asignación dinámica • Virtuales: Asignación como archivos

  25. Tablas de uso: Bloques de Dispositivos • Bloque control de Dispositivo • Identificador del dispositivo • Estado del dispositivo • Lista de unidades de control a las que está conectado el dispositivo • Lista de procesos esperando este dispositivo

  26. Tablas de uso (Bloques de Unidades de Control) • En el Bloque de Control de la Unidad de Control tendremos la siguiente información: • Identificador de la unidad de control • Estado de la unidad de control • Lista de dispositivos conectados a esta unidad de control • Lista de canales conectados a esta unidad de control • Lista de procesos esperando a esta unidad de control

  27. Tablas de uso (Bloques de Procesadores de E/S) • En el Bloque de Control del Procesador de E/S tendremos la siguiente información: • Identificador del canal o procesador de E/S • Estado del canal • Lista de unidades de control a las que está conectado el canal • Lista de procesos esperando el canal

  28. Rutinas • Planificador de E/S: Decide qué proceso toma el recurso. Determina el orden en que se asignarán a los procesos los dispositivos, unidades de control y procesadores de E/S, ya sea por algoritmos o por alguna prioridad • Controlador de Tráfico de E/S: Lleva el estado de los dispositivos, unidades de control y procesadores de E/S por medio de bloques de control. Determina la posibilidad de una operación de E/S y la posibilidad de caminos alternativos. Una vez que hay un orden, es el controlador de tráfico de E/S el que determina que puede ser satisfecho el pedido al colocarlo en un determinado Bloque de control estableciendo de esta forma la ruta.

  29. Rutinas • Manipuladores de E/S (Drivers) : Arma el programa del procesador de E/S. Emite la instrucción de arranque de E/S. Procesa las interrupciones del dispositivo. Maneja errores del dispositivo. Realiza una planificación de acuerdo al periférico (estrategia de acceso). • Calcula direcciones en términos del Cilindro-Pista-Sector • Las rutas siempre se adquieren desde el periférico hacia el canal. • Pueden ser reemplazados por un IOP

  30. Esquema Hard Disk

  31. Cálculo Cilindro-Pista-Sector • NB = nro. de bloque buscado (lo provee el FS) • Nps = nro. de sectores por pista • Cp = nro. de pistas por cilindro • [NB/Nps] = nro de pista (Np) – f(resto) (NB/Nps)= Sector • [Np/Cp] = Cil – f(resto) (Np/Cp) = Pista del cilindro • FS proveebloque 2005 (disco con 20 sectores x pista ) (4 platos  8 caras) • [2005/20] = 100 (pista) f(resto) (2005/20) = 5 (sector) • [100/8] = 12 (cilindro) f(resto) (100/8) = 4 (pista) o sea cilindro 12, pista 4, sector 5

  32. Cálculo LBA • CHS (cylinder/head/sector) tuples can be mapped to LBA address with the following formula: • LBA = ((C x HPC) + H) x SPT + S (-1) • Where: • C, H and S are the cylinder number, the head number, and the sector number • LBA is the logical block address • HPC is the maximum number of heads per cylinder • SPT is the maximum number of sectors per track • LBA addresses can be mapped to CHS tuples with the following formula • C = [LBA / (SPT x HPC)] • H = [LBA / SPT] mod HPC • S = (LBA mod SPT) (+1)

  33. Algoritmos de Planificación (bloqueo/agrupación y buffering)

  34. Algoritmos de acceso a discos • FCFS (accesos 53 – 37 – 122 – 14 – 124) = (16 + 85 + 108 +110 = 319) de otra manera (23 + 16 + 69 + 2 = 110)

  35. Algoritmos de acceso a discos (alternativas) • El más cercano primero NSCAN • SCAN o barrido ascensor (se debe conocer comienzo y sentido) • C-SCAN o barrido circular (ordena los pedidos en un solo sentido, luego vuelve al comienzo) • Posición angular (sector queueing)

  36. 0 5 10 15 20 25 30 35 FCFS • Criterio FCFS • Número total de cilindros saltados: 10 + 35 + 20 + 18 + 25 + 3 = 111 • Las peticiones se atienden en el mismo orden en que se reciben • Ejemplo: • Cabezal inicialmente en cilindro 11 • Búsquedas: 1, 36, 16, 34, 9, 12 10 35 20 18 25 3

  37. 0 5 10 15 20 25 30 35 C-SCAN • Se establece sentido de movimiento de las cabezas: • Se atienden todas las peticiones en el orden en que se van encontrando, hasta llegar a la última • Se salta a petición mas lejana en extremo opuesto de disco • Se repite proceso • Ejemplo: • Cabezal inicialmente en cilindro 11, sentido ascendente • Búsquedas: 1, 36, 16, 34, 9, 12 4 1 18 2 35 Número total de cilindros saltados: 1 + 4 + 18 + 2 + 35 + 8 = 68

  38. Periféricos Virtuales (SPOOLING)

  39. Tiempos tomando sólo la actividad de spooling

  40. Beneficios del spooling • Simular más periféricos dedicados de los que existen en la instalación • Simular periféricos que no existen en la instalación • Menor tiempo en Listo-Ejecutando-Bloqueado • Funcionamiento del periférico a su máxima velocidad • Permite planificación de los trabajos de impresión

  41. Comparación Si calculo el turnaround de un proceso solo en un ambiente de monoprogramación y luego lo calculo colocando ese proceso (también solo) en un ambiente de multiprogramación y luego también en un ambiente de multiprogramación con spool, concluimos que: Monoprogramación < Multiprogramación Por que se agrega el tiempo del Planificador de Procesos!! Y ahora Multiprogramación << Multiprogramación con spool Por que se agregan los tiempos de: - grabar y leer el disco de spool y - el tiempo de la rutina de Spool!!

  42. Tecnología RAID: Redundant Array of Independent Disks • 0 Striping (sin redundancia) • 1 Mirror • 2 error recording code (Hamming) • 3 bit-interleaved parity • 4 Block-interleaved parity • 5 Block interleaved and rotated parity • 6 idem 5 dual redundancy • 7 idem 5 pero con paridad en la cache • 10 1 + 0 Idem 1, o sea mirror con striping • 53 Igual 3 con striping • 0 + 1 Igual 0 con mirror

  43. Ejemplo Raid 5 • Puede tener disco “spare”

  44. Ejemplos Raid 3 a 5 • Raid levels 3 through 5 • Backup and parity drives are shaded

  45. Mirror Member 1 Mirror Member 2 RAID 0+1: Stripe & Mirror

  46. Mirror Set 1 Mirror Set 2 Mirror Set 3 Mirror Set 4 RAID 1+0: Mirror & Stripe

  47. RAID (3 a 6) Actualización • x4(i) = x3(i) xor x2(i) xor x1(i) xor x0(i) (1) • x1(i)  x’1(i) • x’4(i) = x3(i) xor x2(i) xor x’1(i) xor x0(i) Como sabemos x1(i) xor x1(i) = 0, entonces sumamos en el 2do término recordando (1) • x’4(i) = x4(i) xor x1(i) xor x’1(i) Esto me ahorra tener que leer todos los discos para obtener un valor.

  48. RAID (3 a 6) Reconstrucción • Suponemos pérdida de x1(i) • Al (1) anterior le sumamos x4(i)+ x1(i) en ambos miembros y eliminamos los miembros nulos Luego queda • x1(i) = x3(i) xor x2(i) xor x0(i) xor x4(i) Con lo que se puede reconstruir todo x1

  49. Logical Volumen • Es posible tener (directorios (FS)) sobre distintos discos físicos • Existen discos físicos (PD) • Todo un PD o parte de él forma una partición física PP • Varias PP forman un disco Lógico LVG • Sobre un LVG se pueden armar discos lógicos (LD) o Particiones Lógicas (LP)

  50. Estructura Bus

More Related