logo

Crowdly

Browser

Додати до Chrome

Sistemas Operativos 2025_2

Шукаєте відповіді та рішення тестів для Sistemas Operativos 2025_2? Перегляньте нашу велику колекцію перевірених відповідей для Sistemas Operativos 2025_2 в grado.pol.una.py.

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

La inanición o hambruna (Starvation) se llama cuando el planificador otorga el acceso a un recurso con baja prioridad

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

Tipos de procesos según la utilización de los recursos son

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

La solución al problema de la Sección Crítica debe

garantizar

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

¿Qué contiene una entrada de la tabla de vectores de interrupción?

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

La

comunicación de procesos puede ser a través de

una memoria compartida o por intercambio de mensajes

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

Comando para crear un archivo en blanco

Переглянути це питання
Problema del productor-consumidor con buffer acotado:

El siguiente código muestra una implementación en pseudocódigo estilo C. Asume que semWait decrementa el semáforo y bloquea si el valor es negativo, y semSignal lo incrementa y desbloquea un proceso si hay alguno esperando

 

Este programa puede llevar a una situación de interbloqueo (deadlock)? si es así, indica cuál sería la solución?

 

// Declaraciones globales

#define BUFFER_SIZE 5 // Tamaño máximo del buffer

semaphore mutex = 1; // Semáforo para exclusión mutua al acceder al buffer [2]

semaphore full = 0; // Semáforo que cuenta el número de elementos en el buffer [2]

semaphore empty = BUFFER_SIZE; // Semáforo que cuenta el número de espacios vacíos en el buffer [2]

item buffer[BUFFER_SIZE]; // Buffer circular compartido

int in = 0, out = 0; // Punteros para la gestión del buffer circular

// Función para simular la producción de un elemento

item generate_item() {

// Simula la producción

return some_data;

}

// Función para simular el consumo de un elemento

void consume_item(item data) {

// Simula el consumo

}

// Proceso Productor

void productor() {

item next_produced;

while (TRUE) {

next_produced = generate_item(); // Paso 1: Producir un elemento

semWait(empty); // Paso 2: Esperar si el buffer está lleno (no hay espacios vacíos) [2]

semWait(mutex); // Paso 3: Entrar en la sección crítica para acceder al buffer [2, 6]

// Sección crítica: añadir elemento al buffer

buffer[in] = next_produced;

in = (in + 1) % BUFFER_SIZE;

// Fin de la sección crítica

semSignal(mutex); // Paso 4: Salir de la sección crítica [2]

semSignal(full); // Paso 5: Indicar que hay un elemento más en el buffer [2]

}

}

// Proceso Consumidor

void consumidor() {

item next_consumed;

while (TRUE) {

semWait(mutex); // <--- LÍNEA CON ERROR POTENCIAL (Paso 1 del Consumidor)

semWait(full); // Paso 2: Esperar si el buffer está vacío (no hay elementos llenos) [2]

// Sección crítica: extraer elemento del buffer

next_consumed = buffer[out];

out = (out + 1) % BUFFER_SIZE;

// Fin de la sección crítica

semSignal(mutex); // Paso 3: Salir de la sección crítica [2]

semSignal(empty); // Paso 4: Indicar que hay un espacio vacío más en el buffer [2]

consume_item(next_consumed); // Paso 5: Consumir el elemento

}

}

void main() {

// Inicializar semáforos (ya hecho en las declaraciones globales)

// Lanzar procesos Productor y Consumidor en paralelo

paralelos(productor, consumidor); // Función hipotética para ejecutar hilos/procesos

}

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

Qué hace el comando en linux wc  /etc/passwd?

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

La denegación de servicios distribuida proviene de varios sitios a la vez

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

Хочете миттєвий доступ до всіх перевірених відповідей на grado.pol.una.py?

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

Browser

Додати до Chrome