¿Cuál es el significado físico de la operación P y la operación V en la operación de exclusión mutua entre dos procesos?
Comparación entre ejecución secuencial y ejecución concurrente de programas
Ejecución secuencial
Ejecución paralela
Ejecución secuencial de programas
Ejecución intermitente, se ejecutan varios programas de forma "parada y continuada".
El programa ha sido cerrado.
El programa perdió su cierre.
Recursos exclusivos
Recursos compartidos
Tener capacidades actuales.
Pérdida de reproducibilidad
Tienen restricciones directas y simples.
lEl concepto de programación multicanal y sus ventajas
1. Programación multicanal: ejecutar dos o más programas al mismo tiempo en un ordenador.
2. Características de la multiprogramación: múltiples programas comparten recursos del sistema y se ejecutan al mismo tiempo.
3. Ventajas de la multiprogramación: mejora la utilización de recursos y aumenta el rendimiento del sistema.
Qué es el proceso, la diferencia y conexión entre proceso y programa
1 Introducción al proceso:
Debido a las características de los programas multicanal, los programas tienen. paralelismo y limitaciones de naturaleza y dinámica, lo que dificulta describir y reflejar la situación en el sistema.
2. Proceso: el proceso de ejecución del programa en un entorno concurrente.
3. La principal diferencia entre proceso y procedimiento:
1) El procedimiento es permanente y el proceso es temporal.
2) El programa es estático y el proceso es dinámico.
3) El proceso consta de tres partes.
Programa
Datos
Bloque de control de proceso (estructura de datos que describe las actividades del proceso)
4) El proceso y el programa no son uno a uno -una correspondencia de.
Un programa puede corresponder a múltiples procesos, es decir, múltiples procesos pueden ejecutar el mismo programa.
Un proceso puede ejecutar uno o varios programas.
4. Analogía entre procedimiento y proceso
Pasos del proceso
Partituras preliminares de canto o instrumentos musicales.
Actuación o Performance
Drama
Cumplimiento
Menú
Chef
5 .Características del proceso: dinámico, concurrencia, programación, asíncrono y estructurado.
lEl estado básico del proceso y su transformación
1. El estado básico del proceso:
1) En ejecución: el proceso está ocupando la CPU;
2) Estado listo: El proceso tiene condiciones de ejecución pero aún no ha ocupado la CPU
3) Estado bloqueado: El proceso no puede disfrutar de la CPU porque está esperando un evento; .
2. Transición del estado del proceso:
l¿Cuáles son los componentes del proceso y las funciones del bloque de control del proceso?
1. Composición del proceso: Consta de tres partes: programa, conjunto de datos y PCB.
2. El papel del bloque de control de procesos: el bloque de control de procesos es la parte más crítica de la composición del proceso.
1) Cada proceso tiene un PCB único.
2) El sistema operativo controla y gestiona los procesos basados en la PCB.
3) La dinámica y concurrencia del proceso está representada por PCB.
4) El PCB es el único símbolo de la existencia del proceso.
Modo de organización de PCB L
Cola lineal, tabla de enlaces, tabla de índice
Comandos de gestión de procesos L UNIX:
Gestión de procesos L UNIX Comando:
1.PS-Mostrar estado del proceso
Función: Verificar el estado actual del proceso en el sistema.
Por ejemplo
$ ps muestra información básica sobre el proceso relacionado con la interrupción de control
2. Suspender: deja que el proceso duerma
Función: Pausar la ejecución del proceso por un período de tiempo, la unidad del parámetro es segundos.
Por ejemplo
$ sleep 60 esperará 60 segundos y luego volverá al mensaje $.
3. Carácter de comando amp-background
Función: Agregar al final de la línea de comando. carácter, este proceso de comando se ejecutará en segundo plano.
Por ejemplo
$ ls–l/usr amp; crea un proceso que muestra comandos de directorio. Este proceso se ejecuta en segundo plano, es decir, solo se puede ejecutar cuando no hay primer plano. El proceso se está ejecutando.
4. Espere: espere a que finalice el proceso en segundo plano.
Función: Esperar a que finalice el proceso en segundo plano.
Por ejemplo
$ wait 2080 espera a que finalice el proceso en segundo plano con PID 2080.
5. Terminar - Finalizar proceso
Función: Finalizar la ejecución de un proceso.
Por ejemplo (en modo superusuario)
# kill 678 detiene el proceso con PID 678.
6. Muy bien - establecer prioridad
Función: Es ejecutar un comando con diferentes prioridades.
Por ejemplo
Los usuarios comunes sólo pueden bajar la prioridad:
$ nice–n 10cc f 1. cAl ejecutar el comando cc f1.c, el nice El valor es 30 (es decir, 20 10).
El superusuario (root) puede aumentar la prioridad del proceso (es decir, el valor del incremento puede ser un número negativo no menor a -20).
# nice -n -10 vi abc El valor nice de ejecutar vi abc (comando de edición) es 10 (es decir, 20-10).
l Sincronización de procesos y exclusión mutua
1. Sincronización: se refiere a la interacción directa entre procesos cuando completan una tarea de manera conjunta.
2. Exclusión mutua: El acceso exclusivo se refiere a la competencia por el mismo recurso físico y la restricción mutua.
¿Cuáles son los recursos clave y las áreas clave?
1. Recursos críticos: Recursos que solo pueden ser utilizados por un proceso a la vez.
2. Área crítica: programa que accede a recursos críticos en cada proceso.
3. Criterios para la entrada mutuamente excluyente al área crítica:
1) Si varios procesos solicitan ingresar al área crítica inactiva, solo se permite ingresar a un proceso a la vez.
2) En cualquier momento no puede haber más de un proceso en el área crítica. Si un proceso existente ingresa a su propia sección crítica, todos los demás procesos que intenten ingresar a la sección crítica deben esperar.
3) El proceso que ingresa a la sección crítica debe salir en un tiempo limitado para que otros procesos puedan ingresar a su sección crítica a tiempo.
4) Si el proceso no puede ingresar a su propia sección crítica, debe ceder la CPU para evitar que el proceso esté "ocupado".
l Semáforo
1. Definición de semáforo:
Semaphore (semáforo) =
2. Significado físico de semáforo:
p>
Mayor que 0: Indica el número de recursos disponibles actualmente.
1) El valor de la señal
es menor que 0: su valor absoluto indica el número de procesos esperando para utilizar el recurso.
2) El valor inicial del semáforo es una variable entera no negativa que representa el número de recursos.
3) La amplitud de la señal es variable, pero sólo se puede cambiar mediante operaciones P y V.
Primitivas de operación
1. Primitivas de operación:
1) Cuando P se opera una vez, el valor de S se reduce en 1, es decir, S = S-1 (solicitud de asignación de un recurso);
2) Si S ≥ 0, el proceso continúa ejecutándose.
Si s <0 significa que no hay recurso, el estado de; el proceso se establece en el estado de bloqueo y la PCB correspondiente se adjunta al final de la cola del semáforo, el procesador deja de esperar (hasta que otro proceso realiza una operación V (S)).
2. Primitiva de operación V (espera holandesa) V(S):
1) V opera una vez, el valor de S se suma a 1, es decir, S = S 1. (liberar una unidad de recurso);
2) Si s > 0, significa que hay recursos, entonces el proceso continúa ejecutándose;
Si S≤0, el proceso correspondiente a se libera la primera PCB en la cola del semáforo (el estado de bloqueo cambia al estado listo) y el proceso que realiza la operación V continúa ejecutándose.
Implementación de sincronización simple y exclusión mutua entre procesos L
1. Modelo general de exclusión mutua de primitivas P y V:
Convertir el mutex al valor inicial. se establece en 1.
2. Un ejemplo sencillo de sincronización de operaciones primitivas P y V.
La relación entre proveedores y usuarios que utilizan buffers es la siguiente:
El buffer S1 está vacío (0 significa no vacío, 1 significa vacío) y el valor inicial es s 1 = 0;
Si el búfer S2 está lleno (0 significa no satisfecho, 1 significa lleno), el valor inicial S2 = 0;
3. del sistema operativo)
Semáforo mutuamente excluyente, el valor inicial es 1; el número de búferes llenos, el valor inicial es 0, el número de búferes vacíos, el valor inicial es n;
4. Ejemplo de aplicación
[Ejemplo 1] Supongamos que solo hay una impresora en el sistema y que todos los programas de tres usuarios utilizarán la impresora para generar resultados de cálculo cuando se ejecuten. Deje que cada programa de usuario corresponda a un proceso. P: ¿Cuáles son las limitaciones entre estos tres procesos? Utilice las operaciones P y V para escribir el algoritmo para utilizar la impresora mediante estos procesos.
[Solución]
Debido a que la impresora es un recurso crítico, los tres procesos solo pueden usar esta impresora de manera mutuamente excluyente. Suponga que los tres procesos son PA, PB y PC, y que el valor inicial del mutex es 1. El proceso de ejecución es el siguiente:
[Ejemplo 2] ¿Es correcto el algoritmo para juzgar los siguientes problemas de sincronización? Si existen errores, indique los motivos y corríjalos.
1) Deje que dos procesos A y B compartan un búfer Q, A escribe información en Q y B lee información de Q. El diagrama de bloques del algoritmo se muestra en la figura.
Nota: El valor inicial del semáforo S es 0.
[Solución] Este algoritmo es incorrecto. Debido a que los dos procesos A y B comparten un búfer Q, si A se ejecuta primero y tiene suficiente información, la información en el búfer Q se borrará más tarde, lo que resultará en una pérdida de información y B no podrá leer completamente de Q. Información, la corrección El método es el siguiente:
Los procesos A y B usan el búfer Q sincrónicamente. Se deben configurar dos semáforos:
Vacío significa que el búfer q está vacío y el valor inicial es 1; Lleno. indica que el búfer Q está lleno y el valor inicial es 0.
El diagrama de bloques del algoritmo es el siguiente:
2) Supongamos que A y B son dos procesos concurrentes y comparten un recurso clave. En la figura se muestra el diagrama de bloques del algoritmo de su sección crítica.
[Solución] Este algoritmo es incorrecto. Debido a que dos procesos A y B se ejecutan simultáneamente y comparten un recurso clave, A y B deben usar el recurso clave de forma mutuamente excluyente, es decir, solo un proceso puede ingresar al recurso clave en un momento determinado y no existe una relación de tiempo.
Algoritmo de corrección: los procesos A y B deben ser mutuamente excluyentes para ingresar a la sección crítica y establecer un mutex de semáforo con un valor inicial de 1.
[Ejemplo 2] Se tiene una computadora con dos canales de E/S, que están conectados a una máquina de entrada de tarjetas y a una impresora respectivamente. La máquina de tarjetas introduce una pila de tarjetas en la memoria intermedia B1 una por una. Después del procesamiento, se mueve a la memoria intermedia B2 y se imprime en la impresora. Pregunta:
1) ¿Cuántos procesos se deben configurar en el sistema para completar esta tarea? ¿Cuál es su trabajo?
2) ¿Cuáles son las limitaciones mutuas entre estos procesos?
3) Utilice operaciones P y V para escribir el algoritmo de sincronización de estos procesos.
[Solución]
1) El sistema puede configurar tres procesos para completar esta tarea: el proceso de lectura es responsable de leer la información de la tarjeta desde la máquina de entrada de tarjetas e ingresarla en el búfer. b 1; El proceso Obtener es responsable de extraer la información del búfer B1, procesarla y luego enviar el resultado al búfer B2; el proceso de impresión es responsable de obtener la información del búfer B2 e imprimir la salida en la impresora.
2) Proceso de operación:
El proceso de lectura se ve afectado por el proceso de adquisición. Una vez que el búfer B1 se llena con información, el proceso de lectura no puede leer la información hasta que el proceso de obtención tome toda la información.
El proceso Obtener está limitado por el proceso de lectura y el proceso de impresión: el proceso Obtener solo puede tomar información del búfer B1 cuando está lleno, y el proceso Obtener solo puede enviar los resultados del procesamiento al B2. búfer cuando está vacío;
El proceso de impresión está restringido por el proceso Obtener. Solo después de que el búfer B2 esté lleno, el proceso de impresión puede extraer la información para imprimir.
3) El significado y el valor inicial del semáforo:
B1 está lleno - el búfer B1 está lleno y el valor inicial es 0.
B1 vacío: el búfer B1 está vacío y el valor inicial es 0.
B2 full-buffer B2 está lleno, el valor inicial es 0.
B2 vacío-El búfer B2 está vacío y el valor inicial es 0.
4) El diagrama de bloques de operación es el siguiente:
l maneja comunicación simple
Clasificación
Mecanismo de comunicación de bajo nivel
p>
Organización de Comunicación Avanzada
Características
La cantidad de información transmitida es muy limitada.
Baja eficiencia comunicativa
Intercambia grandes cantidades de información de forma cómoda y eficaz.
Aplicación de aplicación
Mecanismo de sincronización de exclusión mutua
Memoria compartida
Transferencia de información
Archivo de canalización