gestión de entrada y salida en linux

7
Gestión de Entrada y Salida en Linux Panorama - Linux sigue la filosofía de que cada cosa es un archivo. Por ej. Un teclado, monitor, ratón, impresora. - El sistema de E / S en Linux es como que en cualquier sistema Unix. - Aquí todos los controladores de dispositivos aparecen como archivos normales. - Un usuario puede acceder a un dispositivo de la misma manera como él abrir cualquier otro archivo. - El administrador puede establecer permisos de acceso para cada dispositivo. Categorías Linux divide todos los dispositivos en tres clases: - - Dispositivos de Bloque - Dispositivos de caracteres - Dispositivos de red Los dispositivos de bloque - Incluye todos los dispositivos tales como discos duros, disquetes, CD-ROM y memoria Flash. - Estos dispositivos pueden ser accedidos aleatoriamente. - Ellos leen sólo los bloques de datos. Dispositivos de Caracter - Se incluyen dispositivos tales como ratones y teclados. - Estos dispositivos son el acceso sólo en serie o secuencialmente. - Leen el carácter de datos por carácter. Dispositivos de Red - Estos se tratan de manera diferente desde dispositivos de bloque y de caracteres. - Los usuarios no pueden transferir datos directamente a los dispositivos de red; sino que deben comunicarse indirectamente mediante la apertura de una conexión al subsistema de red del núcleo.

Upload: jiordy-benavides-zegarra

Post on 06-Apr-2016

49 views

Category:

Documents


0 download

DESCRIPTION

Gestion de I/O en Linux

TRANSCRIPT

Page 1: Gestión de Entrada y Salida en Linux

Gestión de Entrada y Salida en Linux

Panorama

- Linux sigue la filosofía de que cada cosa es un archivo. Por ej. Un teclado, monitor, ratón, impresora.

- El sistema de E / S en Linux es como que en cualquier sistema Unix.- Aquí todos los controladores de dispositivos aparecen como archivos normales.- Un usuario puede acceder a un dispositivo de la misma manera como él abrir cualquier

otro archivo.- El administrador puede establecer permisos de acceso para cada dispositivo.

Categorías

Linux divide todos los dispositivos en tres clases: -

- Dispositivos de Bloque- Dispositivos de caracteres- Dispositivos de red

Los dispositivos de bloque

- Incluye todos los dispositivos tales como discos duros, disquetes, CD-ROM y memoria Flash.

- Estos dispositivos pueden ser accedidos aleatoriamente.- Ellos leen sólo los bloques de datos.

Dispositivos de Caracter

- Se incluyen dispositivos tales como ratones y teclados.- Estos dispositivos son el acceso sólo en serie o secuencialmente.- Leen el carácter de datos por carácter.

Dispositivos de Red

- Estos se tratan de manera diferente desde dispositivos de bloque y de caracteres.- Los usuarios no pueden transferir datos directamente a los dispositivos de red; sino que

deben comunicarse indirectamente mediante la apertura de una conexión al subsistema de red del núcleo.

Page 2: Gestión de Entrada y Salida en Linux

Estructura del bloque Dispositivo-Controlador

Los dispositivos de bloque

Los dispositivos de bloque proporcionan la interfaz principal para todos los dispositivos de disco en un sistema, o dispositivos de bloque que permiten el acceso aleatorio y bloques de tamaño fijo de datos, incluyendo el disco duro, disquete, CD-ROMs, etc. En el contexto de dispositivos de bloque, bloque representa la unidad con que los kernel realizan E / S. Cuando un bloque leer en la memoria, se almacena en una memoria intermedia.

El trabajo del gestor de peticiones en dispositivos de bloque. (The work of request manager in block devices.)

Los dispositivos de bloque

Una lista separada de solicitudes es mantenida por cada dispositivo de bloque. Estas solicitudes han sido programadas de acuerdo a un algoritmo elevador unidireccional.

La solicitud se mantiene en forma ordenada de aumentar el número inicial sector. (The request are maintain in sorted order of increasing starting sector number)

Cuando una solicitud es aceptada para procesar por un controlador de dispositivo de bloque, no es removido de la lista .Es retirada solo cuando la salida y entrada están completas.

Page 3: Gestión de Entrada y Salida en Linux

En el dispositivo de bloque hay dos problemas que pueden ocurrir

- STARVATION- DEADLINE

El plazo para solicitudes de lectura es de 0,5 segundos. Y el plazo para escribir la solicitud es de 5 segundos. El dispositivo de bloque también mantiene tres colas

- Sorted queue- Read queue- Write queue

Estas queues se ordenan según la fecha límite.

Dispositivos de caracter

Todos los dispositivos de caracter tratan con datos únicos de caracter en un tiempo y los procesan secuencialmente.

Ej. Los golpes de teclado, clics del ratón, etc.

Cualquier driver de dispositivo-caracter registrados en el kernel de Linux también deben registrar un conjunto de funciones que implementan las operaciones de archivo I/O que el conductor pueda manejar.

El kernel no realiza casi ningún procesamiento previo de una solicitud de archivo de lectura o escritura al dispositivo en cuestión y permite que el dispositivo lidiar con la solicitud.

Las impresoras son dispositivos de caracter y después el kernel envía datos a la impresora, la responsabilidad de que los datos pasen a la impresora. El kernel no puede realizar copias de seguridad y volver a examinar los datos.

14.

La excepción a esta regla es el subconjunto especial de los drivers del dispositivo de caracter que implementan dispositivos terminales.

El núcleo mantiene una interfaz estándar para estos conductores por medio de un conjunto de estructuras tty_struct.

Cada una de estas estructuras proporciona almacenamiento en el buffer y control de flujo en el flujo de datos desde el dispositivo terminal y alimenta los datos a una disciplina de línea.

15.

Una disciplina de línea es un intérprete de la información desde el dispositivo terminal.

La disciplina de línea más común es la tty discipline.

tty discipline decide cuales datos del proceso deben ser conectada o desconectada del dispositivo terminal.

Page 4: Gestión de Entrada y Salida en Linux

16

Estructura de Red

Los usuarios no pueden transferir datos directamente a los dispositivos de la red.

Se comunican indirectamente mediante la apertura de una conexión con el subsistema de red de núcleo.

Redes en el kernel de Linux es implementada por tres capas de software: -

1. La interfaz socket

2. Los controladores de protocolo

3. Los controladores de dispositivos de red.

- La interfaz de socket:

- Las aplicaciones de usuario realizan todas las solicitudes de red a través de la interfaz de socket.

- Se ve como la capa de conectores BSD, por lo que el programa diseñado para el socket BSD puede correr fácilmente en Linux sin ningún cambio de código fuente.

- Socket BSD es suficiente para representar las direcciones de red de los protocolos de red.

- Controladores de protocolo:

- Es la segunda capa de software.

- Cuando los datos llegan a esta capa, se espera que han sido etiquetadas con un identificador que especifica qué red de protocolo que contienen.

- Funciones de la capa de protocolo:

- Reescribir paquetes

- Crear Nuevos paquetes

- Split o volver a montar los paquetes en fragmentos,

- Descartar datos entrantes

Controladores de Dispositivos de red

- La comunicación entre las capas de pila de red se realiza pasando estructuras individuales skbuff

- Un skbuff es un conjunto de punteros en una sola área continua de la memoria, lo que representa un buffer dentro de la cual los paquetes de red pueden ser construidos.

- El código de red o bien añaden o recortan los datos desde el final del paquete.

Page 5: Gestión de Entrada y Salida en Linux

// Falta traducir, yo lo haré ZZzz

El conjunto más importante del protocolo utilizado en LINUX es la suite IP TCP.

Protocolo IP implementa enrutamiento entre diferentes ejércitos, en cualquier lugar de la red.

Protocolo UDP transporta datagramas individuales arbitrarias entre hosts

Protocolo TCP implementa conexión fiable entre los ejércitos.

Protocolo ICMP se utiliza para llevar a varios errores y mensajes de estado entre los ejércitos.

21.

Los paquetes IP entrantes se entregan al controlador IP.

Esta capa realiza el enrutamiento.

Después de decidir el destino de un paquete se reenvía para apropiarse de controlador de protocolo interno para entrega local o inyecta de nuevo en una cola conductor -device red seleccionada para ser remitido a otro host.

22.

El encaminamiento se puede hacer por dos tablas:

1.FIB (reenvío de base de información)

2.Cache de decisiones de enrutamiento recientes.

1. FIB es un conjunto de tablas hash indexados por la dirección de destino.

2. Se almacena en caché rutas solamente por destino específico. Una entrada en caché de ruta expira después de un período fijo sin hits.

23.

Software IP pasa sus paquetes a un código de sección separada para la gestión de cortafuegos.

Gestiona cadenas firewall separadas

1.For paquetes reenviados

2.For los paquetes que se recibe para acoger

3.Para datos generados en el host.

Controlador IP realiza el desmontaje y montaje de los paquetes grandes.

24.

Paquetes salientes grandes se dividen en fragmentos más pequeños

En el host de recepción se vuelven a montar estos fragmentos.

Page 6: Gestión de Entrada y Salida en Linux

Fragmentos entrantes se comparan con cada ipq conocido;

Si un partido se fragmento encontrado se añade a ella de otro modo, se crea nueva ipq

Una vez que el fragmento final se está creada llegado nueva sk_buff, para celebrar de nuevo paquete.

Esto se pasa de nuevo al controlador IP.