logo

Crowdly

Browser

Add to Chrome

SISTEMAS OPERATIVOS

Looking for SISTEMAS OPERATIVOS test answers and solutions? Browse our comprehensive collection of verified answers for SISTEMAS OPERATIVOS at moodle.uam.es.

Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!

Dado el siguiente código C, ¿qué sucede si se le envía al proceso la señal SIGUSR1?

#include <signal.h>

#include <stdio.h>

#include <stdlib.h>

#include <sys/types.h>

#include <unistd.h>

int main(void) {

sigset_t set, oset;

/* Mask to block signals SIGUSR1 and SIGUSR2. */

sigemptyset(&set);

sigaddset(&set, SIGUSR1);

sigaddset(&set, SIGUSR2);

/* Blocking of signals SIGUSR1 and SIGUSR2 in the process. */

if (sigprocmask(SIG_BLOCK, &set, &oset) < 0) {

perror("sigprocmask");

exit(EXIT_FAILURE);

}

printf("Waiting signals (PID = %d)\n", getpid());

printf("SIGUSR1 and SIGUSR2 are blocked\n");

pause();

printf("End of program\n");

exit(EXIT_SUCCESS);

}

0%
0%
0%
0%
View this question

Cuando se ejecuta una llamada a

sem_open:

0%
0%
0%
0%
View this question

Se desea ejecutar un programa ya existente y limitar su tiempo de

ejecución a una hora. Se conoce que el programa no gestiona la señal

SIGALRM

, de modo que se pretende usar la

función

alarm

para que el programa

finalice. ¿Qué secuencia de llamadas al sistema (en el orden

especificado) se deberá usar?

0%
0%
0%
0%
View this question

Supón que tienes un proceso en el que se define una alarma utilizando alarm() y luego se quiere añadir una llamada a sleep(). ¿Cuál de las siguientes afirmaciones es correcta?

0%
0%
0%
0%
View this question

Una de las señales más utilizadas para interrumpir un proceso

es

SIGINT

. ¿Cómo se puede enviar esta

señal a un proceso que se está ejecutando por terminal?

0%
0%
100%
0%
View this question

Se desea crear un proceso hijo que mande una señal al padre tras

realizar su trabajo. El padre debe establecer un manejador vacío

para la señal y esperar a la señal en el código principal. ¿Qué

secuencia de llamadas al sistema se debe realizar (en el orden

especificado) para que no haya ninguna condición de carrera?

100%
0%
0%
0%
View this question
¿Quién mantiene la información sobre las señales pendientes y bloqueadas asociadas a un proceso?
0%
0%
100%
0%
View this question

Dado el siguiente código C, ¿en qué parte del código se realiza realmente la gestión de la señal?

#include <signal.h>

#include <stdio.h>

#include <stdlib.h>

#include <sys/types.h>

#include <unistd.h>

static volatile sig_atomic_t got_signal = 0;

/* Handler function for the signal SIGINT. */

void handler(int sig) { got_signal = 1; }

int main(void) {

struct sigaction act;

act.sa_handler = handler;

sigemptyset(&(act.sa_mask));

act.sa_flags = 0;

if (sigaction(SIGINT, &act, NULL) < 0) {

perror("sigaction");

exit(EXIT_FAILURE);

}

while (1) {

printf("Waiting Ctrl+C (PID = %d)\n", getpid());

if (got_signal) {

got_signal = 0;

printf("Signal received.\n");

}

sleep(9999);

}

}

0%
0%
0%
0%
View this question

¿Cómo se hace referencia a una señal en C?

0%
0%
0%
0%
View this question

La función

sem_unlink se puede usar:

0%
100%
0%
0%
View this question

Want instant access to all verified answers on moodle.uam.es?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!

Browser

Add to Chrome