ISO Tema 1-4
![]() |
![]() |
![]() |
Título del Test:![]() ISO Tema 1-4 Descripción: Test sobre Sistemas Operativos |




Comentarios |
---|
NO HAY REGISTROS |
El sistema operativo toma el control de la CPU: a) Cuando se produce una llamada al sistema, una excepción o una interrupción. b) Cuando se produce una llamada al sistema o una interrupción, pero no en caso de excepción, dado que en esta situación el hardware aborta directamente el programa. La característica del hardware en la que se apoya directamente el sistema operativo para impedir que un proceso se quede con la CPU por tiempo indefinido es: a) La disponibilidad de dos modos de funcionamiento (modo núcleo y modo usuario) en la CPU. b) Las interrupciones periódicas generadas por alguno de los relojes hardware con que debe contar el sistema. El mecanismo de los buffers que permite el solapamiento de la E/S de un programa con el cómputo del mismo programa requiere de la utilización de: a) Un dispositivo de acceso aleatorio, como un disco, para ir depositando en una zona concreta del mismo los datos que se van calculando. b) Una zona concreta de memoria desde donde ir obteniendo los datos que se van necesitando. Dados dos sistemas A y B, cuya única diferencia es que el sistema operativo de A implementa multiprogramación y el de B multitarea, entonces el tiempo que necesitamos para completar la ejecución de un lote de 10 trabajos: a) Va a ser mayor o igual en A que en B. b) Va a ser mayor o igual en B que en A. Con respecto a la ejecución del intérprete de órdenes bash empleado en las prácticas: a) Se realiza en modo usuario del procesador puesto que para el núcleo del sistema operativo su ejecución no difiere de la de cualquier otra aplicación de usuario. b) Se realiza en modo núcleo del procesador puesto que forma parte del núcleo del sistema operativo. En un sistema operativo basado en micronúcleo (organización cliente-servidor), es cierto que: a) Tanto los procesos de tipo cliente como los de tipo servidor se ejecutan con el procesador en modo usuario. b) Tanto el micronúcleo como los procesos de tipo servidor se ejecutan con el procesador en modo núcleo. En un sistema operativo UNIX, la ejecución de la llamada al sistema fork() por parte de un proceso: a) Crea un proceso hijo que es idéntico al proceso que ejecuta la llamada al sistema, salvo que se le pase como argumento un binario, en cuyo caso lo usará para establecer el código y los datos del hijo en el momento de la creación. b) Crea siempre un proceso hijo que es idéntico al proceso que ejecuta la llamada al sistema, si bien el PID del padre y del hijo son diferentes. En un sistema operativo UNIX, cuando un proceso P realiza una llamada al sistema y hasta que comienza a ejecutarse el código correspondiente del sistema operativo se producen: a) Un cambio de modo y un cambio de contexto. b) Un cambio de proceso, un cambio de modo y un cambio de contexto. Un ejemplo de terminación voluntaria de un proceso como consecuencia de un error sería: a) Que el proceso compruebe que el número de argumentos pasados no es el requerido y no pueda continuar con la ejecución. b) Que el proceso trate de realizar un acceso a memoria a una dirección para la cual no tenga permiso. En cuanto a los estados en los que puede estar un proceso, es cierto que: a) Un proceso P podría pasar directamente del estado ≪Bloqueado Suspendido≫ al estado ≪Saliente≫. b) Un proceso P podría pasar directamente del estado ≪Bloqueado≫ a ≪En ejecución≫ cuando la cola de procesos listos estuviese vacía. Un proceso que se encuentra en estado ≪Bloqueado Suspendido≫, cambiará de estado...: a) Únicamente cuando el planificador a medio plazo (PMP) así lo decida. b) Cuando el planificador a medio plazo (PMP) así lo decida o cuando ocurra el evento de E/S que estaba esperando. En cuanto a los estados en los que puede estar un proceso, es cierto que: a) Para que un proceso en estado ≪Bloqueado Suspendido≫ pueda hacer uso de la CPU, tiene que pasar antes por otros dos estados diferentes. b) Para que un proceso en estado ≪Listo Suspendido≫ pueda hacer uso de la CPU, tiene que pasar antes por otros dos estados diferentes. En cuanto a la tabla de procesos: a) Tiene una entrada por cada uno de los procesos en estado ≪Listo≫, pero no para los procesos en estado ≪Listo Suspendido≫ o ≪Bloqueado Suspendido≫. b) Tiene una entrada por cada uno de los procesos con independencia del estado en el que se encuentren. En cuanto al bloque de control de un proceso, es cierto que: a) Almacena los valores de los registros de la CPU tal y como estaban la última vez que al proceso se le quitó la CPU. b) Almacena los datos de la pila del proceso tal y como estaban la última vez que al proceso se le quitó la CPU. En UNIX, dados dos procesos, P y Q, si suponemos que ambos realizan una llamada al sistema en el mismo instante de tiempo: a) Primero se completará la llamada al sistema de uno de ellos y después la del otro, pero al haber una única copia del SO en memoria, nunca se podrá simultanear la ejecución de las dos llamadas al sistema. b) Ambas llamadas al sistema podrían ejecutarse simultáneamente (o concurrentemente). Dado un proceso P con dos hilos H1 y H2, podemos decir que: a) H1 y H2 van a ser exactamente iguales, por lo que ejecutan las mismas instrucciones con lo mismos datos. b) H1 y H2 comparten los datos del proceso pero pueden ejecutar instrucciones diferentes. Dado un proceso, P, con dos hilos, H1 y H2, la CPU podrá pasar de ejecutar H1 a H2 (o viceversa) sin la intervención del sistema operativo: a) Cuando los hilos estén implementados a nivel usuario. b) Cuando los hilos estén implementados en el núcleo del sistema operativo. Dado un proceso P con 4 hilos ejecutándose sobre una CPU con 4 núcleos de procesamiento (cores), los 4 hilos podrán ejecutarse simultáneamente (uno en cada núcleo): a) Solamente si se implementa soporte para los hilos a nivel de núcleo en el sistema operativo. b) Siempre, independientemente de cómo estén implementados los hilos. Para un planificador de procesos cuya meta fundamental es la de maximizar la eficiencia en el uso de la CPU: a) Es más conveniente usar un algoritmo de planificación apropativo. b) Es más conveniente usar un algoritmo de planificación no apropativo. En relación con la planificación de procesos, el tiempo de espera de un proceso es: a) El tiempo que hay que esperar desde que empieza el proceso hasta que se obtienen sus resultados. b) El tiempo que pasa el proceso en la cola de procesos listos. En relación a la planificación de procesos, la planificación SJF (Shortest Job First ): a) Es apropiativa, puesto que debe asegurar que el proceso en ejecución es en todo momento el de ráfaga de CPU más corta de entre todos los de la cola de listos y el propio proceso que actualmente tiene en la CPU. b) Es no apropiativa, pues al proceso que está usando la CPU nunca se le puede quitar su uso por muy larga que sea su ráfaga actual y por muy cortas que sean las ráfagas de CPU previstas para los procesos que están en la cola de listos. La planificación Round Robin: a) Es no apropiativa, pues hasta que el proceso que está en ejecución no consuma su quantum, el sistema operativo no se puede apropiar de la CPU para dársela a otro proceso. b) Es apropiativa, pues el proceso que está en ejecución puede ser desalojado de la CPU sin haberse bloqueado ni haber finalizado. De entre los algoritmos de planificación de la CPU vistos en clase, la situación de inanición (starvation) por la que un proceso podría no llegar a usar nunca la CPU, podría darse con: a) SRTF y SJF. b) FCFS y planificación con prioridades estáticas. Dado un algoritmo de planificación Round Robin con un valor de quantum de q unidades de tiempo (u.t.) y un sistema en el que hay en todo momento N procesos (no necesariamente los mismos) en la cola de listos, el tiempo que transcurre desde que un proceso agota su quantum y se le quita la CPU, hasta que la vuelve a tomar es siempre: a) Exactamente igual a q×(N-1) u.t. b) Menor o igual a q×(N-1) u.t. Tenemos una planificación de procesos SJF con estimación de tiempo de ráfaga de CPU. Hay 2 procesos en la cola de listos: P1 y P2. En la última ráfaga de CPU, las estimaciones para P1 y P2 fueron E1 y E2, respectivamente, y los tiempos reales T1 y T2, respectivamente. Entonces: a) Si E1=E2 y T1<T2 pasará a ejecutarse P1. b) Si E1>E2 y T1=T2 pasará a ejecutarse P1. Dados dos procesos P1 y P2, si en el instante ≪t≫ P2 comienza la ejecución del segundo de los tics de una ráfaga de CPU de duración 5 y se desbloquea P1 cuya siguiente ráfaga de CPU tiene una duración de 2 tics, en el instante ≪t+1≫ se ejecutará: a) P2 si el planificador es SRTF ≪oráculo≫. b) P1 si el planificador es Round Robin con q=2 tics. Considera dos procesos P1 y P2 en estado ≪Bloqueado≫ y el esquema de planificación Round Robin: si en el instante ≪t≫ la CPU está ocupada y ambos se desbloquean para ejecutar una ráfaga de CPU de 2 tics (P1) y 5 tics (P2), en el instante ≪t+1≫, suponiendo que la CPU queda libre y que estos son los únicos procesos en la cola de listos, se ejecutará: a) P1 o P2 dependiendo del orden en el que se inserten en la cola de listos en el instante ≪t≫. b) P1 siempre, por tener una duración menor de ráfaga de CPU. Supón un esquema de planificación ≪apropiativo con prioridades dinámicas≫ (a mayor número, mayor prioridad) en el que, para evitar la inanición, la prioridad de un proceso se aumenta en 2 cada tic que el proceso está en la cola de listos. Si al comienzo del tic ≪t≫ se empieza a ejecutar un proceso P1 con prioridad 4 con una ráfaga de CPU de duración 5 tics, y en ese mismo momento se desbloquea y se inserta en la cola de listos un proceso P2 con prioridad 1 y ráfaga de CPU de 4 tics, P2 pasará a usar la CPU: a) En el instante ≪t+2≫. b) En el instante ≪t+3≫. Considera una planificación de procesos apropiativa con 2 colas (cola 0 de mayor prioridad, cola 1 de menor prioridad) sin posibilidad de que los procesos cambien de cola. Ambas colas se planifican internamente con sendos algoritmos Round Robin con quantum de 2 tics. Si en este instante a la cola 0 llega el proceso P0 y a la cola 1 llega el proceso P1, queriendo ambos procesos ejecutar sendas ráfagas de CPU de 4 tics. ¿Qué ocurrirá en los próximos 4 tics?: a) Se ejecutará P0 durante 4 tics y, entonces, se cederá la CPU a P1. b) Se ejecutará P0 durante 2 tics y, entonces, se cederá la CPU a P1 durante otros 2 tics. Considera una planificación de procesos apropiativa con 2 colas (cola 0 de mayor prioridad, cola 1 de menor prioridad). Ambas colas se planifican internamente con sendos algoritmos Round Robin, el de la cola 0 usa un quantum de 2 tics, mientras que el de la cola 1 usa un quantum de 4 tics. Si un proceso de la cola 0 consume su quantum sin bloquearse se pasa a la cola 1. Si en este instante llega a la cola 1 el proceso P1 y dos tics después llega a la cola 0 el proceso P0, queriendo ambos procesos ejecutar sendas ráfagas de CPU de 4 tics, ¿cómo será la ejecución de dichos procesos hasta que ambos ejecuten sus ráfagas de CPU por completo?: a) Dos tics de P1, dos tics de P0, dos tics de P1 y dos tics de P0. b) Dos tics de P1, cuatro tics de P0 y dos tics de P1. Una invención de la información es: a) Una amenaza a la integridad de la información. b) Una amenaza a la confidencialidad de la información. El concepto de dominio de protección se asocia a: a) Los procesos y define los objetos a los que puede acceder cada uno de ellos y con qué permisos. b) Los objetos y define los procesos que pueden acceder a cada uno de ellos y con qué permisos. En cuanto a las listas de control de acceso (ACL): a) Cada una está asociada con un dominio de protección y establece los objetos que son accesibles desde dicho dominio y las operaciones realizables sobre cada uno de ellos. b) Cada una está asociada con un objeto, y establece los dominios de protección desde los que se puede acceder a dicho objeto y las operaciones realizables sobre el mismo. En UNIX, cada vez que un proceso quiere leer o escribir un fichero que ya tiene abierto: a) Se chequea la ACL del fichero para ver si el proceso dispone de los permisos necesarios para poder realizar la operación. b) Se comprueba la lista de posibilidades del proceso para ver si puede realizar la operación sobre el fichero. En UNIX, durante la realización del proceso de login por parte de un usuario: a) Se accede únicamente al fichero /etc/passwd para la validación de la contraseña introducida por el usuario. b) Además de a /etc/shadow, es necesario también acceder al fichero /etc/passwd. En UNIX, si desde el intérprete de órdenes se ejecuta el programa passwd, cuyo fichero ejecutable pertenece al usuario root y tiene el bit SETUID activado, entonces, el proceso resultante: a) Ejecutará el programa passwd con el procesador en modo usuario. b) Ejecutará el programa passwd con el procesador en modo núcleo. Un fichero especial de caracteres: a) Está asociado con un dispositivo de entrada/salida. b) Es un fichero regular de tipo texto. La creación de la entrada de directorio para un nuevo fichero regular, se realiza: a) A través de la llamada al sistema Create usada para crear el fichero. b) Mediante la llamada al sistema Writedir aplicada al directorio en el que quedará el fichero. Dado un fichero regular con tamaño T bytes, si el tamaño de bloque lógico es B bytes y se cumple que T>B, entonces el número de bloques lógicos que se utilizarán para almacenar su contenido: a) Será mayor para la estrategia de implementación de ficheros de lista ligada con índice que para la basada en nodos-i. b) Será igual para las estrategias de implementación de ficheros de asignación contigua y lista ligada con índice. En cuanto a la fragmentación interna: a) Puede aparecer en la estrategia de implementación de ficheros de asignación contigua pero no en la basada en nodos-i. b) Puede aparecer tanto en la estrategia de implementación de ficheros basada en nodos-i como en las basadas en lista ligada. En una implementación de ficheros mediante lista ligada sin índice, el valor del byte Z del bloque X (X ≠ 0) de un fichero cuyo primer bloque (el bloque 0) se encuentra en la dirección D de disco puede obtenerse: a) Leyendo X+1 bloques del disco. b) Leyendo D+X bloques del disco. Dado un sistema de ficheros tipo UNIX, suponiendo la estructura de nodos-i vista en clase con un total de 13 punteros, que todas las entradas de directorio tienen una longitud de exactamente 256 bytes y que el tamaño de bloque lógico es de 1 KiB, un directorio con 50 entradas (sin incluir las entradas ≪.≫ y ≪..≫) ocupa un total de: a) 13 bloques lógicos de la zona de datos. b) 14 bloques lógicos de la zona de datos. Supón dos sistemas de ficheros, SF1 de tipo MS-DOS y SF2 de tipo UNIX, ambos usando el mismo tamaño de bloque lógico de B bytes. Dado un directorio D cuyas entradas ocupan exactamente 1 bloque de la zona de datos tanto en SF1 como en SF2 y que tanto el índice en SF1 como el nodo-i de D en SF2 están ya cargados en memoria (lo indicado es lo único que hay en memoria en ese momento), el número de accesos a disco para obtener un listado de los ficheros regulares de D junto con su tamaño: a) Será igual en SF1 y SF2. b) Será mayor en SF2 que en SF1. Si suponemos que cualquier directorio ocupa un solo bloque de la zona de datos, que tanto el nodo-i del directorio raíz como su bloque de datos se encuentran ya en memoria, y que cada nodo-i se encuentra en un bloque diferente, entonces para poder leer el byte X del fichero /home/alumno/ExamenISO/ejercicio1.sh habrá que leer: a) 9 bloques de disco como mínimo. b) 11 bloques de disco como máximo. En UNIX, si creamos el fichero regular F1 y seguidamente creamos un enlace simbólico a F1 llamado ESF1: a) El valor del contador de enlaces tanto para ESF1 como para F1 será 1. b) El valor del contador de enlaces tanto para ESF1 como para F1 será 2. Dado un sistema de ficheros con un tamaño de bloque lógico de B bytes, direcciones de disco de D bytes y una zona de bloques de datos de N bloques, el número de bloques lógicos requeridos para llevar el registro de los bloques libres es: a) N/(8xB) si se usa la estrategia del mapa de bits. b) (NxD)/(8xB) si se usa la estrategia de la lista ligada de bloques. En cuanto a la caché de disco, es cierto que: a) Es una colección de bloques que pertenecen, desde el punto de vista lógico, al disco, pero que se mantienen temporalmente en la memoria principal. b) Es una colección de bloques que pertenecen, desde el punto de vista lógico, a la memoria principal, pero que se mantienen temporalmente en disco. El algoritmo de reemplazo discutido en clase usado en una caché de disco: a) Siempre da prioridad al reemplazo de los bloques de metadatos que se han modificado, para evitar inconsistencias en el sistema de ficheros. b) Entre dos bloques con datos de ficheros, reemplazará siempre antes al que más tiempo hace que no se usa. Dado un disco con un total de N sectores de S bytes cada uno, en general, aumentar el tamaño de bloque lógico de B a 4 × B bytes provoca que: a) El tamaño en bytes de los nodos-i aumente. b) El número de bits del mapa de bits para bloques de datos disminuya. Dado un sistema de ficheros tipo UNIX, en el que hay un total de I nodos-i, cada uno con un tamaño de S bytes, y en el que el tamaño de bloque lógico es de B bytes, si en un instante determinado se emplean un total de N bloques indirectos (BSI, BDI y BTI), el tamaño total de la tabla de nodos-i en ese instante ser de: a) (IxS)/B bloques lógicos. b) (IxS)/B + N bloques lógicos. A la hora de implementar las llamadas al sistema: a) Suele existir un mecanismo hardware distinto para implementar cada categoría de llamadas al sistema, ya que puede haber grandes diferencias entre unos tipos de llamadas al sistema y otros. b) Todas suelen usar el mismo mecanismo proporcionado por el hardware a través del cual el procesador cambia de modo usuario a modo núcleo de forma controlada. Las llamadas al sistema: a) son la única forma de pedirle un servicio al núcleo del sistema operativo. b) es imposible hacerlas directamente, de ahí que se hagan a través de una biblioteca del sistema. El intérprete de órdenes es un programa del sistema que funciona: a) en modo usuario, haciendo uso de las llamadas al sistema que proporciona el sistema operativo. b) dentro del núcleo del sistema operativo, ya que necesita hacer operaciones que cualquier proceso de usuario no puede. De los mecanismos de protección hardware que ayudan al sistema operativo a proteger el sistema: a) No se puede prescindir de ninguno de los tres. b) Las interrupciones periódicas no son necesarias realmente, ya que no protegen de nada, mientras que el modo dual evita que se ejecuten instrucciones peligrosas y la protección de memoria evita que un proceso pueda salirse de la memoria asignada. Una ventaja de los sistemas operativos que tienen una estructura cliente-servidor respecto a los monolíticos es que: a) Se pueden ejecutar sobre un mayor número de arquitecturas de ordenadores. b) Son más fáciles de depurar y verificar. ¿Por qué un sistema operativo se puede ver como una máquina extendida o virtual?. a) Porque oculta los detalles del hardware real y presenta una nueva interfaz de la máquina que se usa a través de llamadas al sistema. b) Porque, además de permitir el acceso a bajo nivel al hardware de la máquina por parte de los procesos cuando se encuentran en modo usuario, ofrece abstracciones adicionales que el hardware en sí mismo no posee. Un proceso suspendido-listo puede pasar a uno de los siguientes estados: a) A listo cuando es reanudado. b) A suspendido-bloqueado cuando empieza a servirse su petición de E/S. El efecto convoy... a) puede darse en un sistema que planifica el procesador con el algoritmo SJF. b) aparece en FCFS cuando varios procesos limitados por E/S tienen que estar esperando a que deje la CPU un proceso limitado por CPU. Siempre que se cambia de modo usuario a modo núcleo... a) Se hace dentro de un cambio de proceso, ya que un cambio de modo solamente no tiene sentido. b) Es porque se ha producido una interrupción, excepción o llamada al sistema. En Unix, un proceso que se desbloquea se despierta en... a) el núcleo del SO, tras la función/instrucción que hizo que se bloqueara en última instancia. b) la instrucción en el código de usuario detrás de la llamada al sistema que provocó que fuera bloqueado. En el algoritmo de planificación de procesos de múltiples colas con realimentación, la realimentación significa: a) Que un proceso puede pasar de una cola a otra. b) Que un proceso puede pasar de una cola a otra y que además se puede cambiar la posición de un proceso en su cola en cualquier momento. Indica cuál de los siguientes es un motivo por el que se lanza obligatoriamente el planificador de procesos. a) Se ejecuta una llamada al sistema. b) Finaliza un proceso. En la creación de procesos en Unix: a) Tras la llamada a fork() tanto el proceso padre como el hijo tienen el mismo PID. La llamada a exec() es la que le asigna un nuevo PID al proceso que la ejecuta, al tiempo que construye su nueva imagen a partir del ejecutable. b) Tras la llamada a fork() los procesos padre e hijo tienen diferente PID. La llamada a exec() construye la nueva imagen del proceso a partir del ejecutable, sin alterar su PID. Supongamos un proceso por lotes con las siguientes ráfagas: CPU E/S CPU 4 3 3 Si el proceso llega en el instante 11 y termina en el 23 entonces: a) Su tiempo de retorno es 13 y su tiempo de espera 2. b) Su tiempo de retorno es 12 y su tiempo de espera 2. Supongamos que en la cola de procesos listos tenemos tres procesos, P1, P2 y P3, en ese orden, cuya siguiente ráfaga de CPU durará 4, 3 y 5 unidades de tiempo, respectivamente. Si antes de que la CPU quede libre, llega a la cola de listos un proceso P4 cuya siguiente ráfaga de CPU va a durar 2 unidades de tiempo, entonces, dicho proceso tomará la CPU: a) Como mucho, 8 unidades de tiempo después de llegar, si se usa round-robin con un quantum de 2 unidades y la CPU acaba de ser asignada a un proceso. b) Inmediatamente, expulsando al proceso que hay en la CPU, si el algoritmo es SRTF o por prioridad apropiativo (siempre que P4 sea el proceso de mayor prioridad). Un rootkit es un programa que permite un acceso continuo y privilegiado a un computador y, además: a) Tiene la capacidad de extenderse a otros computadores conectados a su misma red. b) Es difícilmente detectable, incluso mediante un antivirus. Una característica de las listas de posibilidades que no tienen las listas de control de acceso es: a) que se permiten operaciones con las posibilidades, como obtener una copia o eliminarlas. b) que es más sencillo recuperar todos los permisos de un objeto particular. Un dominio de seguridad: a) Es un conjunto de parejas (objeto, derechos). b) Especifica los permisos que posee un usuario. Si tenemos un fichero con los siguientes permisos: usuario1 grupo2 rwsr-sr--: a) si lo ejecuta el usuario1 que pertenece al grupo1, su grupo se convierte en el grupo2 durante la ejecución del proceso. b) no puede ejecutarlo el usuario2 que pertenece al grupo2 porque no tiene permiso de ejecución (x) para el grupo. En UNIX/Linux: a) Un usuario puede pertenecer a varios dominios a la vez con distintos GID. b) Un usuario puede pertenecer a varios dominios a la vez con distintos UID y GID. Los privilegios de un usuario en un sistema: a) dependen tanto de su identificador como de su contraseña. b) dependen únicamente de su identificador, ya que la contraseña solamente sirve para autenticarlo. En la implementación de ficheros y directorios en Unix, los bloques indirectos: a) Los usan tanto los ficheros regulares como los directorios (si es necesario). b) Los usan los ficheros regulares (si es necesario), pero no los directorios. En la implementación de ficheros mediante lista ligada: a) Se consiguen utilizar todos los bloques del disco. b) Se produce mucha fragmentación externa. Un fichero ejecutable que contiene código máquina es un fichero binario cuyo formato debe conocer: a) Sólo el compilador-enlazador que genera dicho fichero binario. En los sistemas operativos modernos, el tipo de los ficheros es indiferente. b) Tanto el compilador-enlazador que lo genera como el sistema operativo donde se utiliza. El campo "enlaces" de un nodo-i: a) guarda el número de subdirectorios en el caso del nodo-i del directorio raíz. b) guarda el número de entradas en directorios con ese nodo-i. ¿En qué implementación de directorios, de las vistas en clase, pueden aparecer huecos libres entre entradas de directorio?. a) Tanto en la implementación de directorios de Unix como en la de MS-DOS. b) Sólo en la implementación de directorios de Unix. Las entradas de un directorio se leen con readdir y no con read porque: a) Los directorios no se implementan como ficheros. b) readdir permite aislar a un proceso de los detalles de la implementación del directorio. El número máximo de bloques lógicos que se deben leer de un disco para copiar en memoria el bloque N de un fichero es: a) 1 en asignación contigua. b) N − 2 con listas ligadas. Si queremos escribir un byte en la posición 4 500 000 (contando desde 0) de un fichero de 10 MB implementado mediante lista ligada sin índice, utilizando bloques lógicos de 4 kB y direcciones de disco de 4 bytes, entonces tendremos que: a) Leer 1100 bloques y escribir 2 bloques. b) Leer 1100 bloques y escribir 1 bloque. Si queremos añadir un bloque al final de un fichero con un tamaño de 10 MB implementado mediante nodos-i capaces de almacenar 13 direcciones (10 directas, 1 BSI, 1 BDI y 1 BTI), utilizando bloques lógicos de 4 kB, direcciones de disco de 4 bytes y suponiendo el nodo-i ya en memoria, entonces tendremos que: a) Leer 2 bloques y escribir 1 bloque. b) Leer 2 bloques y escribir 2 bloques. De manera general, un sistema operativo lo podemos ver como controlador de recursos: a) pues oculta el funcionamiento del hardware al usuario, mostrándole una interfaz más sencilla y amigable de los recursos del sistema. b) pues proporciona una asignación controlada de los procesadores, memoria, dispositivos de E/S, etc., a los distintos procesos que compiten por ellos. En relación a la protección del sistema operativo, el procesador debe disponer de dos modos de ejecución (modo núcleo y modo usuario): a) Para evitar que el sistema se bloquee porque un programa se haga con el control de la CPU (por ejemplo, porque entre en un bucle infinito). b) Para evitar que un programa pueda ejecutar ciertas instrucciones de la CPU, como, por ejemplo, las de E/S. Las llamadas al sistema: a) son programas que acompañan al sistema operativo para ofrecer un entorno más cómodo para el desarrollo y ejecución de programas. b) definen la interfaz entre el sistema operativo y un programa en ejecución. Un mismo proceso puede comprender varios programas: a) y un mismo programa puede dar lugar a varios procesos. b) pero un programa solamente puede dar lugar a un único proceso. El pseudoparalelismo: a) Consiste en ejecutar varios procesos simultáneamente gracias a tener varias CPUs y/o una CPU con varios núcleos. b) Se da cuando cada núcleo de la CPU es utilizado por varios procesos, pasando la ejecución de uno a otro rápidamente. Cuando un proceso Pi hace una llamada al sistema fork(): a) Se crea un nuevo proceso Pj que es una copia idéntica del Pi, con lo que ambos procesos, Pi y Pj, podrán modificar los datos que tienen compartidos en memoria RAM. b) Se crea un nuevo proceso Pj que continúa su ejecución de manera independiente de Pi. Cuando un proceso Pi hace una llamada al sistema exec(): a) Se crea un nuevo proceso Pj con el código y datos del programa que se indica como argumento a la llamada. b) El proceso Pi sustituye su código y datos por los del programa cuyo nombre se indica como argumento a la llamada. A continuación, Pi comienza la ejecución del nuevo código desde el principio. En relación con el estado de un proceso: a) Un proceso pasa directamente de estado “en ejecución” a “listo” cuando lo decide el planificador, independientemente del código que esté ejecutando dicho proceso. b) Un proceso pasa directamente de estado “bloqueado” a estado “en ejecución” cuando el evento externo que está esperando ya ha finalizado exitosamente, con lo que dicho proceso puede continuar su ejecución. El Planificador a Medio Plazo (PMP) se encarga de decidir: a) Si un proceso en estado “bloqueado suspendido” pasa directamente a estado “listo suspendido”. b) Si un proceso en estado “bloqueado suspendido” pasa directamente a estado “bloqueado”. El Bloque de Control de Procesos (BCP) de un proceso de usuario: a) Contiene todo aquello que está relacionado con dicho proceso: su código, sus datos, su pila,... b) No puede ser modificado directamente por dicho proceso, sino únicamente por el sistema operativo. En Unix, cuando un proceso de usuario realiza una llamada al sistema: a) Dicho proceso pasa de modo usuario a modo núcleo y ejecuta el código oportuno. b) Se produce un cambio de proceso en CPU: el proceso de usuario pasa a estado bloqueado mientras que el proceso del sistema operativo toma el control en modo núcleo para atender dicha llamada. Tenemos un proceso Pi que tiene 2 hilos Hi1 y Hi2. Entonces: a) Hi1 y Hi2 son exactamente iguales, por lo que ejecutan las mismas instrucciones con los mismos datos. b) Hi1 y Hi2 comparten los datos del proceso pero pueden ejecutar instrucciones diferentes. En una implementación de hilos a nivel de usuario, si el hilo de un proceso realiza una llamada al sistema bloqueante: a) Se bloqueará completamente el proceso y todos sus hilos. b) Se bloquearán solamente el hilo que hizo la llamada y aquellos otros hilos del proceso que dependan de la resolución de dicha llamada. En relación a la planificación de procesos, el tiempo de espera de un proceso es: a) El tiempo que hay que esperar desde que empieza el proceso hasta que se obtienen sus resultados. b) El tiempo que pasa el proceso en la cola de procesos listos. La necesidad de planificación de trabajos en CPU: a) Surge desde el momento en que se tienen varios trabajos en CPU que se encuentren bloqueados a la espera de poder utilizar la E/S. b) Surge desde el momento en que se tienen varios trabajos en memoria que pueden ejecutarse. La planificación round robin: a) Es no apropiativa, pues hasta que el proceso que está en ejecución no consuma su quantum, el sistema operativo no se puede apropiar de la CPU para dársela a otro proceso. b) Es apropiativa, pues el proceso que está en ejecución puede ser desalojado de la CPU sin haberse bloqueado ni haber finalizado. El dominio de protección... a) Donde se ejecuta un proceso define los objetos a los que puede acceder dicho proceso y con qué permisos. b) De un objeto define los procesos que pueden acceder a dicho objeto y con qué permisos. En Unix, por defecto, la ACL de cada fichero es restringida porque: a) Se limita a tres permisos: lectura, escritura y ejecución. b) Se limita a tres conjuntos de usuarios: propietario, grupo y otros. En Unix, si un fichero ejecutable tiene el bit SETUID activo, entonces si un usuario lo ejecuta: a) El proceso que se crea no tendrá el EUID de dicho usuario sino del propietario del fichero. b) El proceso que se crea no tendrá el EUID del propietario del fichero sino del usuario que lo ejecuta. Existen 2 tipos de ficheros regulares: a) Ficheros especiales de bloques y ficheros especiales de caracteres. b) Ficheros de texto y ficheros binarios. Para un fichero (o un directorio): a) Existen innumerables rutas relativas. b) Existen dos rutas absolutas: una partiendo del directorio raíz y otra partiendo desde el directorio actual. Para realizar una lectura de un directorio: a) Se utiliza la operación read (como en los ficheros) pues los directorios son simplemente un tipo de ficheros. b) Se utiliza la operación readdir debido a que el sistema operativo es el que determina el formato de los directorios. En una implementación de ficheros mediante lista ligada sin índice, para la lectura del byte Z, perteneciente al bloque X de un fichero F cuyo primer bloque (el bloque 0) se encuentra en la dirección D de disco: a) Se tendrá que leer únicamente el bloque D+X del disco. b) Se tendrán que leer X+1 bloques del disco. Si suponemos que cualquier directorio tiene sólo un bloque de datos, que tanto el nodo-i del directorio raíz como su bloque de datos se encuentran ya en memoria, y que cada nodo-i se encuentra en un bloque diferente, entonces para poder leer el primer byte del fichero /home/alumno/apuntes/tema1.pdf: a) Habrá que leer 8 bloques de disco. b) Habrá que leer 7 bloques de disco. Una caché de disco: a) Es una colección de bloques que pertenecen, desde el punto de vista lógico, al disco, pero que se mantienen temporalmente en la memoria principal. b) Es una colección de bloques que pertenecen, desde el punto de vista lógico, a la memoria principal, pero que se mantienen temporalmente en disco. En una implementación de ficheros mediante lista ligada e índice, el tamaño de la tabla o índice: a) Depende del tamaño del dispositivo de almacenamiento y del tamaño de los bloques. b) Depende del tamaño de los ficheros y del tamaño de los bloques. En una implementación de ficheros mediante nodos-i,. a) Existe una única tabla para todo el sistema de ficheros, llamada nodo-i, que contiene un conjunto de punteros para acceder a todos los bloques del dispositivo de almacenamiento, bien directamente o través de bloques indirectos (BSI, BDI y BTI). b) La cantidad de memoria RAM utilizada para nodos-i depende del número de ficheros abiertos en un momento dado. En Unix, si tenemos el fichero fic1 y creamos un enlace físico llamado lin1 a dicho fichero y, tras ello, borramos fic1: a) El enlace lin1 se quedará inconsistente, pues apuntará a un fichero que ya no existe. b) Se sigue pudiendo acceder mediante el enlace lin1 al contenido del fichero eliminado fic1. Tenemos un disco donde el control de bloques libres de la zona de datos se gestiona mediante un mapa de bits. Si en dicha zona se tiene que L bloques están libres y M bloques están ocupados: a) El mapa de bits estará formado al menos por (L + M)/8 bytes. b) El mapa de bits estará formado por L bits. La característica del hardware en la que se apoya directamente el sistema operativo para impedir que un proceso pueda acceder a los registros de la controladora de un dispositivo de E/S es: a) La disponibilidad de dos modos de funcionamiento (modo núcleo y modo usuario) en la CPU. b) Las interrupciones periódicas generadas por alguno de los relojes hardware con que debe contar el sistema. Dado un lote de trabajos L y un sistema operativo S, es cierto que: a) Para reducir el tiempo total de uso de la CPU por parte S durante la ejecución de L, es preferible que S implemente multiprogramación. b) Para reducir el tiempo total necesario para completar la ejecución de L, es preferible que S implemente multitarea. Un sistema operativo distribuido habilita el concepto de transparencia de la localización, que significa que: a) Que el sistema operativo se puede ejecutar en cualquiera de las máquinas que configuran el sistema, sin que el usuario tenga que saber en cuál de ellas. b) Que un programa de usuario se puede ejecutar en cualquiera de las máquinas que configuran el sistema, sin que el usuario tenga que saber en cuál de ellas. En un sistema operativo UNIX, si un proceso de usuario con PID=10 realiza una llamada al sistema... a) Se pasará de la CPU de modo usuario a modo núcleo, y a continuación, se transferirá el control al proceso con PID=0, correspondiente al kernel del sistema operativo, y que será el encargado de ejecutar el código de la llamada al sistema. b) Se hará un cambio de contexto, pero la llamada al sistema será ejecutada por el mismo proceso que la realizó, esto es, el que tiene PID=10. En UNIX, cuando un proceso realiza, en este orden, las llamadas al sistema fork() y exec(): a) Mediante la llamada fork() se crea un nuevo proceso hijo con un PID diferente al del padre, mientras que mediante la llamada exec() se construye la nueva imagen del proceso a partir del ejecutable dado como parámetro, sin alterar su PID. b) Mediante la llamada fork() se crea un nuevo proceso hijo con el mismo PID que el del padre, mientras que mediante la llamada exec() se construye la nueva imagen del proceso a partir del ejecutable dado como parámetro, asignando un nuevo PID a la nueva imagen. En relación con los estados de los procesos vistos en clase: a) Un proceso puede pasar directamente del estado «Listo suspendido» al estado «En ejecución». b) Un proceso puede pasar directamente del estado «En ejecución» al estado «Listo suspendido». Con respecto al mecanismo de hilos visto en clase, es cierto que . . . a) Todos los hilos de un mismo proceso comparten la misma pila. b) Todos los hilos de un mismo proceso pueden compartir cualquier fichero que hayan abierto. Comparando las implementaciones de los hilos a nivel de usuario y a nivel del núcleo del sistema operativo, es cierto que: a) Con la implementación a nivel de usuario, se podría acelerar la ejecución de un proceso con varios hilos, haciendo que estos se ejecutasen a la misma vez usando diferentes núcleos (cores) de la CPU. b) Con la implementación a nivel del núcleo del sistema operativo, se podrían ejecutar a la misma vez, utilizando distintos núcleos (cores) de la CPU, varios hilos pertenecientes a procesos diferentes. En cuanto a los algoritmos de planificación de procesos vistos en clase, es cierto que... a) Con el algoritmo de planificación «Primero el que tenga el menor tiempo restante (SRTF)», podría darse el caso de que un proceso se quedase de forma indefinida en la cola de listos, sin poder hacer uso de la CPU. b) Con el algoritmo de planificación «round-robin o circular», podría producirse el denominado «efecto convoy» que conllevara un desaprovechamiento de los recursos (CPU y dispositivos de E/S). Supón un esquema de planificación «apropiativo con prioridades dinámicas» (a menor número, mayor prioridad) en el que cada proceso toma como prioridad inicial su PID y en el que, para evitar inanición, la prioridad de un proceso se reduce en 2 cada tic que este se encuentra en la cola de listos. Si al comienzo del tic «t» el proceso con PID=20 empieza a ejecutar una ráfaga de CPU de duración 4 tics, al comienzo del tic «t+1» llega a la cola de listos el proceso con PID=17 para realizar una ráfaga de CPU de 3 tics, y al comienzo del tic «t+2» hace lo propio el proceso con PID=12 para ejecutar una ráfaga de CPU de 2 tics, teniendo en cuenta que estos son los únicos procesos en el sistema, el instante en el que el proceso con PID=17 completará su ráfaga de CPU será: a) Al final del tic «t+5». b) Al final del tic «t+6». Considera una planificación de procesos apropiativa con 2 colas (cola 0 de mayor prioridad, cola 1 de menor prioridad) sin posibilidad de que los procesos cambien de cola. La cola 0 se planifica internamente con el algoritmo «Round Robin» con quantum de 2 tics, mientras que la cola 1 se planifica internamente con el algoritmo «Primero en llegar, primero en ser servido (FIFO)». Si al comienzo del tic «t» llega a la cola 1 un proceso X con una ráfaga de CPU de 4 tics, y al comienzo del tic «t+1» llega a la cola 0 un proceso Y con una ráfaga de CPU de 3 tics, y teniendo en cuenta que estos son los únicos procesos en el sistema, es cierto que... a) El proceso X completará la ejecución de su ráfaga de CPU al final del tic «t+6», mientras que Y hará lo propio al final del tic «t+3». b) El proceso X completará la ejecución de su ráfaga de CPU al final del tic «t+5», mientras que Y hará lo propio al final del tic «t+6». Tras la intervención del planificador a medio plazo (PMP) puede suceder que: a) Un proceso pase de estado «Bloqueado suspendido» a estado «Listo suspendido». b) Un proceso pase de estado «Bloqueado suspendido» a estado «Bloqueado». En UNIX, cuando un proceso abre un fichero para realizar una operación de lectura: a) Tiene que estar habilitado el permiso de lectura para el proceso en la lista de control de acceso (ACL) del fichero para que este pueda completar la operación de abrir el fichero. b) Tiene que existir una entrada en la lista de posibilidades del proceso con el permiso de lectura para que este pueda completar la operación de abrir el fichero. En UNIX, para un fichero ejecutable que tiene activo el bit SETUID: a) El proceso resultante de su ejecución tendrá siempre los permisos del usuario propietario del fichero. b) Dependiendo de sus permisos, el proceso resultante de su ejecución puede tener los permisos del usuario propietario del fichero o los del grupo propietario del fichero. En UNIX, cuando un usuario introduce su ID y contraseña para intentar autenticarse en el sistema: a) Se extrae la contraseña cifrada del usuario del fichero /etc/shadow, se descifra y se compara con la contraseña introducida por el usuario. b) Se cifra la contraseña introducida por el usuario para poder compararla con la que se encuentra en /etc/shadow. Según se ha visto en clase, no podría considerarse como fichero regular . . . a) Un enlace simbólico. b) Un fichero binario. Para el manejo de directorios, la llamada al sistema Readdir: a) No existe porque los directorios se implementan como ficheros y, por lo tanto, se tiene que utilizar la llamada al sistema Read para leer su contenido. b) Devuelve la siguiente entrada (es decir, nombre de fichero o directorio) de un directorio abierto. En una implementación de ficheros mediante lista ligada con índice que emplea bloques de tamaño 1 KiB, y dado un fichero de tamaño total 1 MiB, el número de operaciones de escritura sobre bloques de disco dedicados a datos que se requerirán para añadir un byte al final de dicho fichero será . . . a) Una única operación de escritura. b) Dos operaciones de escritura. En cuanto a la fragmentación externa: a) Puede aparecer en la estrategia de implementación de ficheros de asignación contigua pero no en la basada en nodos-i. b) Puede aparecer tanto en la estrategia de implementación de ficheros basada en nodos-i como en las basadas en lista ligada. Dado un sistema de ficheros tipo UNIX, suponiendo la estructura de nodos-i vista en clase con un total de 13 punteros, que el tamaño de bloque lógico es de 512 bytes y que cada puntero necesita 4 bytes, el tamaño máximo de fichero que podría crearse sería: a) Algo más de 1 GiB. b) Algo más de 4 GiB. Supongamos que cualquier directorio tiene solo un bloque de datos, que tanto el nodo-i del directorio raíz como su bloque de datos se encuentran ya en memoria, y que cada nodo-i se encuentra en un bloque diferente. Para leer el primer byte del fichero /tema1.pdf se requerirá: a) La lectura de 1 bloque de disco. b) La lectura de 2 bloques de disco. En UNIX, dado un fichero cuyo contador de enlaces en el nodo-i tiene un valor C, si sabemos que, después de crear el fichero, se ha usado la orden ln para habilitar N enlaces adicionales a dicho fichero, todos del mismo tipo, ... a) Dichos enlaces serán simbólicos si C=1. b) Dichos enlaces serán físicos si C=N. En cuanto a la caché de disco, es cierto que: a) Puede almacenar los bloques de datos de ficheros y directorios, pero no los bloques indirectos ni los que contienen los nodos-i. b) Puede almacenar tanto los bloques de datos de ficheros y directorios, como los de metadatos. Dado un sistema de ficheros UNIX que no se encuentra montado en este momento, la información acerca de qué bloques lógicos del sistema de ficheros están libres y cuáles están siendo usados se almacena en . . . a) Una estructura que mantiene en memoria el sistema operativo, que identifica, para todos los sistemas de ficheros que pueden montarse, qué bloques lógicos están libres. b) Una estructura que se almacena en disco, que indica, para ese sistema de ficheros, qué bloques lógicos están libres. Un sistema operativo necesita obligatoriamente el apoyo del hardware para: a) Impedir que un proceso se apodere de la CPU. b) Ser multiusuario cuando el propio sistema operativo es ya multitarea. Decimos que un sistema operativo se puede ver como una máquina extendida o virtual porque . . . a) Oculta los detalles del hardware real y presenta una nueva interfaz de la máquina que se usa a través de llamadas al sistema. b) Además de permitir el acceso directo a bajo nivel al hardware de la máquina por parte de los procesos cuando se encuentran en modo usuario, ofrece abstracciones adicionales que el hardware en sí mismo no posee. En cuanto a la multitarea es cierto que: a) Su objetivo es solapar los tiempos de espera de los procesos de un usuario con el uso de la CPU de otros procesos pertenecientes al mismo usuario. b) Trata de dar la ilusión al usuario de que su programa es el único que se está ejecutando, cuando en realidad la CPU puede estar procesando varios programas de distintos usuarios. En la creación de procesos en Unix: a) Tras la llamada a fork(), los procesos padre e hijo tienen diferente PID. La llamada a exec() construye la nueva imagen del proceso a partir del ejecutable, sin alterar su PID. b) Tras la llamada a fork(), tanto el proceso padre como el hijo tienen el mismo PID. La llamada a exec() es la que le asigna un nuevo PID al proceso que la ejecuta, al tiempo que construye su nueva imagen a partir del ejecutable. Con respecto a los estados de los procesos: a) Se puede pasar directamente de Bloqueado a Saliente. b) No se puede pasar directamente de Ejecución a Listo Suspendido. En cuanto a los hilos: a) No existe protección entre hilos de distintos procesos ya que la protección sólo se aplica a nivel de proceso, no a nivel de hilo. b) Los hilos de un mismo proceso se pueden comunicar entre sí sin intervención del sistema operativo. En relación con la implementación de los hilos en modo núcleo: a) Los cambios de contexto entre hilos de un mismo proceso son mucho más rápidos que en una implementación en modo usuario, gracias a la tabla de hilos gestionada por el núcleo. b) Permite aprovechar el hecho de que haya múltiples CPUs en el sistema, de forma que varios hilos del mismo proceso se podrían ejecutar a la vez. Siempre que se cambia de modo usuario a modo núcleo . . . a) Es porque se ha producido una interrupción, excepción o llamada al sistema. b) Se hace dentro de un cambio de proceso, ya que un cambio de modo solamente no tiene sentido. Cuando un proceso bloqueado se desbloquea, continúa su ejecución: a) Inmediatamente, para no perjudicar su interactividad con el usuario. b) Cuando lo decida el algoritmo de planificación utilizado. La planificación Round Robin (RR): a) Puede hacer que un proceso que agota su quantum tenga que esperar hasta (n + 1) · q unidades de tiempo (n = nº de procesos, q = quantum) para volver a ejecutarse en la CPU. b) Es equitativa entre todos los procesos. Supongamos un proceso por lotes con las siguientes ráfagas: CPU E/S CPU 4 3 3 Si el proceso llega y realiza su primer tic de ejecución en el instante 11, y realiza el último tic de ejecución y acaba en el 22, entonces: a) Su tiempo de retorno es 13 y su tiempo de espera 2. b) Su tiempo de retorno es 12 y su tiempo de espera 2. Tenemos un SO que utiliza el algoritmo de planificación de procesos SRTF con oráculo. Esta es la situación justo cuando va a comenzar la u.t. 5: En la CPU: Proceso P0 ejecutando una ráfaga de 6 u.t. que comenzó en la u.t. 3. En la cola de listos y en este orden de llegada: • Proceso P1 para ejecutar una ráfaga de 6 u.t. • Proceso P2 para ejecutar una ráfaga de 3 u.t. • Proceso P3 para ejecutar una ráfaga de 5 u.t. Entonces es cierto que: a) El proceso P0 acabará de ejecutarse justo antes de comenzar la u.t. 12. b) El proceso P0 acabará de ejecutarse justo antes de comenzar la u.t. 17. Comparando las listas de control de acceso (ACL) y las listas de capacidades: a) La capacidad puede ser copiada, ya que se comporta como una especie de ticket que te da acceso al recurso, mientras que las ACL no ofrecen esa posibilidad. b) Las ACL permiten un acceso muy rápido a la lista de recursos a la que tiene acceso un usuario dado, mientras que las listas de capacidades permiten un acceso muy rápido a la lista de usuarios que tienen acceso a un recurso determinado. En Linux: a) La ejecución de un programa con SETUID/SETGID puede implicar un cambio de dominio. b) Los bits SETUID/SETGID modifican el UID y el GID con que se ejecuta el programa, aunque el usuario y el grupo efectivo sigue siendo el mismo. En UNIX se utiliza una base aleatoria junto a la contraseña proporcionada por el usuario. El motivo es . . . a) Histórico, pero actualmente inútil porque esa base se guarda junto con la clave pero sin encriptar, así que cualquiera puede conocerla. b) Evitar que para dos usuarios con la misma contraseña se acabe generando el mismo valor encriptado. Si un directorio de Unix tiene los permisos usuario1 grupo1 rwxr-xr-x, entonces, sin tener en cuenta al usuario root: a) Sólo el usuario1 podrá escribir en los ficheros del directorio. b) Sólo el usuario1 podrá eliminar ficheros del directorio. De entre las dos alternativas siguientes para la implementación de ficheros, ¿cuál daría lugar a fragmentación externa?. a) Asignación mediante lista ligada. b) Asignación adyacente. Si en una implementación de ficheros mediante nodos-i y bloques indirectos, los bloques lógicos son de 1 KiB y las direcciones de bloque ocupan 4 bytes, entonces, a través de cada bloque doblemente indirecto, usando los correspondientes bloques simplemente indirectos, se podrá llegar a: a) 65536 bloques de datos. b) 1024 bloques de datos. En un sistema de ficheros Unix, el número máximo de ficheros que se pueden crear: a) Depende exclusivamente del número de nodos-i de que dispone. b) Depende exclusivamente del número de bloques lógicos que haya en la zona de datos. El objetivo de una caché de disco como la vista en clase es . . . a) Mejorar el rendimiento de las operaciones de lectura de disco. Las escrituras de disco siempre se hacen directamente en el disco para evitar que se pierda la consistencia ante una caída del sistema. b) Mejorar el rendimiento de las operaciones de lectura/escritura de los discos. Suponiendo que tenemos un sistema de ficheros UNIX en el que el nodo-i del directorio raíz NO se encuentra en memoria aún, que cada directorio ocupa un bloque de disco y que cada nodo-i que busquemos se encuentra en un bloque diferente, ¿cuántos bloques habrá que leer para cargar en memoria el nodo-i del fichero cuya ruta es /home/invitado/fichero.txt?. a) 7. b) 6. Si un disco, con una única partición, usa sectores de 512 bytes y el sistema de ficheros almacenado en esa partición usa bloques lógicos de 4096 bytes, entonces, un fichero que almacena 510 bytes de datos a partir de su posición 0, ocupará: a) Exactamente un bloque lógico. b) Exactamente un sector. En Unix, si creamos un fichero F y, a continuación, creamos 5 enlaces a F, de los que 2 son simbólicos y 3 son físicos, ¿qué valor tendrá el campo de número de enlaces en el nodo-i de F?. a) 4. b) 6. Las entradas de un directorio se leen con readdir y no con read porque: a) Los directorios almacenan sus contenidos en ficheros de directorio, que se implementan de forma diferente al resto de ficheros y, por tanto, no pueden ser accedidos con una operación read. b) readdir permite aislar a los procesos de los detalles de la implementación de los directorios; esto hace que un proceso pueda seguir accediendo al contenido de un directorio aun cuando su implementación cambie. |