Galería de mapas mentales Mapa mental del sistema operativo de la computadora
Este es un mapa mental sobre los sistemas operativos de las computadoras, incluidos procesos e hilos, administración de memoria, administración de archivos, administración de IO, etc. Espero que ayude a todos.
Editado a las 2023-12-08 15:46:30,La seconda unità del corso obbligatorio di biologia ha riassunto e organizzato i punti di conoscenza, coprendo tutti i contenuti principali, il che è molto comodo da apprendere per tutti. Adatto per la revisione e l'anteprima degli esami per migliorare l'efficienza dell'apprendimento. Affrettati a ritirarlo per imparare insieme!
Questa è una mappa mentale sull'estrazione e la corrosione del me. Il contenuto principale include: corrosione dei metalli, estrazione dei metalli e serie di reattività.
Questa è una mappa mentale sulla reattività dei metalli. Il contenuto principale include: reazioni di spostamento dei metalli, serie di reattività dei metalli.
La seconda unità del corso obbligatorio di biologia ha riassunto e organizzato i punti di conoscenza, coprendo tutti i contenuti principali, il che è molto comodo da apprendere per tutti. Adatto per la revisione e l'anteprima degli esami per migliorare l'efficienza dell'apprendimento. Affrettati a ritirarlo per imparare insieme!
Questa è una mappa mentale sull'estrazione e la corrosione del me. Il contenuto principale include: corrosione dei metalli, estrazione dei metalli e serie di reattività.
Questa è una mappa mentale sulla reattività dei metalli. Il contenuto principale include: reazioni di spostamento dei metalli, serie di reattività dei metalli.
Sistema operativo
Capítulo 1 Descripción general
concepto basico
Una colección de programas que controla y administra los recursos de hardware y software de todo el sistema informático, organiza y programa racionalmente el trabajo de la computadora y la asignación de recursos, y proporciona a los usuarios interfaces y entornos convenientes.
característica
concurrente
Múltiples eventos ocurren dentro del mismo intervalo de tiempo.
Diferente de paralelo El paralelismo es al mismo tiempo paralelismo.
compartido
intercambio mutuamente excluyente
Solo un proceso puede acceder a los recursos dentro de un tiempo específico
Solo después de que el proceso haya accedido y liberado el recurso, otro proceso podrá acceder al recurso.
recursos críticos
Sólo se permite el acceso a un proceso durante un período de tiempo.
Tales como: dispositivos físicos, pilas, variables, tablas, etc.
Visita simultáneamente
Permitir el acceso "simultáneo" de múltiples procesos durante un período de tiempo
Al mismo tiempo, macroscópicamente, A nivel micro, pueden acceder a los recursos de forma alternativa (tiempo compartido)
El intercambio de recursos está condicionado a la simultaneidad del programa. Si no se permite la simultaneidad del programa, no se compartirán recursos.
Dos características básicas
virtual
Las entidades se convierten en contrapartes lógicas
Ejecución concurrente mediante multiprogramación.
Utilice tecnología de multiprogramación para dividir una CPU física en varias CPU lógicas
tecnología virtual
tecnología de multiplexación por división de tiempo
tiempo compartido
tecnología de multiplexación por división espacial
almacenamiento virtual
asincrónico
La ejecución del proceso no se realiza en un solo paso, sino de forma intermitente porque los recursos son limitados.
El sistema operativo sirve como interfaz entre el usuario y el sistema de hardware de la computadora.
Cómo los usuarios usan las computadoras
1) interfaz de comando
a través del intérprete de comandos
El analizador de comandos de shell también es una interfaz de comandos.
Interfaz de comando en línea
Adecuado para sistemas de tiempo compartido y en tiempo real
Énfasis en la interactividad del usuario.
Interfaz de comando sin conexión
No se requiere operación manual
para sistemas de procesamiento por lotes
Junto con los trabajos preparados previamente, se entregan al sistema. Cuando se programan los trabajos, el intérprete de comandos del sistema controla la ejecución.
2) interfaz del programa
Consiste en llamadas al sistema.
Utilice llamadas al sistema para solicitar al sistema operativo que le proporcione servicios.
El sistema operativo no proporciona llamadas al sistema para el caché del sistema y el caché es transparente para el usuario.
camino de desarrollo
1) Etapa de operación manual
No hay ningún sistema operativo en este momento y todo el trabajo se realiza manualmente
2) Etapa de procesamiento por lotes
Sistema de procesamiento por lotes de un solo carril
1) Secuencialidad
2) Automatismo
3) Unidireccionalidad
Sólo se ejecuta un programa en la memoria.
Sistema de procesamiento por lotes multicanal
mediante técnicas de multiprogramación
Varios programas ingresan a la memoria al mismo tiempo y se ejecutan alternativamente dentro de la CPU.
Hardware/software compartido
Cuando un programa se suspende debido a IO, la CPU ejecuta inmediatamente otro programa.
vía interrupción
ventaja
1) Múltiples canales
2) Macroparalelismo
3) Microserie
4) Alta tasa de utilización y gran rendimiento
Desventajas: tiempo de respuesta prolongado, no se proporciona interacción humana, no hay control sobre la computadora
3) Sistema operativo de tiempo compartido
Varios usuarios comparten un host simultáneamente a través del terminal
A través de la rotación del intervalo de tiempo
Realice la interacción persona-computadora
1) Simultaneidad
2) Interactividad
3) Independencia
Varios usuarios operan de forma independiente sin interferir entre sí
4) Puntualidad
Obtenga respuesta en poco tiempo
4) Sistema operativo en tiempo real
Completar tareas urgentes (tareas preventivas de alta prioridad) dentro de un límite de tiempo determinado, No es necesario hacer colas por intervalos de tiempo
5) Sistema operativo de red y sistema informático distribuido.
sistema operativo de red
Cada computadora está integrada orgánicamente.
sistema informático distribuido
Cada computadora tiene el mismo estatus.
6) Sistema operativo de computadora personal
ganar, Linux, Mac OS
Entorno operativo
Modo de funcionamiento del procesador
1) Instrucciones privilegiadas
Directivas que los usuarios no pueden utilizar
Instrucción IO, configurar instrucción de interrupción, enviar palabra de estado, guardar registro, configurar reloj
Sólo se puede ejecutar en modo kernel
2) Instrucciones sin privilegios
Directivas que permiten a los usuarios utilizar
Sin acceso directo a los recursos de hardware y software del sistema
Permitir solo el acceso al espacio de direcciones del usuario
llamada al sistema
Las instrucciones de captura, también conocidas como instrucciones de gestión de acceso, se utilizan para iniciar llamadas al sistema y solicitar al sistema que proporcione servicios.
Se utiliza en modo usuario. Entonces no es una instrucción privilegiada.
El programa se ejecuta en modo usuario.
Los programas del kernel se ejecutan en modo kernel
La instrucción para cambiar al modo de usuario es una instrucción privilegiada
La aplicación solicita servicios del sistema operativo a través de instrucciones de administración de acceso, genera un evento de interrupción y convierte el sistema operativo al modo kernel.
El proceso de ejecución de instrucciones generalizadas (comandos de llamada al sistema) debe estar en el estado del núcleo. Y su llamada puede ser en modo usuario o modo kernel.
El cambio del modo usuario al modo kernel debe pasar una interrupción
Mientras ocurra una interrupción, inevitablemente cambiará al estado del núcleo.
llamada de subrutina
Guardar solo puntos de interrupción
Dirección de siguiente instrucción
Modo de usuario → modo central
ejemplo
Solicitar servicios del sistema
Se produce una interrupción.
Error del programa de usuario
El programa de usuario quiere ejecutar instrucciones privilegiadas
La conversión del modo de usuario al modo central se completa mediante hardware.
Debe lograrse mediante interrupciones.
Siempre que ocurra una interrupción, debe procesarse y convertirse al estado del núcleo.
Cuando el estado del usuario ingresa al estado central, no solo se cambia el estado, sino que la pila también se convierte en la pila del sistema.
gestión del reloj
Implementar la conmutación de procesos a través de la gestión de interrupciones del reloj.
interrupción del reloj
Procesar información relacionada con el tiempo para decidir si ejecutar el programador.
Hora del sistema, intervalo de tiempo, retraso, tiempo de uso de la CPU, temporizador, etc.
Interrupciones y excepciones
interrumpir (interrupción externa)
El sistema operativo no puede funcionar sin interrupciones.
Solo una pequeña parte de la función pertenece al kernel, que protege y restaura la información de la escena de interrupción. Transferir el control al responsable correspondiente.
datos guardados
Guardar hardware
ordenador personal
Palabra de estado PSW
guardar sistema operativo
registro general x
anormal (interrupción interna)
Código de operación ilegal, dirección fuera de límites, desbordamiento, falla de página, autotrampa, etc.
Llamada al sistema, comando de acceso.
Las excepciones no se pueden enmascarar y deben manejarse inmediatamente una vez que ocurren.
primitivo
es un procedimiento
1) En la parte inferior del sistema operativo
2) El programa se ejecuta atómicamente.
3) El programa tiene un tiempo de ejecución corto y llamadas frecuentes.
4) Componentes del núcleo
Estilo de gestión
Gestión de dispositivos
Gestión de proceso
gestión de la memoria
estructura del sistema operativo
enfoque en capas
Es difícil definir cada capa.
Modular
Las interfaces entre módulos son difíciles de satisfacer las necesidades reales
núcleo macro
Todos los módulos funcionales principales se ejecutan en el estado del núcleo como un todo estrechamente relacionado.
ganar, Linux, iOS, Android
micronúcleo
Las funciones principales se conservan en el kernel y las funciones que no es necesario ejecutar en el modo kernel se transfieren al modo usuario.
El servicio de archivos se ejecuta en modo de usuario
La principal desventaja son los problemas de rendimiento.
Sistema operativo Hongmeng
arranque del sistema operativo
Activar CPU
Ejecute la instrucción JMP para saltar al BIOS
Registre la dirección de entrada del programa de interrupción del BIOS
Autoprueba de hardware
Cargue el disco duro con el sistema operativo
Cargue el MBR del registro de arranque maestro
MBR contiene una tabla de particiones de hardware
MBR verifica la tabla de particiones para encontrar la partición activa y transfiere el programa de inicio de la partición a la memoria para su ejecución.
Escanear partición del disco duro
Cargar registro de inicio PBR (Registro de inicio de partición)
Busque y active el programa en el directorio raíz de la partición utilizada para iniciar el sistema operativo.
Cargar administrador de arranque
Ubicado en el disco duro y utilizado para iniciar el sistema operativo.
Cargar sistema operativo
máquina virtual
Capítulo 2 Procesos e Hilos
Procesos e hilos
concepto
PCB del bloque de control de proceso
Permitir que cada programa (incluidos los datos) que participan en la ejecución simultánea se ejecute de forma independiente
PCB es el único signo de la existencia del proceso.
Entidad de proceso (Imagen)
Consta de tres partes: segmento de programa, segmento de datos relevantes y PCB.
Un proceso es el proceso en ejecución de una entidad de proceso.
Es una unidad independiente para la asignación y programación de recursos en el sistema.
característica
Es causado por la ejecución simultánea de múltiples programas.
Dinámica
concurrencia
independencia
Asincronicidad
Estado del proceso y transiciones.
Estado de ejecución → Estado de bloqueo
Proteger la escena
Composición del proceso
tarjeta de circuito impreso
Sección del programa
Segmentos de código de programa que el proceso puede programar para que los ejecute la CPU
segmento de datos
control de procesos
Los programas utilizados para el control de procesos se llaman primitivos.
Cada proceso padre e hijo tiene su propia PCB
El proceso padre y el proceso hijo comparten algunos recursos, pero no comparten el espacio de direcciones virtuales.
proceso terminado
evento
Terminar normalmente
final anormal
intervención externa
proceso
Recuperar PCB, leer estado
Terminar la operación
Dar recursos a otros procesos
o devuelto al sistema operativo
Mata todos los procesos secundarios
Quitar PCB
comunicación de proceso
Intercambio de información entre procesos.
comunicación de bajo nivel
funcionamiento fotovoltaico
no puede ser interrumpido
comunicaciones avanzadas
almacenamiento compartido
Los subprocesos dentro de un proceso comparten naturalmente el espacio del proceso. El espacio de proceso se comparte entre procesos a través de llamadas especiales al sistema.
mensajería
El intercambio de datos se realiza en mensajes formateados.
comunicación directa
método de comunicación indirecta
La entidad intermedia es el buzón.
comunicación por tubería
Los datos son los primeros en entrar, los primeros en salir
El archivo de tubería existe en la memoria.
Si los datos se leen vacíos, el proceso de lectura se bloquea.
Solo se puede acceder a las tuberías mediante el proceso de creación.
Las tuberías ordinarias sólo permiten la comunicación unidireccional.
Hilos y multihilos
Es una unidad de ejecución de CPU básica.
Es la unidad más pequeña de flujo de ejecución del programa.
El bloque de control de hilo TCB consta de
ID del hilo
contador de programa
conjunto de registro
Composición de la pila
Área de almacenamiento específica para subprocesos
En el mismo proceso, se pueden ejecutar varios subprocesos al mismo tiempo.
Después de introducir hilos
El proceso sirve como unidad de asignación de recursos del sistema fuera de la CPU.
Hilos como unidades de asignación del procesador.
El proceso es la unidad básica que posee los recursos del sistema. Los subprocesos no poseen los recursos del sistema.
Implementación del hilo
Clasificación
hilo a nivel de usuario
Todo el trabajo lo realiza la aplicación en el espacio del usuario.
El cambio de subprocesos no requiere espacio en el kernel y tiene una sobrecarga baja
Elija diferentes algoritmos de programación según sea necesario
Si se bloquea un hilo a nivel de usuario, también se bloquea todo el proceso.
Hilos a nivel de kernel
Completado con soporte para sistema operativo.
El cambio de hilo en el mismo proceso requiere cambiar del modo de usuario al modo kernel, lo cual es costoso
Se pueden programar varios subprocesos del mismo proceso para que se ejecuten en paralelo en la CPU al mismo tiempo.
modelo multiproceso
muchos a uno
Varios usuarios asignados a un núcleo
Cara a cara
muchos a muchos
Programación del procesador
Concepto de programación
Seleccione un proceso de la cola lista de acuerdo con un algoritmo determinado y asígnele el procesador
Trabajos y procesos
Los trabajos los envían los usuarios y se basan en las tareas del usuario. El proceso es generado por el sistema operativo y es la unidad básica para la asignación de recursos y la operación independiente.
Jerarquía de programación
Programación avanzada
programación de trabajo
La programación de trabajos es la programación entre la memoria y el almacenamiento auxiliar.
Cada trabajo se carga solo una vez y se carga una vez
Programación intermedia
programación de memoria
Programa de llamada y llamada
Mejorar la utilización de la memoria y el rendimiento del sistema.
Los procesos que no se ejecutan temporalmente se programan en la memoria externa y se suspenden.
programación de bajo nivel
programación de procesos
La frecuencia de programación de procesos es alta.
Lo más básico e indispensable
Actuación
utilización de la CPU
Tiempo de trabajo efectivo de CPU / (espera efectiva)
tiempo de respuesta
Tiempo de respuesta = tiempo de finalización del trabajo – tiempo de envío del trabajo
Tiempo de respuesta promedio = ∑ tiempo de respuesta / n
Tiempo de respuesta ponderado = tiempo de respuesta del trabajo / tiempo de ejecución real del trabajo
Tiempo de respuesta promedio ponderado = ∑ tiempo de respuesta ponderado / n
tiempo de espera
Tiempo de respuesta
Implementación de programación
planificador
cola
Despachador
conmutador de contexto
Ejecute una gran cantidad de instrucciones de carga/almacenamiento y guarde el contenido del registro.
Programación de tiempos, cambios y procesos.
Situaciones en las que no se pueden realizar la programación y el cambio
1) Durante el proceso de manejo de interrupciones.
2) El proceso está en la sección crítica del núcleo del sistema.
Después de ingresar a la sección crítica, ciérrela, Los procesos no deben cambiarse antes de desbloquearse
3) Durante el proceso atómico
Durante los procesos atómicos, incluso las interrupciones quedan enmascaradas.
Situaciones que se pueden programar y cambiar
programación sin privación
Se produce una condición de programación y el proceso actual no puede continuar.
programación de privaciones
El procesamiento de la interrupción finaliza
La trampa termina
Método de programación
No preventivo
Dejar que el proceso actual continúe incluso si hay un proceso de emergencia listo.
Con derecho preferente
Los eventos de emergencia tienen mayor prioridad
Proceso de salir
Cuando no haya otros procesos ejecutándose en el sistema, habilite inactivo inactivo
Programación de dos hilos.
nivel de usuario
Cambio de hilo dentro del mismo proceso, utilizando una pequeña cantidad de instrucciones de la máquina.
nivel del núcleo
El kernel selecciona un hilo específico para ejecutar y le asigna un intervalo de tiempo
Algoritmo de programación
Primero en llegar, primero en ser atendido
algoritmo inalienable
El algoritmo es simple y de baja eficiencia.
Propicio para operaciones de CPU ocupadas No propicio para operaciones IO ocupadas
Primero los trabajos cortos
Los trabajos con el tiempo de ejecución más corto tienen prioridad
No es bueno para trabajos largos.
No considerar plenamente la urgencia del trabajo.
Tiempo medio de espera, tiempo medio de respuesta más bajo
programación de prioridades
Ejecutar según la prioridad del trabajo.
Se puede utilizar tanto para la programación de procesos como para la programación de trabajos.
prioridad
prioridad estática
Una vez decidido no se puede cambiar.
prioridad dinámica
La prioridad se puede ajustar según la situación.
en principio
1) Proceso del sistema> Proceso de usuario
2) Proceso interactivo > proceso no interactivo
3) Proceso IO> Proceso informático
Porque el dispositivo IO es más lento que la CPU
Prioridad de alto índice de respuesta
Ratio de respuesta = (tiempo de espera tiempo de servicio requerido) / tiempo de servicio requerido
rotación de intervalo de tiempo
para sistemas de tiempo compartido
Si el intervalo de tiempo es lo suficientemente grande como para que todos los trabajos se puedan ejecutar dentro de un intervalo de tiempo, El algoritmo de rotación del intervalo de tiempo degenera en orden de llegada
cola de varios niveles
Los procesos de diferentes tipos o propiedades se asignan a diferentes colas listas.
Cola de comentarios de varios niveles
Múltiples colas listas, cada una con diferentes prioridades
El tamaño del segmento de tiempo del proceso de cada cola es diferente
Cada cola es por orden de llegada
Las colas están programadas por prioridad.
Comparar
Cambio de proceso
cambio de contexto
El contexto se refiere a: el contenido de los registros de la CPU y el contador del programa en un momento determinado.
La CPU cambia a otro proceso y necesita guardar el estado del proceso actual y restaurar el estado del otro proceso.
Actualizar PCB
Cambio de modo
Cambiar entre el modo de usuario y el modo kernel
Sincronización y exclusión mutua
concepto
recursos críticos
Sólo se permite un proceso para usarlo a la vez.
Como impresora, variable, datos.
Área de entrada
Compruebe si se puede ingresar a la sección crítica
sección crítica
El código en el proceso que accede a recursos críticos.
Área de salida
Borre la bandera de que se está accediendo a la sección crítica
área restante
el resto del código
Sincronización de procesos
relación restrictiva directa
La relación entre procesos es colaboración directa y la concurrencia de procesos es asincrónica.
mutuamente excluyentes
restricciones indirectas
Cuando un proceso accede a un recurso crítico, otro proceso debe esperar
criterios
Gratis para dejar entrar
Si estas ocupado espera
espera limitada
Garantizado para ingresar a la sección crítica dentro de un tiempo limitado
ceder y esperar
Cuando el proceso no puede ingresar a la sección crítica, el procesador se libera inmediatamente para evitar que el proceso esté ocupado esperando.
métodos mutuamente excluyentes
Método de implementación del software
método de marca única
Verifique primero el método de doble marca
Método de doble marca después de la inspección
algoritmo de peterson
Para evitar que dos procesos entren en la sección crítica y esperen indefinidamente, se establece la variable turno
Método de implementación de hardware
Método de enmascaramiento de interrupción
Método de comando de hardware
probar y configurar
intercambio
Ventajas de los métodos de implementación de hardware.
Funciona con cualquier cantidad de procesos
defecto
Puede ocurrir hambre
bloqueo mutex
adquirir
obtener bloqueo
liberar
desbloquear bloqueo
señal
En realidad, el funcionamiento fotovoltaico se compone de dos procesos ininterrumpibles.
La operación p es la operación de espera, lo que significa esperar hasta que el recurso esté disponible. Si el recurso no está disponible, entra en estado de bloqueo. El proceso durante la operación p está en estado de ejecución.
La operación V es una operación única, lo que significa que el proceso libera un recurso de modo que la cantidad de recursos disponibles para su asignación en el sistema es 1
semáforo entero
grabar semáforo
Uso de semáforos para lograr la sincronización de procesos.
Uso de semáforos para implementar procesos de exclusión mutua.
El valor inicial del mutex es generalmente 1, lo que significa que solo un proceso puede ingresar a la sección crítica a la vez. Cuando es 0, significa que un proceso ha entrado en la sección crítica y no hay ningún proceso esperando fuera de la sección crítica. Cuando el mutex es menor que 0, significa que hay un proceso en la sección crítica. El valor absoluto del mutex indica la cantidad de procesos esperando fuera de la sección crítica.
Usando semáforo para implementar precursor
gestión
Herramienta de sincronización de procesos
Proceso garantizado de exclusión mutua
Capaz de lograr sincronización y exclusión mutua entre procesos.
Sólo un proceso utiliza un recurso compartido a la vez
Una estructura de datos que representa un recurso compartido y un programa de gestión de recursos que consta de un conjunto de procedimientos que operan en esa estructura de datos compartidos en tiempo real.
La señal es diferente de la operación V. Si no hay ningún proceso bloqueado debido a la condición, la señal no tiene efecto.
Problemas de sincronización
problema productor consumidor
problema lector-escritor
Lea primero
escribe primero
El problema del comedor de los filósofos
Posibles problemas: cuando todos agarran los palillos (algoritmo codicioso), puede ocurrir un punto muerto.
problema del fumador
punto muerto
definición
Punto muerto causado por múltiples procesos que compiten por un recurso
Estos procesos no pueden continuar sin fuerzas externas.
causa
1) Competencia por los recursos del sistema.
Recursos inalienables en el sistema, la cantidad no es suficiente para satisfacer múltiples procesos.
2) La secuencia de avance del proceso es ilegal.
Orden incorrecto de solicitud y liberación de recursos.
Condiciones necesarias para que se produzca un punto muerto
1) Condiciones mutuamente excluyentes
Un determinado recurso sólo es ocupado por un proceso durante un determinado período de tiempo.
2) Sin privación de condiciones.
No puede ser reemplazado por otros procesos.
3) Solicitar y mantener condiciones
El proceso ha ocupado un recurso y solicitado otro recurso al mismo tiempo, y el recurso ocupado no se libera.
4) Esperando en un bucle
Los recursos ocupados por cada proceso son solicitados simultáneamente por el siguiente proceso.
Estrategia de manejo de interbloqueos
1) Prevención de punto muerto
Destruye una o más de las cuatro condiciones necesarias.
1. Destrucción de las condiciones de exclusión mutua
Permitir compartir recursos del sistema
2. Destruir las condiciones de no privación
Liberar procesos que están ocupando recursos y no pueden continuar ejecutándose
3. Destruya la solicitud y mantenga la condición.
Solicite todos los recursos necesarios a la vez y no lo ponga en funcionamiento antes de que se cumplan sus recursos.
4. Rompe el círculo y espera.
Adoptar un método de asignación de recursos secuencial
2) Evitar puntos muertos
Evitar que el sistema entre en un estado inseguro
1. Estado de seguridad del sistema
Antes de que el sistema asigne recursos, primero debe calcular la seguridad de la asignación.
estado seguro
No debe haber ningún punto muerto
estado no seguro
Puede entrar en un punto muerto
2. Algoritmo bancario
Evitar que el sistema entre en un estado inseguro
3) Detección y liberación de interbloqueo
Detectar la aparición de un punto muerto y tomar algunas medidas para aliviarlo.
Si el sistema no toma ninguna medida al asignar recursos al proceso, se deben proporcionar métodos de detección y liberación de interbloqueos.
Mapa de asignación de recursos
Los círculos en el cuadro representan recursos.
Solicitudes de llamadas perimetrales dirigidas de proceso a recurso
liberación de punto muerto
1) Privación de recursos
El proceso que bloquea el punto muerto tomará sus recursos y los asignará a otros procesos en punto muerto.
2) Deshacer el proceso
Cancelar por la fuerza algunos o incluso todos los procesos estancados y privarlos de recursos
3) Reversión del proceso
Deje que un proceso estancado retroceda lo suficiente como para evitar el estancamiento.
Comparar
La diferencia entre un punto muerto y una hambruna
hambre
Se pospone indefinidamente la ejecución de un proceso
Sólo puede haber un proceso que entre en inanición.
Puede estar listo o bloqueado.
punto muerto
El proceso ha llegado a un punto muerto y no puede avanzar.
El número de procesos que entran en un punto muerto debe ser igual o mayor a dos
El proceso en el que se produce el punto muerto debe estar en un estado bloqueado.
Capítulo 3 Gestión de la memoria
concepto
La gestión de la memoria es para soportar mejor la ejecución concurrente de múltiples programas.
Vinculación y carga de programas
Enlace
enlace estático
La función de biblioteca se vincula a un módulo de carga y se modifica la dirección relativa.
Enlace dinámico en carga
Al cargar en la memoria, vincular mientras se carga
Enlace dinámico en tiempo de ejecución
Los módulos de objetos que no se utilicen durante la ejecución no se cargarán en la memoria ni se vincularán a módulos.
carga
Absolutamente monte (estático)
en la fase de programación
Adecuado para un solo programa, la dirección lógica y la dirección de memoria son exactamente iguales
Puede ser dado por el programador o por compilación o ensamblaje.
carga reubicable
reubicación estática
El proceso de modificar las instrucciones y direcciones de datos en el programa de destino durante la carga se llama reubicación.
No cambiar después de cargar
Al cargar, modifique la dirección lógica a la dirección física final.
Carga dinámica en tiempo de ejecución
reubicación dinámica
Después de que el cargador carga el módulo en la memoria, no convierte inmediatamente la dirección relativa del módulo cargado en una dirección absoluta, sino que pospone el proceso de conversión hasta la ejecución.
Se puede cambiar después de cargar
Las direcciones después de cargarlas en la memoria son todas direcciones relativas.
protección de memoria
Agregue la dirección lógica al valor de reubicación para obtener la dirección física
El registro de direcciones límite determina si está fuera de los límites
La carga del registro de reubicación y el registro de dirección de límite debe utilizar instrucciones privilegiadas, que el núcleo del sistema operativo completa y el usuario no puede modificar.
compartir memoria
Solo se pueden compartir áreas de solo lectura
El código reentrante (código puro) permite el acceso de múltiples procesos pero no permite la modificación de ningún proceso.
La tecnología reentrante reduce las transferencias de código de entrada y salida, lo que reduce la cantidad de intercambios para mejorar el rendimiento del sistema.
Cubrir y cambiar
cubrir
Los segmentos del programa a los que se accede se colocan en el área de cobertura y otros segmentos se colocan en la memoria externa. El sistema necesita transferirlos al área de cobertura antes de llamar y reemplazar los segmentos originales.
intercambio
Transfiera el programa en espera de la memoria al almacenamiento auxiliar, que es una programación intermedia
gestión continua de asignaciones
asignación contigua única
El área del sistema es utilizada por el sistema operativo y se coloca en la parte de dirección baja.
En la memoria del área de usuario sólo hay un programa de usuario
Utilice tecnología de superposición
Gestión de particiones
La solución de gestión de almacenamiento más sencilla que satisface la multiprogramación con el menor coste.
Asignación de partición fija
La memoria del usuario se divide en varias áreas de tamaño fijo y cada partición solo carga un trabajo.
pregunta
1) El programa es demasiado grande para caber en cualquier partición, así que utilice tecnología de sobrescritura
2) Si el programa es demasiado pequeño y se coloca en la partición, se producirá fragmentación interna.
Asignación dinámica de particiones
Con el tiempo, se crean muchos pequeños bloques de memoria en la memoria, lo que se denomina fragmentación externa.
Resuelto por tecnología compacta, el sistema operativo mueve y organiza procesos.
estrategia de asignación
algoritmo de primer ajuste
Enlace en orden creciente de dirección
Algoritmo de adaptación de vecinos
Al asignar memoria, la búsqueda comienza desde la posición donde terminó la última búsqueda.
algoritmo de mejor ajuste
Las particiones libres forman una cadena de particiones libres en orden de capacidad creciente.
Genera la mayor cantidad de desechos externos.
algoritmo de peor ajuste
Formar una cadena de particiones libres en orden descendente de capacidad.
Recuperar memoria
Fusión de áreas libres mediante tecnología de empalme
1) El área de recuperación es adyacente a la partición libre anterior del punto de inserción.
Fusionar dos particiones y modificar el tamaño de la entrada anterior de la tabla de particiones a la suma de las dos
2) El área de recuperación está adyacente a la partición libre después del punto de inserción.
El tamaño de la entrada de la tabla de particiones modificada es la suma de los dos
3) El área de recuperación está adyacente a las dos particiones antes y después del punto de inserción.
Modifique el tamaño de la entrada anterior de la tabla de particiones a la suma de los tres
Cancelar la siguiente entrada de la tabla de particiones
4) La zona de reciclaje no tiene tabiques libres adyacentes
Cree una nueva entrada de tabla para el área de reciclaje, complete la dirección inicial, el tamaño e inserte la cadena de partición libre
El espacio de direcciones físicas proporcionado por el sistema al usuario es el tamaño total del espacio menos la longitud de la tabla de páginas o tabla de segmentos.
Gestión de paginación
La gestión de paginación produce fragmentación interna pero no produce fragmentación externa
Un bloque en un proceso se llama página y un bloque en la memoria se llama marco de página.
La estructura de direcciones determina el tamaño del espacio de direccionamiento de la memoria virtual.
El sistema crea una tabla de páginas para cada proceso y la tabla de páginas se almacena en la memoria.
La dirección inicial de la tabla de páginas se coloca en el registro de direcciones base de la tabla de páginas.
Una vez que se determina el tamaño de la página, todas las páginas tienen el mismo tamaño (potencia de 2)
Autoridad de traducción de direcciones
Gestión de segmentación
generar fragmentación externa
Continuo dentro de un segmento, pero no es necesario que sea continuo entre segmentos
La segmentación es cuando los usuarios programan, el programa se divide en varios segmentos lógicos según la lógica.
relacionado con la estructura lógica
Enlace dinámico que facilita los programas.
Gestión de páginas de segmentos
generar fragmentación interna
El sistema crea una tabla de segmentos para el proceso y cada segmento tiene una tabla de páginas.
Enfoque segmentado para gestionar y asignar espacio de direcciones de usuario Método de paginación para administrar y asignar espacio de direcciones físicas
En realidad, un acceso requiere tres accesos a la memoria principal.
gestión de memoria virtual
característica
varias veces
El trabajo se divide varias veces y se carga en la memoria.
intercambiabilidad
Recuperar programas no utilizados y datos sin memoria
virtualidad
Ampliar lógicamente la capacidad de la memoria.
Capacidad real de la memoria virtual ≤ capacidad de la memoria capacidad de almacenamiento externo
La capacidad máxima de la memoria virtual ≤ la capacidad máxima que los bits de dirección de la computadora pueden acomodar
Implementación
1) Solicitar gestión de paginación
Requiere soporte de hardware
Memoria, memoria externa, mecanismo de interrupción, conversión de direcciones, etc.
Mecanismo de tabla de páginas
Número de página, número de bloque físico, bit de estado, campo de acceso, bit de modificación, dirección de memoria externa
Mecanismo de interrupción por fallo de página
Cuando la página a la que se accede no está en la memoria, se genera una interrupción por falla de página y se solicita al sistema que la transfiera a la memoria.
La tasa de fallas de página se ve afectada por el tamaño de la página, la cantidad de bloques físicos asignados, el algoritmo de reemplazo y la programación.
Autoridad de traducción de direcciones
Asignación de marcos de página
conjunto residente
Una colección de marcos de página asignados a un proceso.
Cuantos menos marcos de página se asignen a un proceso, más procesos residirán en la memoria principal, lo que mejorará la utilización de la CPU.
Un proceso tiene muy pocas páginas en la memoria principal y la tasa de fallas de página es relativamente alta.
Estrategia de asignación de memoria
1) Asignación fija de reposición local
Asigne una cierta cantidad de bloques físicos al proceso. Después de que ocurra una falla de página, seleccione una página de la página de memoria asignada al proceso y llámela.
2) Reemplazo global de asignación variable
Asigne una cierta cantidad de bloques físicos, que se pueden aumentar o disminuir adecuadamente Reemplazo global: seleccione un bloque de los bloques físicos libres, asígnelo al proceso y transfiera la página que falta
3) Reemplazo local de reemplazo variable
Cuando falta una página, solo este proceso puede seleccionar una página de las páginas de memoria y llamarla.
Algoritmo de carga de bloques físicos
estrategia de asignación fija
1) Algoritmo de distribución promedio
2) Distribuir proporcionalmente
Asignar proporcionalmente según el tamaño del proceso
3) Asignación de prioridades
Asignación basada en urgencia
Es hora de cargar la página.
Cargar antes de ejecutar
Llamado durante el tiempo de ejecución
algoritmo de reemplazo
1) Mejor algoritmo de reemplazo
Eliminar páginas que nunca se utilizarán o páginas que no se han utilizado durante un período de tiempo más largo
2) Algoritmo de primero en entrar, primero en salir
Se producirá una anomalía en Belady.
La cantidad de bloques físicos asignados aumenta y la cantidad de errores de página aumenta en lugar de disminuir.
3) No utilizado recientemente y durante mucho tiempo.
Requiere soporte de hardware para registros y pilas.
Debido a que necesita calcular páginas que no han sido visitadas recientemente, es costoso.
4) Algoritmo de reloj
5) Algoritmo de reloj mejorado
Bit de modificación agregado
Priorizar páginas que no han sido utilizadas o modificadas
Juicio basado en el bit de acceso A y el bit de modificación M
Jitter y conjunto de trabajo
Estar nervioso
La página que se acaba de intercambiar se volverá a intercambiar inmediatamente (las páginas se intercambian con frecuencia).
Alta tasa de errores de página
razón
Hay demasiados procesos ejecutándose simultáneamente en el sistema y muy pocos bloques físicos asignados a cada proceso.
conjunto de trabajo
Una colección de páginas a las que accederá un proceso dentro de un cierto período de tiempo.
Prevenir la inquietud
2) Solicitar gestión de segmentos
3) Solicitar gestión de página de segmento
Capítulo 4 Gestión de documentos
propiedades de archivo
nombre
tipo
creador
dueño
Ubicación
tamaño
Proteger
tiempo
El archivo es un tipo de datos abstracto, estructura de datos.
Bloque de control de archivos FCB
entrada del directorio de archivos
Estructura de datos que almacena diversa información requerida por el archivo de control.
Acceso por nombre
Contiene: información básica, información de control de acceso, información de uso.
nodo índice
Directorio de archivos en el disco
nodo de índice del disco
Cada archivo tiene un nodo de índice de disco único.
Identificador principal, tipo, permisos, dirección física, longitud, recuento de enlaces, tiempo de acceso
nodo índice de memoria
Nodos de índice almacenados en la memoria.
Cuando se abre el archivo, el nodo de índice del disco se copia al nodo de índice de la memoria.
Número de nodo, estado, recuento de acceso, número de dispositivo lógico, puntero de enlace
Operaciones de archivos
abrir y cerrar
Abierto
Llame a open para buscar el directorio según el nombre del archivo, copie los atributos del archivo especificado (incluida la ubicación física) del almacenamiento externo a la entrada de la tabla de archivos abiertos en la memoria y devuelva el número de entrada al usuario.
Almacene FCB en la tabla del directorio de archivos de memoria
cierre
Cierre de llamada, el sistema abrirá la tabla de archivos para eliminar esta entrada.
Durante la llamada de lectura, si el archivo no está en la memoria, el proceso entra en suspensión.
Protección de archivos
Protección de contraseña
La contraseña se almacena dentro del sistema y no es lo suficientemente segura.
Protección de cifrado
Evitar que roben archivos
Control de acceso
Controlar cómo los usuarios acceden a los archivos
La estructura lógica del archivo.
Archivos no estructurados (archivos de streaming)
Organizados secuencialmente en registros (colecciones ordenadas)
Hay archivos estructurados (archivos grabados)
archivo de secuencia
estructura de cuerda
Ordenado por tiempo de depósito
estructura secuencial
Ordenar por palabra clave
archivo de índice
archivo de registro de longitud fija
archivo de registro de longitud variable
búsqueda secuencial
archivo de secuencia de índice
N registros se dividen en √N grupos. Hay √N entradas en la tabla de índice y se requieren un total de √N/2 √N/2 búsquedas.
archivo directo/archivo hash
Dado el valor clave del registro o el valor clave transformado por la función hash, se determina la dirección física del registro.
La estructura física del archivo.
Asignación
asignación continua
Admite acceso secuencial/acceso aleatorio
Velocidad de acceso rápida
La eliminación repetida de archivos crea fragmentación externa
Incómodo agregar, eliminar o modificar
El campo de dirección física del archivo en la entrada del directorio del archivo incluye la dirección del primer bloque y la longitud del área de asignación del archivo.
Asignación de enlace
Método de asignación discreta
Eliminación de residuos externos
Incómodo de comprobar
enlace implícito
Sólo apto para acceso secuencial
El directorio contiene un puntero al primer bloque del archivo y un puntero al último bloque.
generar fragmentación interna
enlace explícito
Una tabla de enlaces que almacena explícitamente punteros de enlaces en la memoria se denomina tabla de asignación de archivos (FAT). Cada entrada almacena el siguiente número de bloque de disco
Solo hay una FAT en todo el disco y también es una estructura de datos.
Las entradas FAT corresponden a bloques de disco físicos uno a uno. El número especial -1 se puede usar para representar el último bloque, y se pueden usar otros números para indicar que el bloque de disco está libre y no solo registra la relación de enlace. cada bloque, pero también marca la pieza del disco libre.
asignación de índice
Admite acceso aleatorio
El acceso no es tan rápido como la asignación continua
sin escombros externos
Asignación de índice mixto
Tabla de contenido
Estructura de directorios
Estructura de directorio único
Acceso por nombre
La velocidad de búsqueda es lenta, no se permiten nombres duplicados y compartir es inconveniente
Estructura del directorio secundario
Resolvió el problema del nombre duplicado.
No se pueden clasificar archivos, falta de flexibilidad
estructura de directorio de árbol
El acceso a archivos por parte de un proceso es equivalente al directorio actual.
Es necesario acceder a los nodos intermedios paso a paso mediante el nombre de la ruta, lo que aumenta la cantidad de accesos al disco.
Estructura de directorio de gráficos acíclicos
Para archivos compartidos, solo existe un archivo real y cualquier cambio será visible para otros usuarios.
Implementación de directorio
lista lineal
Toma una lista lineal de nombres de archivos y punteros.
El uso de una estructura de cadena puede reducir el tiempo de eliminación de archivos
Búsqueda que requiere mucho tiempo
Tabla de picadillo
Encuentra rápidamente
Necesidad de evitar conflictos.
Compartición de archivos
intercambio estático
Enlace físico (basado en el nodo de índice)
La dirección física del archivo y la información de los atributos del archivo ya no se colocan en la entrada del directorio, sino en el nodo de índice.
El nodo índice también tiene un recuento, lo que indica que es compartido por varios usuarios.
Enlaces suaves (usando enlaces simbólicos)
Cree un archivo de enlace y busque el archivo según el nombre de la ruta en el archivo
Sólo el propietario del archivo tiene un puntero a su nodo de índice. Otros usuarios solo tienen la ruta de este archivo.
Cada vez que accede a un archivo, debe leer el disco varias veces, lo cual resulta costoso.
Al compartir archivos de red, solo necesita proporcionar la dirección de red de la máquina donde se encuentra el archivo y el nombre de la ruta del archivo.
intercambio dinámico
Varios usuarios operan sobre un archivo al mismo tiempo
Sistema de archivos
La estructura del sistema de archivos en la memoria externa.
formato fisico
Dividir sectores, controlar sectores defectuosos, reemplazar sectores defectuosos
Formato lógico
Partición de disco, inicialización completa del sistema de archivos de cada partición
producir
Registro de arranque maestro MBR
Determine la partición activa y lea el bloque de arranque
bloque de arranque
MBR ejecuta el programa en el bloque de arranque e inicia el sistema operativo
súper bloque
Contiene toda la información clave del sistema de archivos. Cuando el sistema de archivos se inicia por primera vez, el superbloque se lee en la memoria.
Gestión de espacio libre
Tales como: mapa de bits
i área del nodo
Los nodos de índice se almacenan continuamente y tienen el mismo tamaño.
Directorio raíz
La estructura del sistema de archivos en la memoria.
Área de usuario
descriptor de archivo/identificador de archivo
área del núcleo
caché de directorio
Tabla de archivos abiertos del sistema
sólo uno
El usuario abre la tabla de archivos
Contiene el índice de la tabla de archivos abiertos del sistema.
sistema de archivos virtuales
Proporcionar una interfaz de llamadas al sistema unificada y estándar para usuarios de nivel superior. Proteger las diferencias de implementación de sistemas de archivos específicos subyacentes
Se requiere que los archivos de nivel inferior implementen ciertas funciones.
Cada archivo abierto creará un vnode en la memoria principal, representado por una estructura de datos unificada
vnode sólo existe en la memoria principal El inodo se cargará en la memoria principal y se almacenará en la memoria externa.
Montaje del sistema de archivos (instalación)
Registre el sistema de archivos recién montado en el sistema de archivos virtual, La tabla de montaje de memoria contiene información para cada sistema de archivos.
El sistema de archivos recién montado debe proporcionar una lista de direcciones de funciones al sistema de archivos virtual.
Monte el sistema de archivos en el punto de montaje (directorio principal)
Gestión del espacio de archivos
División del espacio de almacenamiento
Divida el disco físico en volúmenes de archivos (disco lógico, volumen lógico)
Un volumen de archivo puede estar compuesto por varios discos físicos.
Inicialización del espacio de almacenamiento
Inicialización del volumen de archivos
área de directorio
Almacena información del directorio de archivos FCB, información utilizada para la gestión del espacio de almacenamiento en disco.
área de archivo
Almacenar datos de archivos
administracion del espacio
método de lista libre
Pertenece al método de asignación continua.
Asignar espacio de almacenamiento contiguo a archivos
Se puede utilizar la primera adaptación, la mejor adaptación y la peor adaptación.
El reciclaje es lo mismo que la asignación dinámica.
método de lista libre
Cadena de discos libre
Vincular bloques de disco libres como una lista vinculada
El bloque de disco libre almacena un puntero al siguiente bloque de disco libre.
distribuir
Encuentre los bloques de disco que cumplan las condiciones mediante el algoritmo de adaptación
Reciclar
Cuelga los bloques de discos reciclados hasta el final de la cadena.
La asignación y el reciclaje son simples pero ineficientes
cadena de extensión libre
Varios bloques de disco libres consecutivos constituyen un área de disco libre
La longitud de la extensión se registra en el primer bloque de disco libre de la extensión y es un puntero a la siguiente extensión.
distribuir
Generalmente primera adaptación
Reciclar
Fusionar el área de recuperación con extensiones libres adyacentes
La asignación y el reciclaje son problemáticos, pero eficientes
método de mapa de bits
Utilice bits binarios para indicar si se utiliza un bloque de disco
Número de disco b = n×i j
n representa la longitud de la palabra
i representa el tamaño de fuente (número de línea)
yo = b/n
eliminar
j representa el número de bit (número de columna)
j = b%n
tomar el resto
Aplicable a asignaciones continuas y discretas
Método de vinculación de grupos
El bloque de cadena de grupo (superbloque) se utiliza para almacenar el número de bloque del disco libre y el número del siguiente grupo de bloques de disco libre.
El número de bloque del bloque de disco libre es el primer número de bloque de disco del bloque de grupo (extensión)
El número de un grupo es limitado, por ejemplo: sólo se permiten 100 bloques de disco libres para formar un grupo.
Si no hay ningún bloque de disco libre para el siguiente grupo, el número de bloque se establece en -1
distribuir
Asigne desde el último bloque de disco y cambie la cantidad de bloques de disco libres en el superbloque
Si un determinado bloque almacena el siguiente grupo de información, la información debe copiarse al superbloque y luego asignarse.
Reciclar
Si el superbloque no está lleno
Luego inserte el bloque reciclado directamente después del superbloque
Si el superbloque está lleno
Método de inserción de encabezado similar a una lista vinculada
disco
estructura
disco
pista
sector
es un bloque de disco
Cada sector tiene la misma capacidad y el sector más interno tiene la mayor densidad.
Disco
Cada superficie del disco corresponde a un cabezal magnético.
cilindro
Las pistas con la misma posición relativa en todos los discos forman un cilindro.
La dirección del disco está representada por (número de cilindro-número de disco-número de sector)
Algoritmo de programación de disco
El tiempo necesario para leer y escribir.
tiempo de búsqueda
Iniciar el brazo de la cabeza.
Tiempo tomado
cabeza móvil
Se necesitan m para abarcar una vía y es necesario abarcar n vías.
=sm×n
Tiempo de transmisión
Tiempo de lectura/escritura
La velocidad de rotación es r, el número de bytes leídos y escritos es b y el número de bytes en cada pista es N
= b/(r norte)
demora
La velocidad del disco es r.
= 1/(2r)
Algoritmo de programación de disco
Afectará directamente el tiempo de búsqueda.
Primero en llegar, primero en ser atendido
El tiempo de búsqueda más corto primero
Puede causar hambre
Algoritmo de escaneo
El cabezal magnético solo puede moverse en la dirección opuesta cuando se mueve hacia la pista más interna o más externa.
Incluso si la capa más externa o más interna no procesa la solicitud, aún debe moverse aquí antes de comenzar a moverse en la dirección opuesta.
No causará hambre
algoritmo de mirada
Mejoras en el algoritmo de escaneo
Si no hay otras solicitudes en la dirección del movimiento de la cabeza, puede cambiar la dirección directamente.
Escaneo de ciclo (despacho de ascensor)
Resuelva el problema de la respuesta desigual del algoritmo de escaneo en varias posiciones
No responda a ninguna solicitud al regresar y muévase directamente al final
Solo cambie de dirección después de moverse hasta el borde (igual que el algoritmo de escaneo)
algoritmo de mirada c
Mejoras en el escaneo de bucles
No es necesario desplazarse hasta el borde para cambiar de dirección. La dirección del movimiento se puede cambiar sin otras solicitudes.
Formas de reducir la latencia
Numeración alternativa
Mantenga los sectores lógicamente adyacentes físicamente separados
Nombres fuera de lugar
Deje que los sectores del mismo sector estén escalonados (por ejemplo, el sector 0 y el sector 1 están separados por sectores con otros números)
Diseño de estructura de direcciones.
Número de cilindro-número de disco-número de sector
Reducción del tiempo de movimiento de la cabeza.
Gestión de discos
Inicialización del disco
formato fisico
Divida cada pista del disco en sectores
Dividir
Particionar el disco, cada partición consta de varios cilindros.
Formato lógico
Crear sistema de archivos
bloque de arranque
Se requiere una serie de trabajos de inicialización cuando se enciende la computadora, y el trabajo de inicialización se completa ejecutando el programa del cargador de arranque.
El gestor de arranque completo se almacena en el bloque de inicio (bloque de arranque) del disco, que se encuentra en una ubicación fija del disco.
Procesamiento de bloques incorrectos
Los bloques defectuosos son fallas de hardware
Para disco simple
Los bloques defectuosos son opacos para el sistema operativo (se marcarán)
Para discos complejos
repuestos del sector
Para discos complejos, el controlador de disco mantendrá una lista vinculada de bloques defectuosos, la inicializará durante el formateo físico y utilizará sectores de repuesto para reemplazar los bloques defectuosos.
Unidad de estado sólido SSD
principio
Basado en memoria flash Pertenece a la ROM borrable eléctricamente (EEPROM)
composición
capa de traducción flash
Número de bloque lógico de traducción
Encuentra la página correspondiente
medios de almacenamiento
Múltiples chips de memoria flash
Cada chip contiene múltiples bloques.
Cada bloque contiene varias páginas.
Rendimiento de lectura y escritura
en paginas
en bloques
Admite acceso aleatorio
Velocidad de lectura rápida Velocidad de escritura lenta
Comparación con el disco duro mecánico
SSD lee y escribe más rápido que los discos duros mecánicos y tiene acceso aleatorio
SSD es silencioso y silencioso
Un determinado bloque de SSD se dañará después de borrarlo varias veces. Los sectores mecánicos del disco duro no se dañarán debido a una escritura intensa
Nivelación de desgaste
operaciones de borrado promedio entre bloques
Nivelación dinámica del desgaste
Al escribir datos, dé prioridad a los bloques de memoria flash con menos borrados acumulados.
nivelación de desgaste estático
El bloque antiguo es responsable de las operaciones de lectura. El nuevo bloque es responsable de las operaciones de escritura.
Lo estático es mejor que lo dinámico
Capítulo 5 Gestión de E/S
Clasificación de equipos
dispositivo de bloqueo
El intercambio de datos es en bloques.
Alta tasa de transmisión
dispositivo de personaje
El intercambio de datos está en caracteres.
La tasa de transferencia es baja y no direccionable
dispositivo de baja velocidad
Ratón y teclado
equipo de velocidad media
impresora
equipo de alta velocidad
unidad de disco, unidad de CD
interfaz io
controlador de dispositivo
Ubicado entre la CPU y el dispositivo.
Interfaz entre el controlador del dispositivo y la CPU
Contiene líneas de datos, líneas de dirección, líneas de control.
Interfaz entre el controlador del dispositivo y el dispositivo
Hay una o más interfaces de dispositivo en el controlador.
lógica io
Realizar el control de los equipos.
Funciones del controlador del dispositivo
Acepta comandos para identificar la CPU.
el intercambio de datos
Identificar e informar el estado del dispositivo
reconocimiento de dirección
buffer de datos
control de errores
puerto io
Registros en el controlador del dispositivo a los que la CPU puede acceder directamente
En otras palabras, varios puertos io forman una interfaz io.
registro de datos
registro de estado
registro de control
Método de comunicación entre CPU y puerto io
Direccionamiento independiente
Asigne un número de puerto a cada puerto y solo el sistema operativo podrá acceder al puerto mediante instrucciones especiales de io
Direccionamiento unificado
A cada puerto se le asigna una dirección de memoria única
método de control de io
control directo del programa
La CPU verifica el estado del periférico en un bucle hasta que determina que la palabra está en el registro de datos del controlador io.
Modo impulsado por interrupción
Permitir que los dispositivos io interrumpan activamente el funcionamiento de la CPU y soliciten servicios, liberando así la CPU
Interrumpa la CPU cada vez que sea necesario transferir datos
modo DMA
Establecer una ruta directa de intercambio de datos entre dispositivos io y memoria
Interrumpe la CPU al final del lote solicitado de transferencia de datos
Cuando la CPU emite una instrucción, solo puede leer o escribir bloques de datos consecutivos.
Modo de control de canal
Un procesador específicamente responsable de la entrada y la salida.
es una pieza de hardware
La CPU emite un comando io, que indica la ubicación del programa del canal y el dispositivo io para su ejecución.
El canal ejecuta el programa del canal en memoria.
Los canales comparten memoria con la CPU.
jerarquía del software io
Software io de usuario
Implementar tecnología de cola
tecnología de dispositivos virtuales
Mejorar la utilización de equipos exclusivos.
Convertir un dispositivo exclusivo en un dispositivo compartido
Alivia la contradicción entre la alta velocidad de la CPU y la baja velocidad del dispositivo io
a través de software
Requiere soporte técnico de programación múltiple
El sistema abre dos zonas en la zona fija del disco, pozos de entrada y salida.
Abra dos buffers en la memoria: buffer de entrada y buffer de salida
Impresora compartida
Dispositivo exclusivo
Un dispositivo que permite el uso en serie por procesos individuales.
Usar asignación estática
Dispositivo compartido
Un dispositivo que permite que múltiples procesos lo utilicen juntos
Uso simultáneo en un sentido macro Microscópicamente, todavía se alterna
Usar asignación dinámica
Principios de impresión compartidos
El sistema coloca las solicitudes de impresión requeridas por cada usuario en el pozo de entrada del disco y utiliza la diferencia de velocidad entre el disco, la memoria y la CPU para lograr una alternancia microscópica y macroscópica simultánea.
Software independiente del dispositivo (software independiente del dispositivo)
independencia
El dispositivo con el que el usuario está programando no tiene nada que ver con el dispositivo real.
Función
Administrar la tabla de dispositivos lógicos
Configure solo una tabla de dispositivos lógicos del sistema LUT
Configure la tabla de dispositivos lógicos LUT para cada usuario
control de errores
Asignación y reciclaje de equipos.
Factores considerados en la asignación
Propiedades intrínsecas del dispositivo
Algoritmo de asignación de dispositivos
Seguridad de asignación de dispositivos
Método de distribución seguro
Después de que el proceso emite una solicitud de io, ingresa al estado de bloqueo y no se libera hasta que se completa la operación de io.
Los dispositivos CPU e io se convierten en trabajo en serie
Método de asignación inseguro
Después de que el proceso emite una solicitud de io, continúa ejecutándose y aún puede emitir solicitudes de io. Solo entrará en bloqueo cuando la solicitud de io no pueda satisfacerse.
posible punto muerto
estrategia de asignación
asignación estática
Asignar todos los recursos necesarios desde el principio
asignación dinámica
Continuar la asignación según sea necesario durante la ejecución del proceso.
Estructura de datos de asignación de dispositivos
Relación canal, controlador, dispositivo
Tabla de control de dispositivos DCT
Representa un determinado dispositivo y el contenido de la entrada de la tabla es cada atributo del dispositivo.
Mesa de control del controlador COCT
Mesa de control de canales CHCT
Cada canal corresponde a un CHCT
Tabla de dispositivos del sistema SDT
Incluyendo todos los dispositivos
Mejoras en los pasos de la tarea
Nombre del dispositivo lógico proporcionado por el usuario
Mediante el mapeo de nombres de dispositivos lógicos y nombres de dispositivos físicos (tabla de dispositivos lógicos LUT)
Las entradas LUT incluyen nombres de dispositivos lógicos, nombres de dispositivos físicos y direcciones de entrada de controladores de dispositivos.
Gestión de búfer
Objetivo
Resuelva el problema de la acumulación de datos causado por la velocidad de entrada y salida más lenta que la velocidad de procesamiento de la CPU.
búfer único
Calcular el tiempo de procesamiento de cada dato.
Suponga un estado inicial y calcule el tiempo que lleva alcanzar este estado la próxima vez.
El tiempo de entrada al búfer es T, el tiempo de transferencia del búfer al área de trabajo es M y el tiempo de procesamiento de los datos es C
Estado inicial: área de trabajo llena, buffer vacío
Tiempo necesario para procesar cada bloque de datos: MAX (C, T) M
La fórmula es de referencia, se analizan problemas específicos en detalle y se utiliza un diagrama de Gantt.
doble buffer
El área de trabajo está vacía, un búfer está vacío y el otro está lleno.
Tiempo necesario para procesar cada bloque de datos: MAX (C M, T)
grupo de buffer
Habilite procesos simultáneos para realizar entradas y salidas de manera eficiente
Implementar la programación de io
Utilice algún algoritmo para determinar un buen orden para procesar solicitudes de io
Protección del dispositivo
Los dispositivos se ven como archivos especiales, a cada archivo se le asigna FCB y se establecen permisos
controlador de dispositivo
Control específico sobre dispositivos de hardware.
Calcule el número de cilindro, número de cabeza, número de sector, etc. del disco donde se encuentran los datos.
Diferentes dispositivos requieren diferentes controladores
API de io
interfaz de dispositivo de caracteres
obtener/poner llamada, leer y escribir un carácter en el dispositivo de caracteres
bloquear la interfaz del dispositivo
llamada al sistema de lectura/escritura: lectura y escritura de caracteres buscar: Modificar
Interfaz del dispositivo de red
interfaz de toma de red llamada al sistema de socket: cree un socket de red y especifique el protocolo de red enlazar: vincula el socket al puerto local conectar: conecta el enchufe a la dirección remota lectura/escritura: lee y escribe datos desde el socket
Bloqueo/no bloqueo de io
bloqueo
El programa emite una llamada al sistema io y el proceso se bloquea y espera.
io sin bloqueo
El programa emite una llamada al sistema io, y la llamada al sistema puede regresar rápidamente y el proceso no necesita bloquearse ni esperar.