Sistema operativo Capítulo 5 Tareas

Opción multiple

1. ¿Cuáles de las siguientes afirmaciones sobre recursos críticos y regiones críticas son correctas ()?

A. El recurso crítico se refiere al recurso que puede ser utilizado por múltiples procesos al mismo tiempo, y la sección crítica se refiere al programa que accede al recurso crítico.
B. El recurso crítico se refiere al recurso que solo puede ser utilizado por un proceso a la vez, y la sección crítica se refiere al programa que accede al recurso crítico.
C. El recurso crítico se refiere al recurso utilizado para compartir, la sección crítica se refiere a un área compartida
D. El recurso crítico se refiere al recurso que no se puede compartir y la sección crítica se refiere a un recurso que no se puede compartir

2. ¿Cuáles de las siguientes afirmaciones sobre las operaciones P y V son incorrectas ()?

A. Si S corresponde a la cantidad de recursos, S> 0 significa que hay recursos disponibles, S = 0 significa que no hay recursos disponibles
B. P significa solicitar un recurso, V significa liberar un recurso
C.Si S corresponde al número de recursos, cuando S <0, la operación V (S) provocará un error para terminar el programa
D. Si S corresponde al número de recursos, cuando S <0, el valor absoluto de S representa el número de procesos que esperan el recurso.

(Libro P154)
Inserte la descripción de la imagen aquí
S es un semáforo Cuando se realiza una operación V, cuando el valor del semáforo es menor o igual a 0, se debe liberar un proceso en espera del semáforo.
Las operaciones P y V son un par de operaciones atómicas. La función de la operación P es solicitar recursos, es decir, restar 1 del número de recursos y luego determinar si el número de recursos es menor que 0. Si es menor que 0, se autobloqueará en la lista de recursos actual.
La función de la operación V es devolver recursos, agregar uno a la cantidad de recursos solicitados y luego determinar si la cantidad de recursos es menor o igual a 0.Si es menor o igual a 0, significa que un proceso está bloqueado en el recurso actual y activa un proceso en la lista de recursos actual.

Opción multiple

3. [Opción múltiple] ¿Cuáles de las siguientes afirmaciones sobre los métodos básicos de comunicación son correctas ()?

A. La comunicación de bajo nivel generalmente solo transmite uno o unos pocos bytes de información para lograr el efecto de controlar la velocidad de ejecución del proceso (como la operación PV)
B. La memoria compartida generalmente asigna una parte del espacio como área de almacenamiento compartido en la memoria. El proceso que necesita comunicarse lo adjunta a su propio espacio de direcciones y lo cancela cuando no es necesario.
C.La comunicación de alto nivel necesita transmitir una gran cantidad de datos, el propósito no es controlar la velocidad de ejecución del proceso, sino intercambiar información
D. El paso de mensajes consiste en intercambiar datos entre procesos en unidades de mensajes.
E. Hay muchos métodos de comunicación de procesos de alto nivel, que se pueden agrupar aproximadamente en tres categorías: memoria compartida, archivos de canalización y transmisión de mensajes.
F. Un archivo de canalización es un archivo abierto que conecta dos comandos: un comando escribe datos en el archivo y es el escritor; el otro comando lee datos del archivo y es el lector.
G. La comunicación del proceso se divide en comunicación de alto nivel y comunicación de bajo nivel según la cantidad de información intercambiada

Preguntas subjetivas

4. Escriba el programa correspondiente para describir el gráfico predecesor que se muestra a continuación.
Inserte la descripción de la imagen aquí

Suponga que las 7 cantidades de señales de sincronización f2, f3, f4, f5, f6, f7 y f8, respectivamente, indican si los procesos S2, S3, S4, S5, S6, S7 y S8 pueden comenzar la ejecución, y sus valores iniciales son todos 0.

semáforo f2 = f3 = f4 = f5 = f6 = f7 = f8 = 0 ;

principal ( ){ 

  empezar

  S1 ();

  S2 ();

  S3 ();

  S4 ();

  S5 ();

  S6 ();

  S7 ();

  S8 ();

  coend  

}

La forma de declaración de estos 8 procesos es la siguiente:
Inserte la descripción de la imagen aquí

Suplemento de conocimientos (Libro P155):
Inserte la descripción de la imagen aquí

5. Una tienda de mascotas ofrece 1 lugar de comedor para mascotas y 10 lugares de espera para mascotas. Suponga que un cliente solo trae una mascota a la tienda cada vez. Si el espacio de espera está disponible, los clientes en la tienda pueden recoger el número de la máquina de recolección de números y esperar el servicio La máquina de recolección de números solo permite que un cliente lo use a la vez. Cuando el espacio del comedor para mascotas está libre, el camarero selecciona un cliente llamando al número y le permite traer a su mascota a la comida.

El proceso de actividad de camarero y cliente se describe a continuación:

cobegin
{
  process顾客i
  {
    从取号机获得一个号码;

    等待叫号;

    进入宠物用餐位;
  }

  process服务员
  {
    while(TRUE)
    {
      叫号;
      
      带顾客去宠物用餐位;
    }
  }
}coend

Agregue el semáforo necesario y las operaciones P y V para lograr la exclusión mutua y la sincronización del proceso anterior.

Se requiere escribir un proceso completo, explicar el propósito (significado) del semáforo y asignar valores iniciales.

semaphore mutex=1; //互斥使用取号机

semaphore empty=10; //空闲等待位的数量

semaphore full=0; //已占等待位的数量

semaphore service=0; //等待叫号

cobegin

{

  process顾客i

  {

    P(empty);

    P(mutex);

    从取号机获得一个号;

    V(mutex);

    V(full);

    P(service); //等待叫号

    进入宠物用餐位;

  }



  process服务员

  {

    while(TRUE)

    {

      P(full);

      V(empty);

      带顾客去宠物用餐位;

      V(service); //叫号

    }

  }

}coend

Suplemento de conocimientos (P156):
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Jessieeeeeee/article/details/109019376
Recomendado
Clasificación