PDF de programación - Bloque I: Principios de sistemas operativos

Imágen de pdf Bloque I: Principios de sistemas operativos

Bloque I: Principios de sistemas operativosgráfica de visualizaciones

Publicado el 14 de Enero del 2017
723 visualizaciones desde el 14 de Enero del 2017
378,3 KB
66 paginas
Creado hace 12a (19/05/2011)
UNIVERSIDAD
DE CANTABRIA

Bloque I: Principios de sistemas
operativos
Tema 1. Principios básicos de los sistemas operativos
Tema 2. Concurrencia
Tema 3. Ficheros
Tema 4. Sincronización y programación dirigida por eventos
Tema 5. Planificación y despacho
Tema 6. Sistemas de tiempo real y sistemas empotrados
Tema 7. Gestión de memoria
Tema 8. Gestión de dispositivos de entrada-salida

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
8

© Michael González, J. Javier Gutiérrez

19/ma/11

1

Notas:

UNIVERSIDAD
DE CANTABRIA

Tema 8. Gestión de dispositivos de entrada-salida

• Características de los dispositivos de entrada/salida
• Entrada/salida por consulta
• Entrada/salida por interrupciones
• Entrada/salida por acceso directo a memoria
• Organización de manejadores de dispositivos (drivers) de entrada/salida
• Programación de manejadores de dispositivos de entrada/salida
• Implementación de drivers

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

2

UNIVERSIDAD
DE CANTABRIA

1. Características de los dispositivos
de entrada/salida
Los dispositivos de entrada/salida (I/O) forman junto con la CPU y
la memoria los elementos más importantes del computador
Uno de sus objetivos principales es la eficiencia en las
operaciones de entrada/salida, minimizando el trabajo a realizar
por la CPU
Las velocidades de los dispositivos de I/O son muy variadas:
• dispositivos lentos (p.e., ratón, teclado)
• dispositivos medios (p.e., impresora)
• dispositivos rápidos (p.e., red, disco)
Para acomodar las velocidades se usan circuitos de interfaz

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

3

Interfaces de entrada/salida
Se encargan de la comunicación entre la CPU y el dispositivo

UNIVERSIDAD
DE CANTABRIA

Unidad de
Control

CPU

Regs.

ALU

Regs.

Circuito de
Interfaz de

I/O

Datos

Programa

Memoria

Dispositivo

de I/O

Líneas de control

Líneas de direcciones
Líneas de datos

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

4

Conexión de las interfaces de
entrada/salida
Conexión mapeada en memoria
• el circuito de interfaz se conecta como si fuera memoria
• se accede a los registros leyendo o escribiendo una variable en

UNIVERSIDAD
DE CANTABRIA

una posición de memoria concreta

Conexión mediante puertos de entrada/salida
• el circuito de interfaz se conecta mediante líneas especiales
• se accede a los registros mediante instrucciones especiales (in,

out), especificando un número de puerto

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

5

Tipos de entrada/salida
Entrada/salida por consulta o programada
• la CPU accede a los registros desde programa
• para saber si el dispositivo está listo, se hace una consulta

UNIVERSIDAD
DE CANTABRIA

periódica

Entrada/salida por interrupciones
• el dispositivo avisa a la CPU cuando está listo
• la entrada/salida se hace mediante una rutina de servicio de

interrupción

Entrada/salida por acceso directo a memoria
• el dispositivo accede directamente a la memoria
• avisa a la CPU del inicio o final de la operación

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

6

UNIVERSIDAD
DE CANTABRIA

2. Entrada/salida por consulta
La operación de I/O es controlada por la CPU
Antes de realizar la operación se comprueba el (los) registro(s) de
estado, para ver si el dispositivo está listo
Ventajas: sencillez
Desventajas:
• ritmo de transferencia limitado por la velocidad de la CPU
• tiempo de respuesta elevado, mayor que el periodo de consulta
• sobrecarga de la CPU para operaciones de consulta que podrían

evitarse

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

7

3. Entrada/salida por interrupciones
Permite al dispositivo marcar el instante en que se hace la
transferencia de datos
El mecanismo de interrupción está presente en casi todos los
computadores

UNIVERSIDAD
DE CANTABRIA

IRQ

IRQ

Mask

CPU

Unidad
de control

Regs.

Circuito de
Interfaz de

I/O

IACK

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

8

Identificación de la fuente de
interrupción

UNIVERSIDAD
DE CANTABRIA

CPU

CPU

IRQ

Por consulta

I/O-1

I/O-2

I/O-3

IRQ0
IRQ1
IRQ2

Por múltiples líneas

I/O-1

I/O-2

I/O-3

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

9

Gestión de interrupciones
Las interrupciones se pueden enmascarar
• se utiliza para evitar la interrupción cuando se accede a datos

UNIVERSIDAD
DE CANTABRIA

compartidos con ella

Para cada interrupción se puede instalar una rutina de servicio de
interrupción
• al llegar la interrupción, el procesador interrumpe el programa

en ejecución y enmascara esa interrupción

• después ejecuta la rutina de servicio de interrupción
• al acabar, el procesador restaura el estado anterior y el

programa interrumpido continúa

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

10

La rutina de servicio de interrupción
Estructura habitual
• Acceder al dispositivo causante de la interrupción y hacer que

UNIVERSIDAD
DE CANTABRIA

cese la petición de interrupción

• Si es necesario, acceder al controlador de interrupciones para

hacer lo mismo

• realizar la transferencia de datos
El modelo es el de una tarea concurrente más
• ejecuta a la máxima prioridad del sistema

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

11

4. Entrada/salida por acceso directo a
memoria
El ritmo de transferencia es superior al de los otros métodos
El instante de I/O lo marca el dispositivo con interrupciones
Hay líneas para desconectar a la CPU de la memoria

UNIVERSIDAD
DE CANTABRIA

Memoria

CPU

DMA acknowledge

DMA request

IRQ

IACK

Regs.

Circuito de
Interfaz de

I/O

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

12

UNIVERSIDAD
DE CANTABRIA

Funcionamiento de la I/O directa
Registros del dispositivo:
• IODIR: Dirección de memoria para la operación de I/O
• CONT: Contador de número de bytes a transferir
Funcionamiento habitual:
• La CPU carga los valores en los registros del dispositivo
• El dispositivo solicita el uso de la memoria: DMA-request
• La CPU se lo concede: DMA-acknowledge
• El dispositivo transfiere los datos. Para cada uno, incrementa

IODIR y decrementa CONT

• Cuando CONT llega a 0 se devuelve el control de la memoria a la

CPU (DMA-request) y se envía una interrupción de aviso

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

13

5. Organización de drivers de
entrada/salida
Un driver para un dispositivo es una interfaz entre el sistema
operativo y el hardware de ese dispositivo
Los drivers forman parte del núcleo y tienen acceso restringido a
estructuras del sistema operativo
El objetivo del driver es ofrecer un mecanismo de uso general, con
operaciones como:

UNIVERSIDAD
DE CANTABRIA

leer (read)

- abrir (open) y cerrar (close)
-
- escribir (write)
- controlar (ioctl)

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

14

El driver en el contexto del sistema
operativo

UNIVERSIDAD
DE CANTABRIA

Usuarios

Aplicaciones

Shell

Servicios (API)

Drivers I/O

Núcleo/Kernel

Hardware

Sistema
operativo

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

15

UNIVERSIDAD
DE CANTABRIA

Tipos de dispositivos y módulos
En Linux 2.6 se distinguen tres tipos de dispositivos y módulos:
• de caracteres: E/S directa o por interrupciones
• de bloques: E/S por acceso directo a memoria
• de red: E/S por dispositivos de comunicaciones
Esta clasificación no es rígida y se podría considerar otra
ortogonal como:
• módulos USB, módulos serie, módulos SCSI (Small Computer

Systems Interface), etc.

• cada dispositivo USB estaría controlado por un módulo USB,

pero el dispositivo en sí mismo se comportaría como de
caracteres (puerto serie USB), de bloques (tarjeta de memoria
USB), o una interfaz de red (interfaz Ethernet USB)

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

16

UNIVERSIDAD
DE CANTABRIA

Dispositivos de caracteres
Se puede utilizar como si se tratara de un fichero, como una tira o
conjunto de bytes
Normalmente implementa las llamadas al sistema: open, close,
read y write
Ejemplos de dispositivos de caracteres:
• consola (/dev/console)
• puertos serie (/dev/ttys0)
El acceso a estos dispositivos se realiza a través de nodos (nodes)
del sistema de ficheros

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

17

Módulos de Linux
Los drivers se implementan mediante módulos del núcleo:
• objetos software con una interfaz bien definida, que se cargan

UNIVERSIDAD
DE CANTABRIA

dinámicamente en el núcleo del sistema operativo

El módulo en Linux debe tener al menos dos operaciones:
• init_function: para instalarlo

- debe preparar el módulo para la posterior ejecución del resto de las

funciones o puntos de entrada del módulo

• cleanup_function: para desinstalarlo
- debe eliminar todo rastro del módulo

El código de un módulo sólo debe llamar a funciones incluidas en
el kernel y no en librerías, ya que el módulo se enlaza directamente
con el kernel.

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

19/ma/11

18

ción del módulo
tenemos un fichero.c
-

2. compilar el módulo

Módulos de Linux (cont.)
Los pasos para construir un
  • Links de descarga
http://lwp-l.com/pdf946

Comentarios de: Bloque I: Principios de sistemas operativos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad