ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Concurrencia en Linux


Enviado por   •  17 de Septiembre de 2020  •  Trabajos  •  901 Palabras (4 Páginas)  •  180 Visitas

Página 1 de 4

Sistemas Operativos - Laboratorio Concurrencia en Linux

        ALUMNO: Juárez Nahuel Alejandro                                        LEGAJO: 50546

   Descargue en la consola de Linux el código del programa que se usará en este trabajo con el comando:

wget http://soutn.ernet.com.ar/descargas/programas/memoria_compartida.c

   Abra el programa con un editor como nano o vim, lea, analice, compile y ejecute todas las veces que sea necesario. Luego, responda, en sus propias palabras:

Shmget: asigna un segmento de memoria compartida.

Shmat: operaciones con memoria compartida.

Shmctl: control de memoria compartida.

Shmdt: operaciones con memoria compartida.

1. ¿Para qué se utiliza la clave al solicitar memoria compartida?

   La dirección de memoria del segmento asignado no se puede saber al momento de programar, ya que la asigna el kernel, por lo tanto, no se la puede usar en tiempo de programación para indicar a los procesos donde va a estar la memoria compartida. Para esto se usa la clave, todos los programas/procesos que llamen a shmget con la misma clave, si tienen permiso, van a acceder al segmento deseado sin necesidad de conocer de antemano la dirección.

2. ¿Qué contiene el segundo parámetro de la invocación a la llamada al sistema shmget? ¿En qué unidades está?

   El segundo parámetro (int size) que se pide en la función shmget es el tamaño que deseamos para la memoria compartida. Está en la unidad Byte.

3. ¿Qué nombre tiene la variable que usamos para tratar la memoria compartida como un entero? ¿Qué tipo de variable es?

   El nombre que tiene la variable compartida es *contador. Es un tipo de variable puntero.

4. Si ejecutamos el programa sin inicializar la memoria compartida (línea 99), ¿cuál es su valor inicial?

   Si ejecuto el programa sin la línea 99 (*contador= 0) su valor inicial sigue siendo 0 (cero).

5. ¿Qué representa el valor que aparece entre paréntesis cuando ejecuta el hijo? Por ejemplo, el 4 en:

HIJO (4): Contenido de variable compartida: 6

   El valor que aparece entre paréntesis cuando ejecuta el hijo representa el número de hijo, representado por la variable i, inicializada en 1 (uno).

6. Las operaciones contenidas en el lazo for que ejecuta el hijo (líneas 122 a 125), ¿deberían alterar el resultado esperado de la ejecución? Luego de quitar los comentarios, compilar y ejecutar, ¿qué encuentra?

...

Descargar como (para miembros actualizados)  txt (4.2 Kb)   pdf (536.8 Kb)   docx (472.8 Kb)  
Leer 3 páginas más »
Disponible sólo en Clubensayos.com