SO - UDC
|
|
Título del Test:
![]() SO - UDC Descripción: V/F exhaustivas de todo. (en proceso...) |



| Comentarios |
|---|
NO HAY REGISTROS |
|
Una llamada al sistema se puede implementar mediante una interrupción software que cambia el modo del procesador de usuario a kernel. Verdadero. Falso. Al ejecutar `printf("hola")`, el proceso ejecuta exclusivamente en modo sistema. Verdadero. Falso. El código binario de la función `lseek()` está almacenado en la librería estándar de C (libC). Verdadero. Falso. Las librerías estáticas permiten compartir código entre varios procesos en ejecución simultánea. Verdadero. Falso. La función `fork()` está implementada en la librería estándar de C y no requiere pasar a modo kernel. Verdadero. Falso. La función `perror()` incrementa el tiempo de CPU consumido en modo usuario y en modo sistema. Verdadero. Falso. La función `sin()` de la librería matemática se ejecuta siempre en modo kernel, incluso si el proceso es root. Verdadero. Falso. chmod()` es una llamada al sistema; `fprintf()` es una función de librería que puede invocar syscalls internamente. Verdadero. Falso. Las librerías dinámicas enlazadas en tiempo de ejecución hacen que el ejecutable sea autocontenido y no dependa de archivos externos. Verdadero. Falso. Un programa enlazado estáticamente con libC contiene una copia del código de libC dentro de su propio fichero ejecutable. Verdadero. Falso. El bit UID (setuid) y el sticky bit forman parte del campo "modo" del inodo. Verdadero. Falso. Al abrir un fichero con `open()`, el sistema carga el contenido completo del fichero en la tabla de inodos en memoria. Verdadero. Falso. Al abrir un fichero, el sistema carga su inodo en la caché de inodos (inode cache), pero no necesariamente los bloques de datos. Verdadero. Falso. El contenido de un directorio se almacena en el área de datos del sistema de ficheros, no en el propio inodo. Verdadero. Falso. La fragmentación externa no existe cuando se utiliza asignación indexada de bloques para los ficheros. Verdadero. Falso. En un sistema de ficheros UNIX System V, el superbloque contiene información sobre el tamaño del bloque, el número de inodos y el mapa de bloques libres. Verdadero. Falso. Un inodo almacena el nombre del fichero junto con sus permisos y punteros a bloques. Verdadero. Falso. El campo `nlinks` de un inodo indica el número de enlaces duros que apuntan a ese inodo. Verdadero. Falso. El journaling registra las operaciones sobre el sistema de ficheros antes de realizarlas, para permitir recuperación tras un fallo. Verdadero. Falso. El journaling en sistemas como ext3/ext4 se utiliza principalmente para controlar la creación de nuevos ficheros, no para registrar modificaciones. Verdadero. Falso. Un enlace duro (hard link) crea una nueva entrada de directorio que apunta al mismo inodo que el fichero original. Verdadero. Falso. Un enlace simbólico (soft link) puede apuntar a un fichero situado en otro sistema de ficheros o partición. Verdadero. Falso. Los enlaces duros pueden crearse entre ficheros que residen en sistemas de ficheros distintos. Verdadero. Falso. Al eliminar un enlace simbólico con `unlink()`, se decrementa el contador `nlinks` del fichero destino. Verdadero. Falso. Tras aplicar `chmod(0752)` sobre un fichero con permisos `rwxrwxrwx`, los permisos resultantes son `rwxr-x-w-`. Verdadero. Falso. En un directorio, el permiso de ejecución (`x`) es necesario para poder atravesarlo con `chdir()` o acceder a ficheros dentro de él. Verdadero. Falso. En un directorio con sticky bit activado (p. ej. `/tmp`), cualquier usuario puede eliminar ficheros creados por otros usuarios. Verdadero. Falso. Un fichero con bit setuid activado, al ser ejecutado, adopta como UID efectivo el UID del propietario del fichero. Verdadero. Falso. `unlink()` elimina la entrada del directorio; el fichero solo se elimina físicamente cuando `nlinks` llega a 0. Verdadero. Falso. La tabla de ficheros abiertos del sistema (system-wide open-file table) es global al sistema, no privada de cada proceso. Verdadero. Falso. Cada proceso mantiene su propia tabla de descriptores de fichero abiertos (file descriptor table). Verdadero. Falso. `dup()` crea un nuevo descriptor que comparte la misma entrada en la tabla de ficheros abiertos del sistema. Verdadero. Falso. El buffer cache (caché de bloques) no reduce el número de accesos físicos al disco al mantener copias de bloques en memoria principal. Verdadero. Falso. Si la caché de bloques y la caché de inodos están vacías, abrir `/a/b/c` requiere como máximo un acceso al área de datos, pues los directorios comparten siempre el mismo bloque. Verdadero. Falso. `lseek()` modifica el puntero de posición asociado al descriptor en la tabla de ficheros abiertos del proceso. Verdadero. Falso. `pread()` lee en un offset dado y, a continuación, actualiza la posición actual del descriptor al final de los bytes leídos. Verdadero. Falso. La función `fgetc()` puede provocar accesos a disco si el bloque correspondiente no está en la caché de bloques. Verdadero. Falso. El software independiente del dispositivo nunca calcula qué bloque del fichero contiene un byte; esa tarea corresponde exclusivamente al device driver. Verdadero. Falso. Al montar un sistema de ficheros con `mount()`, su contenido se integra en el árbol de directorios global sin reemplazar la raíz `/`. Verdadero. Falso. VFS (Virtual File System) solo permite montar sistemas de ficheros del tipo ext4; no abstrae otros formatos. Verdadero. Falso. La asignación contigua de ficheros ofrece el mejor rendimiento para acceso secuencial y aleatorio directo. Verdadero. Falso. La asignación contigua no sufre fragmentación externa porque el mapa de bits reserva bloques contiguos automáticamente. Verdadero. Falso. La asignación enlazada (linked allocation) permite acceso aleatorio eficiente sin recorrer la cadena desde el inicio. Verdadero. Falso. La asignación indexada asocia a cada fichero un bloque índice con punteros a sus bloques de datos. Verdadero. Falso. FAT (File Allocation Table) es una variante de asignación enlazada con una tabla centralizada al inicio del volumen. Verdadero. Falso. Mantener la FAT solo en disco, sin cachearla, permite un acceso aleatorio tan eficiente como la asignación indexada. Verdadero. Falso. Los i-nodes de UNIX implementan esencialmente un esquema de asignación indexada con niveles de indirección. Verdadero. Falso. Con 12 direcciones directas, 1 indirecta simple, 1 doble y 1 triple, bloques de 2 KB y punteros de 4 bytes, el tamaño máximo de un fichero no supera 1 GB. Verdadero. Falso. En un esquema de indirección triple, los bloques de índice exclusivos de un fichero grande pueden ascender a cientos de miles. Verdadero. Falso. La asignación enlazada no sufre fragmentación externa en el área de datos del disco. Verdadero. Falso. En BSD Fast File System (FFS), los bloques se organizan en cylinder groups para mejorar la localidad. Verdadero. Falso. System V organiza los inodos en una lista global, mientras que BSD los distribuye en cylinder groups. Verdadero. Falso. Ext2fs utiliza fragmentos de 1 KB para el último bloque parcial de un fichero, igual que BSD FFS. Verdadero. Falso. Tras un fallo de alimentación durante un `rm fichero`, el journaling garantiza que el sistema de ficheros quede siempre consistente sin necesidad de ninguna reparación. Verdadero. Falso. `opendir()`/`readdir()`/`closedir()` leen las entradas de un directorio de forma incremental, sin cargar obligatoriamente todo el directorio en memoria de una vez. Verdadero. Falso. El mapa de bits (bitmap) no puede utilizarse para gestionar bloques libres; solo admite listas enlazadas de bloques. Verdadero. Falso. Un sistema de ficheros distribuido permite el acceso transparente a ficheros almacenados en máquinas remotas. Verdadero. Falso. El acceso concurrente a un mismo fichero por varios procesos nunca provoca inconsistencias; el kernel serializa siempre las escrituras sin necesidad de bloqueos. Verdadero. Falso. `flock()` o `fcntl()` con `F_SETLK` permiten establecer bloqueos sobre ficheros para controlar el acceso concurrente. Verdadero. Falso. Los permisos de un fichero se comprueban usando el UID real (no el efectivo) del proceso que realiza la operación. Verdadero. Falso. |





