Red de conocimiento informático - Aprendizaje de código fuente - ¿Cuál es el papel de los semáforos en las operaciones fotovoltaicas del sistema operativo?

¿Cuál es el papel de los semáforos en las operaciones fotovoltaicas del sistema operativo?

En primer lugar, debemos aclarar el significado de la operación PV: la operación PV consta de la primitiva de operación P y la primitiva de operación V (la primitiva es un proceso ininterrumpido) y opera el semáforo. La definición específica es la siguiente:

P (s): ①El valor del semáforo S es menos 1, es decir, S = S-1;

2 Si S gt= 0, el proceso continúa; de lo contrario, el proceso se coloca en estado de espera y se pone en cola.

V(s): ①Suma el valor del semáforo S a 1, es decir, S = S 1;

2 Si S gt0, el proceso continúa, en caso contrario, espera en el; cola de liberación El primer proceso del semáforo.

La importancia de la operación PV: utilizamos semáforos y operaciones PV para lograr la sincronización de procesos y la exclusión mutua. Las operaciones fotovoltaicas pertenecen a la comunicación de procesos de bajo nivel.

¿Qué es un semáforo? La estructura de datos de un semáforo es un valor y un puntero que apunta al siguiente proceso que espera el semáforo. El valor del semáforo está relacionado con el uso del recurso correspondiente. Cuando su valor es mayor que 0, indica la cantidad de recursos disponibles actualmente; cuando su valor es menor que 0, su valor absoluto indica la cantidad de procesos en espera de utilizar el recurso. Tenga en cuenta que el valor de un semáforo solo se puede cambiar mediante operaciones PV.

En términos generales, el semáforo s >: =0, s representa el número de recursos disponibles. Realizar una operación p significa solicitar la asignación de recursos unitarios, por lo que el valor de s se reduce en 1 cuando S lt0, significa que no hay recursos disponibles y el solicitante debe esperar a que otros procesos liberen estos recursos antes de que puedan ejecutarse; . Realizar la operación V significa liberar una unidad de recurso, por lo que el valor de S se suma a 1 si s =

El modelo general para realizar la exclusión mutua del proceso mediante operación de semáforo y PV es:

>Proceso P1 Proceso P2... Proceso Pn

...... ...... ......

p(S); ); p(S);

área clave;área clave;

㈤(S);㈤(S);㈤(S);

…………………………

El semáforo S se utiliza para exclusión mutua y su valor inicial es 1.

Al utilizar operaciones PV para implementar procesos de exclusión mutua, debe prestar atención a lo siguiente:

(1) En cada programa, las operaciones P y V mutuamente excluyentes deben aparecer en pares. Primero, la operación P ingresa a la sección crítica y luego la operación V sale de la sección crítica. Si hay varias ramas, verifique su emparejamiento.

(2) Las operaciones P y V deben estar cerca del principio y del final de la sección crítica respectivamente. El código en la sección crítica debe ser lo más corto posible y no debe ocurrir ningún bucle infinito.

(3) El valor inicial de un semáforo mutuamente excluyente es generalmente 1.

Utilice la operación PV y el semáforo para lograr la sincronización del proceso

La operación PV es uno de los mecanismos de sincronización típicos. Asociar el mensaje con el semáforo. Cuando el valor del semáforo es 0, significa que el mensaje esperado no se genera; cuando el valor del semáforo no es 0, significa que el mensaje esperado ya existe. Cuando se utiliza la operación PV para lograr la sincronización del proceso, se llama a la operación P para probar si el mensaje ha llegado y se llama a la operación V para enviar el mensaje.

Al utilizar operaciones PV para lograr la sincronización de procesos, debe prestar atención a:

(1) Analizar las restricciones entre procesos y determinar el tipo de semáforo. Mientras se mantiene la relación de sincronización correcta entre procesos, qué proceso se ejecuta primero, qué proceso se ejecuta más tarde y qué recursos (semáforos) se utilizan para coordinarse entre sí, decidiendo así qué semáforos configurar.

(2) El valor inicial del semáforo está relacionado con la cantidad de recursos correspondientes y también con la ubicación donde aparecen las operaciones P y V en el código del programa.

(3) Las operaciones P y V del mismo semáforo deben aparecer en pares, pero en códigos de proceso diferentes.