logo

Crowdly

SISTEMAS OPERATIVOS

Шукаєте відповіді та рішення тестів для SISTEMAS OPERATIVOS? Перегляньте нашу велику колекцію перевірених відповідей для SISTEMAS OPERATIVOS в moodle.uam.es.

Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!

Dado el siguiente código C, ¿cuántos semáforos serían necesarios para garantizar que se impriman siempre los números en orden?

#include <fcntl.h>

#include <semaphore.h>

#include <stdio.h>

#include <stdlib.h>

#include <sys/stat.h>

#include <sys/wait.h>

#include <unistd.h>

int main(void) {

pid_t pid;

pid = fork();

if (pid < 0) {

perror("fork");

exit(EXIT_FAILURE);

}

if (pid == 0) {

printf("1\n");

printf("3\n");

} else {

printf("2\n");

printf("4\n");

wait(NULL);

exit(EXIT_SUCCESS);

}

}

0%
0%
100%
0%
Переглянути це питання

Dado el siguiente código C, ¿cuándo se imprimirá el mensaje "Signal number 2 received"?

#include <signal.h>

#include <stdio.h>

#include <stdlib.h>

#include <sys/types.h>

#include <unistd.h>

/* Handler function for the signal SIGINT. */

void handler(int sig) {

printf("Signal number %d received\n", sig);

fflush(stdout);

}

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());

sleep(9999);

}

}

100%
0%
0%
0%
Переглянути це питання

Dado el siguiente código C, ¿qué sucede cuando el proceso recibe la señal SIGINT?

#include <fcntl.h>

#include <semaphore.h>

#include <signal.h>

#include <stdio.h>

#include <stdlib.h>

#include <sys/stat.h>

#include <sys/wait.h>

#include <unistd.h>

#define SEM_NAME "/example_sem"

int main(void) {

sem_t *sem = NULL;

struct sigaction act;

if ((sem = sem_open(SEM_NAME, O_CREAT | O_EXCL, S_IRUSR | S_IWUSR, 0)) ==

SEM_FAILED) {

perror("sem_open");

exit(EXIT_FAILURE);

}

sigemptyset(&(act.sa_mask));

act.sa_flags = 0;

/* The handler for SIGINT is set. */

act.sa_handler = SIG_IGN;

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

perror("sigaction");

exit(EXIT_FAILURE);

}

printf("Starting wait (PID=%d)\n", getpid());

sem_wait(sem);

printf("Finishing wait\n");

sem_unlink(SEM_NAME);

}

0%
0%
100%
0%
Переглянути це питання

Se crea un semáforo binario en un programa en C con la siguiente inicialización:

sem_t *sem = sem_open("/mi_semaforo", O_CREAT, 0644, 0);

Dado este semáforo, ¿qué ocurre si un proceso ejecuta sem_wait(&sem); inmediatamente después de la inicialización?

0%
0%
100%
0%
Переглянути це питання

¿A qué proceso y que tipo de señal envía la función alarm después de que se cumpla el tiempo especificado por parámetro?

Переглянути це питання

¿Qué operaciones realiza la operación Up en los semáforos?

Переглянути це питання

Si en la función sigprocmask() aplicamos el método SIG_UNBLOCK ¿qué se está indicando sobre la señales definidas en la máscara?

0%
0%
Переглянути це питання

¿Qué utilidad el campo (*sa_handler) en la estructura sigaction a la hora de capturar una señal?

Переглянути це питання

¿Qué operaciones realiza la operación Down en los semáforos?

Переглянути це питання

Cuando se usa la instrucción sigaction para capturar una señal, ¿qué señales quedan bloqueadas?

Переглянути це питання

Хочете миттєвий доступ до всіх перевірених відповідей на moodle.uam.es?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!