option
Cuestiones
ayuda
daypo
buscar.php

Syscall

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Syscall

Descripción:
Test de la practica Sycscall de ASO

Fecha de Creación: 2025/12/06

Categoría: Informática

Número Preguntas: 41

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

¿En qué zona de memoria se ubicaría la variable b definida como void main (void) { int *b = malloc(16); ... }?. Heap. Pila. Datos inicializados.

¿Qué llamada a la función getopt() procesaría correctamente la siguiente línea de órdenes: ./tool -x -y 1 -z a test?. getopt(argc, argv, "yx:zh"). getopt(argc, argv, "yx:z:"). getopt(argc, argv, "z:xy:h").

La llamada al sistema fd = open("test", O_WRONLY | O_CREAT | O_TRUNC, S_IRWXU): Crea el archivo test si no existe. Asigna siempre los permisos -rwx------ al archivo test. Las dos respuestas anteriores son correctas.

¿Qué valor devuelve la llamada al sistema read(fd, buf, count) cuando se alcanza el final del archivo si no hay error?. 0. -1. EOF.

Si la llamada al sistema write(fd, buf, count) devuelve el valor 5: El parámetro count sólo puede ser 5. El parámetro count debe ser >= 5. El parámetro count debe ser <= 5.

Dada una tubería entre un proceso productor P0 y un proceso consumidor P1, si P0 intenta escribir en la tubería con write() y está llena: P0 se bloquea. P0 obtiene un -1 como valor de retorno de write(). P1 se desbloquea.

¿Qué valor devuelve la función de biblioteca regexec()?. 0 si hay al menos una coincidencia. El número de coincidencias. REG_NOMATCH si se ha producido un error en la compilación de la expresión regular.

Una llamada a la función scandir(dir, namelist, filter, compar). Devuelve siempre el número de total entradas en el directorio dir o -1 si se produce un error. Requiere liberar la memoria reservada para namelist. Devuelve 0 en caso de éxito o -1 si se produce un error.

¿Con qué llamada al sistema se puede modificar la acción por defecto para una señal?. sigsuspend(). sigprocmask(). sigaction().

¿Qué hace el siguiente fragmento de código si se ejecuta en t0 y no se produce ningún error?. Genera señales SIGALRM en los segundos t0+5, t0+10, t0+15, etc. Genera señales SIGALRM en los segundos t0+6, t0+16, t0+21, etc. Genera señales SIGALRM en los segundos t0+1, t0+6, t0+16, etc.

¿Qué llamada a la función getopt() procesaría correctamente la siguiente línea de órdenes: ./command -n -b 1 -c z hello ?. getopt(argc, argv, "bn:ch"). getopt(argc, argv, "c:nb:h"). getopt(argc, argv, "bn:c:").

Dada una tubería entre un proceso productor p0 y un proceso consumidor p1, si p0 llama a write() que falla con errno=EPIPE: p0 cerró la tubería antes de la llamada a write() . p1 cerró la tubería antes de la llamada a write() . La llamada a write()no puede fallar con errno=EPIPE .

¿Cuál sería el contenido del archivo test tras la ejecución de la siguiente secuencia de llamadas al sistema si ninguna falla?: ab. abcd. abcdab.

Si la llamada al sistema read(fd, buf, count) devuelve el valor 5: El parámetro count debe ser <= 5. El parámetro count solo puede ser 5. El parámetro count debe ser >= 5.

¿Qué valor devuelve la llamada al sistema write(fd, buf, count) si el sistema de archivos está lleno?: -1. EOF. 0.

¿Qué salida ofrece la siguiente orden /genera_bytes.py -n 128 | base64 | tr -d '\n' | ./exec_lines -l 128 ?. Error de línea demasiado larga. Error de comando no reconocido. Ninguna.

¿Qué salida ofrece la siguiente orden: touch test ; echo -e "ls test > salida\ncat salida\nwc - c" | ./exec_lines ?. 4. 5. 6.

¿Con qué llamada al sistema se puede modi car la acción por defecto para una señal?. sigaction(). sigsuspend(). sigprocmask().

¿Qué salida ofrece la siguiente orden touch test ; echo -e "ls notest | wc -c" | ./exec_lines ?. Salida de error de ls. 7. Salida de error de ls y 0 del wc.

¿En qué zona de memoria se almacenaría el valor de la variable b en el siguiente programa? void main (void) { int *b = (int *) 0x0022AA000; printf("%x\n", b); }. Heap. Pila. Datos inicializados.

¿Cuál sería el contenido del archivo testtras la ejecución de la siguiente secuencia de llamadas al sistema si ninguna falla?: abcdabcd. abcd. abcabcd.

Si quiero leer de fd10 bytes y la llamada al sistema read(fd, buf, 10) devuelve el valor 6: Tendré que ejecutar un read adicional como este: read(fd, buf+6, 4) . Tendré que reducir el tamaño del bu er para que pase de 10 a 6 bytes. Se tiene que volver a ejecutar read(fd, buf, 10) hasta que devuelva 10 como número de bytes leídos.

Dada una tubería entre un proceso productor P0 y un proceso consumidor P1 , si P0 intenta escribir en la tuberia con write() y está llena: P0 se bloquea. P1 se bloquea. P0 obtiene un 0 como valor de retorno de write() para indicar que no puede escribir nada.

¿Qué llamada a la función getopt() procesaría correctamente la siguiente línea de órdenes: ./command -n x -b -c 1 hello ?. getopt(argc, argv, "nxbc:") . getopt(argc, argv, "c:n:bh") . getopt(argc, argv, "b:n:c:") .

¿Cuántos procesos como mínimo crea exec_lines para ejecutar la siguiente orden mkdir tmp; cd tmp; touch a; touch b; echo "ls | wc -l" | /bin/exec_lines -l 128 ?. 1. 2. 3.

Queremos crear dos procesos que estén conectados a través de una tubería, para lo cual creamos la tubería con la llamada pipe(array_tub) y después llamamos a fork(). ¿Cuál de las siguientes afirmaciones es cierta?. Los procesos ya pueden comunicarse entre ellos usando los descriptores array_tub[0] para leer de la tubería y array_tub[1] para escribir en ella. Los procesos ya pueden comunicarse entre ellos usando los descriptores array_tub[1] para leer de la tubería y array_tub[0] para escribir en ella. El proceso productor obligatoriamente tiene que redireccionar su salida estándar al descriptor array_tub[1] y el consumidor obligatoriamente tiene que redireccionar su entrada estándar al descriptor array_tub[0] .

Si la llamada al sistema read(fd, buf, 10) no falla, el valor devuelto por read() : Debe ser 10. Podría ser un valor entre 0 y 10. Podría ser un valor entre -1 y 10.

¿Cuál de las siguientes opciones es la más segura a la hora de redireccionar el de salida estándar a un fichero f si tenemos múltiples hilos en nuestro proceso que podrían también abrir y cerrar ficheros?. close(1); open("f");. int fd=open("f"); close(1); dup(fd);. int fd=open("f"); dup2(fd, 1);.

¿En qué zona de memoria se ubicaría el valor 5 en el siguiente programa? void main (void) { int *b = malloc(16); *b = 5}. Heap. Pila. Datos inicializados.

¿Qué llamada a la función getopt() procesaría correctamente la siguiente línea de órdenes?: ./tool -x -y 1 -z a test. getopt(argc, argv, "yx:zh"). getopt(argc, argv, "y:xz"). getopt(argc, argv, "z:x:y:h").

Dada una tubería entre un proceso productor P0 y un proceso consumidor P1, si P1 intenta leer de la tuberia con read() y esta vacia: P0 se desbloquea. P1 se bloquea. P1 obtiene un -1 como valor de retorno de read().

¿Qué valor devuelve la función de biblioteca regcomp() ?: REG_COMP si se pudo procesar la expresión regular. -1 si no se pudo procesar la expresión regular. 0 si se pudo procesar la expresión regular.

Cuando se alcanza el final del directorio, la llamada a la función readdir(dirp) : Devuelve -1 . Devuelve NULL y pone errno a 0. Devuelve NULL y no modifica errno .

¿Con qué llamada al sistema se puede instalar un manejador de señales?. sigaction(). sigprocmask(). siginstall().

¿Cuál sería el resultado de la ejecución de: echo -e "1\n1\n2" | ./minigrep -r "1$" -v -c ?. 0. 1. 2.

¿En qué zona de memoria se almacenaría el valor &b en el siguiente programa? void main (void) { int *b = malloc(16); *b = &b; printf("%x\n", b); free(b); }. Heap. Pila. Datos inicializados.

Si la llamada al sistema read(fd, buf, count) devuelve el valor count: El buffer tiene que tener count bytes de tamaño para poder contener los datos leídos. El buffer tiene que tener count+1 bytes de tamaño para los datos leídos y el \0 del final. Nunca puede devolver count , como mucho puede devolver count - 1.

¿Qué llamada a la función getopt() procesaría correctamente la siguiente línea de órdenes: ./command -n x -b -c 1 hello ?. getopt(argc, argv, "nxbc:") . getopt(argc, argv, "c:n:bh") . getopt(argc, argv, "b:n:c:") .

¿Cuántos procesos como mínimo crea exec_lines para ejecutar la siguiente orden: mkdir tmp; cd tmp; touch a; touch b; echo "ls | wc -l" | /bin/exec_lines -l 128 ?. 1. 2. 3.

Si queremos crear dos procesos con fork() que estén conectados a través de una tubería, ¿cuál de las siguientes a rmaciones es cierta?. Tras crear la tubería con la llamada pipe(array_tub) , los procesos ya pueden comunicarse entre ellos usando los descriptores array_tub[0] para leer de la tubería y array_tub[1] para escribir en ella. Tras crear la tubería con la llamada pipe(array_tub) , los procesos ya pueden comunicarse entre ellos usando los descriptores array_tub[1] para leer de la tubería y array_tub[0] para escribir en ella. Tras crear la tubería con la llamada pipe(array_tub) , el proceso productor obligatoriamente tiene que redireccionar su salida estándar al descriptor array_tub[1] y el consumidor obligatoriamente tiene que redireccionar su entrada estándar al descriptor array_tub[0] .

Si la llamada al sistema write(fd, buf, 10) no falla, el valor devuelto por write(): Debe ser 10 . Podría ser un valor entre 1 y 10. Podría ser un valor entre -1 y 10.

Denunciar Test