Galería de mapas mentales Sistema operativo de computadora gestión de entradas y salidas.
Este artículo trata sobre algunos conceptos básicos del sistema operativo de computadora IO, con una introducción detallada y una descripción completa, espero que pueda ayudar a los amigos interesados a aprender.
Editado a las 2023-12-01 15:12:41,gestión de E/S
Descripción general de la gestión de E/S
Clasificación de dispositivos de E/S
Clasificados por características de uso.
Dispositivos externos de interacción persona-computadora
dispositivo de almacenamiento
Equipo de comunicación de red.
Velocidad de transmision
dispositivo de baja velocidad
equipo de velocidad media
equipo de alta velocidad
unidad de intercambio de información
dispositivo de bloqueo
Transmisión rápida y direccionable.
dispositivo de personaje
La transmisión es lenta, no direccionable y utiliza un enfoque impulsado por interrupciones.
controlador de E/S
La función principal
Aceptar e identificar instrucciones emitidas por la CPU (registro de control)
Informar el estado del dispositivo a la CPU (registro de estado)
Intercambio de datos (registro de datos datos temporales)
Reconocimiento de direcciones (implementado por lógica de E/S)
composición
Interfaz entre CPU y controlador (implementando comunicación entre controlador y CPU)
Lógica de E/S (responsable de identificar los comandos emitidos por la CPU y enviar comandos al dispositivo)
Interfaz entre controlador y dispositivo (implementando la comunicación entre controlador y dispositivo)
Dos métodos de direccionamiento de registros
E/S asignadas en memoria
Direccionamiento unificado de registros y memoria en el controlador.
El controlador se puede operar usando instrucciones que operan en la memoria.
Registrar direccionamiento independiente
Los registros en el controlador se abordan individualmente
Es necesario configurar instrucciones especiales para operar el controlador.
Modo de control de E/S
Control directo del programa
Desventajas: La CPU y los dispositivos de E/S solo pueden funcionar en serie, lo que resulta en una utilización de la CPU extremadamente baja.
Modo impulsado por interrupción
Permitir que los dispositivos de E/S interrumpan activamente el funcionamiento de la CPU y soliciten servicios. Esto libera la CPU para que pueda continuar realizando otro trabajo útil después de enviar comandos de lectura al controlador de E/S.
Desventajas: Dado que cada palabra de datos debe transferirse entre la memoria y el controlador de E/S a través de la CPU Como resultado, el método controlado por interrupciones todavía consume más tiempo de CPU.
Método DMA (acceso directo a memoria)
Establezca una ruta de datos directa entre los dispositivos de E/S y la memoria para acceder completamente a la CPU
Características
La unidad básica es el bloque de datos.
Los datos transferidos se envían directamente desde el dispositivo a la memoria, o viceversa.
La intervención de la CPU solo es necesaria cuando se transfiere el principio y el final de uno o más bloques de datos consecutivos. La transferencia de todo el bloque de datos se completa bajo el control del responsable del tratamiento DMA.
modo de canal
El canal de E/S es un procesador específicamente responsable de la entrada/salida. Es un desarrollo del método DMA, que puede reducir aún más la intervención de la CPU. Es decir, la intervención de leer (o escribir) un bloque de datos se reduce a la intervención de leer (o escribir) un grupo de bloques de datos y el control y gestión relacionados. Al mismo tiempo, puede realizar el funcionamiento paralelo de la CPU, el canal y el dispositivo de E/S.
El tipo de instrucción del canal es único y no tiene su propia memoria. El programa de canal ejecutado por el canal se coloca en la memoria del host. El canal comparte memoria con la CPU.
Jerarquía del software de E/S
Software de E/S a nivel de usuario
Interfaz implementada para la interacción del usuario.
software de independencia del dispositivo
Realizar operaciones comunes a todos los dispositivos.
Distribución y reciclaje de equipos.
Asigne nombres de dispositivos lógicos a nombres de dispositivos físicos
Protege tu dispositivo
Gestión de búfer
control de errores
Proporciona bloques lógicos de tamaño uniforme que son independientes del dispositivo, protegiendo las diferencias en el tamaño de la unidad de intercambio de información y la velocidad de transmisión entre dispositivos.
Proporcionar una interfaz unificada a la capa de usuario.
controlador de dispositivo
Relacionado con el hardware, responsable de implementar específicamente las instrucciones de funcionamiento emitidas por el sistema al dispositivo.
manejador de interrupciones
Se utiliza para manejar asuntos relacionados con interrupciones.
hardware
Consta de un componente mecánico (el dispositivo en sí) y un componente electrónico (el controlador/adaptador del dispositivo)
Funciones del controlador del dispositivo
Reconocer o aceptar comandos de la CPU o canal.
Realizar el intercambio de datos
Descubra y registre información de estado sobre el dispositivo o sobre sí mismo
Identificación de la dirección del dispositivo
Subsistema central de E/S
Conceptos de programación de E/S
Determinar un buen orden para realizar solicitudes de E/S
Cachés y buffers
búfer único
Dispositivo - (T) - Búfer - (M) - Espacio de trabajo - (C) - Procesamiento
Cuando el búfer esté lleno, los datos se enviarán al área de trabajo. Cuando el área de trabajo esté llena, el búfer estará vacío al mismo tiempo.
Supongamos el estado inicial, el área de trabajo está llena y el búfer está vacío: El tiempo promedio necesario para procesar un dato es Max (C, T) M
doble buffer
Supongamos el estado inicial, el búfer 1 está lleno, el búfer 2 está vacío y el área de trabajo está vacía: El tiempo promedio necesario para procesar un dato es Max (T, C M)
El búfer 1 está lleno y los datos se están cargando en el búfer 2. En este momento, los datos se pueden recuperar del búfer 1. Los datos sólo se pueden recuperar cuando el búfer está lleno
buffer circular
Se vinculan varios buffers en una cola circular, con el puntero de entrada apuntando al primer buffer vacío y el puntero de salida apuntando al primer buffer lleno.
grupo de buffer
tres colas
cola de buffer vacía
cola de entrada
cola de salida
Cuatro buffers de trabajo
Búfer de trabajo utilizado para acomodar datos de entrada, búfer de trabajo utilizado para extraer datos de entrada
Búfer de trabajo utilizado para contener datos de salida, búfer de trabajo utilizado para extraer datos de salida
Búfer versus caché
Concepto de buffer
Generalmente usa la memoria como búfer.
Alivia el conflicto de velocidad entre la CPU y el dispositivo y reduce la frecuencia de interrupciones en la CPU Resuelva el problema de la discrepancia en la granularidad de los datos y mejore el paralelismo entre la CPU y los dispositivos de E/S
Características
Cuando los datos en el búfer no están vacíos, los datos no se pueden vaciar en el búfer y los datos solo se pueden transferir fuera del búfer.
Cuando el búfer está vacío, los datos se pueden enviar rápidamente al búfer, pero el búfer debe llenarse antes de que los datos puedan transferirse fuera del búfer.
Distribución y reciclaje de equipos.
Factores que se deben considerar
propiedades intrinsecas
Dispositivos exclusivos, dispositivos compartidos, dispositivos virtuales (SPOOLing)
algoritmo de asignación
Primero en llegar, primero en ser atendido, mayor prioridad primero, tareas más cortas primero
seguridad
Método de distribución seguro
Método de asignación inseguro
Asignación estática y asignación dinámica.
La asignación dinámica se realiza de acuerdo con las necesidades de ejecución durante la ejecución del proceso.
Estructuras de datos en la gestión de asignación de dispositivos.
Tabla de control de dispositivos (DCT)
Cada dispositivo corresponde a un DCT, campos clave: tipo/identificador/estado/puntero a COCT/puntero de cola de espera
Mesa de control del controlador (COCT)
Cada controlador corresponde a un COCT, campos clave: estado/puntero a CHCT/puntero de cola de espera
Tabla de control de canales (CHCT)
Hay un puntero a la tabla del controlador conectado y los punteros principal y final de la cola de PCB del proceso que espera el canal.
Tabla de dispositivos del sistema (SDT)
Registre el estado de todos los dispositivos en todo el sistema, cada dispositivo corresponde a una entrada
Campos clave
Tipo de dispositivo/identificador/DCT/entrada de controlador
Un canal controla múltiples controladores, un controlador controla múltiples dispositivos
Pasos de asignación de dispositivos
1. Busque SDT según el nombre del dispositivo físico solicitado por el proceso. 2. Encuentre DCT y asigne equipos de acuerdo con SDT 3. Encuentre el COCT según el DCT y asigne el controlador 4. Busque CHCT y asigne canales según COCT
Solo cuando el dispositivo, el controlador y el canal se hayan asignado correctamente, el dispositivo se considerará asignado correctamente y luego se podrá iniciar el dispositivo de E/S para la transmisión de datos.
defecto
Los usuarios deben utilizar el "nombre del dispositivo físico" al programar. Si se cambia un dispositivo físico, el programa no se ejecutará. Si el dispositivo solicitado está ocupado, el proceso debe esperar incluso si hay otros dispositivos del mismo tipo en el sistema.
Mejoras en el paso de asignación de dispositivos.
Los usuarios utilizan nombres de dispositivos lógicos para solicitar dispositivos al programar, y el sistema operativo es responsable de asignar los nombres de dispositivos lógicos a los nombres de dispositivos físicos.
Configuración de la tabla de dispositivos lógicos
Solo hay una LUT en todo el sistema: no se permite repetir los nombres de dispositivos lógicos utilizados por cada usuario.
Una LUT por usuario: el nombre del dispositivo lógico de cada usuario se puede repetir
CARRETE
tecnología fuera de línea
Controlador periférico Equipo de mayor velocidad: cinta
Función: alivia el conflicto de velocidad entre el dispositivo y la CPU y realiza una entrada previa y una salida lenta.
CARRETE
Simulación de tecnología fuera de línea utilizando métodos de software.
pozos de entrada y pozos de salida
zona de almacenamiento
proceso de entrada y proceso de salida
buffer de entrada y buffer de salida
buffer de entrada
Almacenar temporalmente los datos enviados desde el dispositivo de entrada
buffer de salida
Almacenar temporalmente datos del pozo de salida
Impresora compartida
Utilice la tecnología SPOOLing para "virtualizar" impresoras exclusivas en impresoras compartidas