Sistemas operativos
This presentation is the property of its rightful owner.
Sponsored Links
1 / 63

Sistemas Operativos PowerPoint PPT Presentation


  • 85 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Sistemas operativos

Sistemas Operativos

Administración de Periféricos


Temario

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


Objetivos

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


Recordemos

Recordemos ...


Controladores y adaptadores

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


Concepto de canal

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


Psw procesador de e s

PSW Procesador de E/S


Selector

Selector


Multiplexor

Multiplexor


Instrucci n procesador de e s

Instrucción Procesador de E/S

  • Codop: Transferencia – Acciones

    Para DISCO

    • Posicionamiento (cilindro, cabeza)

    • Búsqueda del bloque (sector)

    • Reintento

    • Transferencia (Dir, Long)


Unidad de control controladora

Unidad de Control (controladora)

  • Detecta errores de paridad

  • Controla movimientos del periférico

  • Buffers de sincronismo

  • Serializa y deserializa la información


Controladores m ltiples

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


Controladores m ltiples1

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


Controladores m ltiples2

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


Estructura l gica de un controlador

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


Estructura l gica de un controlador1

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


Acceso directo a memoria dma

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


Acceso directo a memoria dma1

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


Tratamiento por interrupciones

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


Dise o modular de e s

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


Dise o modular de e s1

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


Varios caminos varios dispositivos

Varios caminos, varios dispositivos ...


Tipos de perif ricos

Tipos de Periféricos

  • Dedicados (cintas – impresoras)

  • Compartidos (discos giratorios - sólidos)

  • Virtuales (SPOOL – RAM Disk – Discos Virtuales)


Asignaci n

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


Tablas de uso bloques de dispositivos

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


Tablas de uso bloques de unidades de control

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


Tablas de uso bloques de procesadores de e s

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


Rutinas

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.


Sistemas operativos

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


Esquema hard disk

Esquema Hard Disk


C lculo cilindro pista sector

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


C lculo lba

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)


Algoritmos de planificaci n bloqueo agrupaci n y buffering

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


Algoritmos de acceso a discos

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)


Algoritmos de acceso a discos alternativas

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)


Sistemas operativos

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


C scan

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


Perif ricos virtuales spooling

Periféricos Virtuales (SPOOLING)


Tiempos tomando s lo la actividad de spooling

Tiempos tomando sólo la actividad de spooling


Beneficios del spooling

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


Comparaci n

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


Tecnolog a raid redundant array of independent disks

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


Ejemplo raid 5

Ejemplo Raid 5

  • Puede tener disco “spare”


Ejemplos raid 3 a 5

Ejemplos Raid 3 a 5

  • Raid levels 3 through 5

  • Backup and parity drives are shaded


Raid 0 1 stripe mirror

Mirror Member 1

Mirror Member 2

RAID 0+1: Stripe & Mirror


Raid 1 0 mirror stripe

Mirror Set 1

Mirror Set 2

Mirror Set 3

Mirror Set 4

RAID 1+0: Mirror & Stripe


Raid 3 a 6

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.


Raid 3 a 61

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


Logical volumen

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)


Estructura bus

Estructura Bus


Mecanismos de i o

Mecanismos de I/O

  • Testeo de puertos (polling)

  • Interrupciones


Puerto de i o

Puerto de I/O

  • Básicamente consiste en 4 registros

  • status – control - data-in – data-out –

  • status: estado de la operación

  • control: se escribe el comando

  • data-in: lee información el host

  • data-out: escribe información el host


Puerto i o protocolo

Puerto I/O (protocolo)

  • 1 el host lee busy (status) hasta clear (pooling)

  • 2 el host pone write (control) y escribe data-out

  • 3 el host activa ready (control)

  • 4 El controlador pone busy el status

  • 5 El controlador lee ambos y hace I/O

  • 6 El controlador deja estado de fin de I/O en status y clear


Ciclo i o de interupci n

Ciclo I/O de Interupción


Sistemas operativos

DMA


I o kernel

I/O kernel


En unix

En UNIX

  • < major, minor> number

  • major: Identifica el device driver

  • minor: identifica device (tabla asociada identificando puerto)


Ciclo de i o

Ciclo de I/O


Ssd solid state disk nand memory aproximado driver es trim

SSD (Solid State Disk) (nand memory)(aproximado)(driver es TRIM)


Trim aproximado

trim (aproximado)

  • Nand no sobreesribre (primero borra)

  • La información se escribre en páginas agrupadas en bloques (se borra bloque completo)

  • La información borrada queda como Garbage collection

  • trim se ocupa de borrarla

    • background (cuando no se hace nada)

    • foreground (cuando se necesita)

  • http://thessdreview.com/daily-news/latest-buzz/garbage-collection-and-trim-in-ssds-explained-an-ssd-primer/


P ginas agrupadas en bloques

Páginas agrupadas en bloques


Visiones os logical block addressing lba f sica

Visiones (OS – Logical block addressing (LBA) – Física)


Dudas ssd

Dudas SSD

  • Cuánto dura ? (por nand) ?

  • File System ?(quien le informa?) trim


  • Login