Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una llamada al sistema es una petición que hace un proceso al sistema operativo
para recibir algún servicio.
Se desea implementar un sistema operativo que permita ejecutar pequeñas aplicaciones en el chip de
una tarjeta inteligente. El hardware incrustado en la tarjeta dispone de tan sólo unos cuantos cientos de
kilobytes de memoria y el procesador no dispone de mecanismos de protección. De los modelos
micronúcleo y monolítico, ¿cuál escogería para desarrollar dicho sistema operativo?
Hay dos razones por la que el diseño debe ser forzosamente monolítico:
Microsoft intentó defender inicialmente que Windows NT, 2000 y posteriores son sistemas basados en
organización híbrida micronúcleo/monolítico. No obstante, ¿qué característica de este sistema
operativo es propia de los sistemas estrictamente monolíticos?
¿Es posible que un error en el gestor (driver) de un dispositivo no crítico, como puede ser por ejemplo
una impresora o una tarjeta de sonido, pueda hacer fallar al sistema operativo Windows? ¿Por qué?
Sí, lo es. En Windows, los gestores de dispositivos se integran junto con el Executive y el
Kernel en el núcleo del sistema. Esto significa que un error de programación en un
gestor de dispositivo (driver) puede afectar al Executive o al Kernel, provocando el
fallo del sistema operativo.
Dibuje el diagrama de estados mínimo de los procesos que debe considerar cualquier planificador de
procesos, describiendo brevemente cada estado.
activación
preparado activo
apropiació
Fin bloqueo n
bloqueo
bloqueado
Estado Activo: un proceso está en este estado cuando está ejecutando instrucciones
(dispone de un procesador)
Estado Bloqueado: un proceso está en este estado cuando está esperando que se
complete una operación bloqueante, la cual se define a su vez como una operación que
puede necesitar para completarse un tiempo muy superior en orden de magnitud al
tiempo que tarda el procesador en ejecutar una instrucción. Operación bloqueante:
operación que puede requerir un tiempo muy superior en orden de magnitud al tiempo
de ejecución de una instrucción.
Estado preparado: Es el estado en que se encuentra un proceso que para activarse sólo
necesita que el planificador le asigne un procesador.
¿Qué ventajas tiene el uso de hilos frente al uso de procesos en la construcción de aplicaciones que
constan de diversas actividades que colaboran entre sí?
Si dos actividades colaboran entre si es muy probable que necesiten compartir datos o
cualquier otro tipo de recurso. Solucionar un problema de este tipo mediante hilos en
lugar de mediante procesos separados tiene como ventaja que los hilos de un mismo
proceso comparten espacio de memoria (el del proceso que lo contienen) con lo que no
necesitan hacer uso de mecanismos de comunicación ni de compartición de datos
entre procesos, resultando así más eficiente la implementación.
Además de ello, los tiempos necesarios para crear y destruir hilos son menores que los
necesarios para crear y destruir procesos.
Supongamos un sistema con memoria paginada en el que las direcciones de memoria son de 16 bits,
siendo los 4 bits de mayor peso el número lógico de página (NLP). La traducción a la dirección física
se hace mediante una tabla de páginas en la unidad de gestión de memoria. En dicha tabla se tiene para
cada página, además del número de marco, un bit P que indica si la página está presente (P=1) o
ausente (P=0). Cuando la página está ausente, el número de marco no tiene sentido. Si se intenta
acceder a una página ausente, se produce un fallo de página.
A la vista de la tabla de página, ¿qué direcciones físicas producirían las siguientes direcciones lógicas?
Indique cuáles producirían fallo de página. Por simplicidad, todas las direcciones están en
hexadecimal.
a) 0000 → 7000
b) 6FFF → Fallo de página
c) 3A10 → Fallo de página
d) 47F1 → 07F1
Se desea construir un sistema orientado a la reproducción de archivos multimedia. El uso que se hace
de los discos en este tipo de sistema se caracteriza porque se procesa secuencialmente archivos de muy
gran tamaño que ocupan normalmente bloques de discos físicamente contiguos, requiriendo mantener
constante una elevada tasa de transferencia durante todo el proceso. Para este sistema, podemos elegir
entre dos modelos de disco de igual capacidad y similar precio cuyas características se muestran en la
siguiente tabla. ¿Cuál de los discos sería el más adecuado para nuestro sistema? ¿Por qué?
Sería preferible el modelo ST380021A, que si bien tiene un peor tiempo medio de
búsqueda, tiene una mayor velocidad de rotación. El tiempo de búsqueda no va a
tener un impacto relevante con la aplicación que se le va a dar al disco, dado que al
transferir mayoritariamente sectores contiguos, el tiempo de búsqueda va a ser o bien
cero, o el tiempo de salto entre pistas consecutivas cuando se termine de procesar un
todos los sectores de un cilindro. Sin embargo, la velocidad de rotación sí que tiene un
impacto sobre el tiempo de transferencia, que será el que determinará la tasa de
transferencia de datos en la aplicación multimedia.
Se desea construir un sistema orientado a su uso como servidor de bases de datos. El uso que se hace
de los discos en este tipo de sistema se caracteriza porque se realiza gran cantidad de accesos directos a
posiciones aleatorias del disco, transfiriéndose en cada acceso unos pocos sectores, frecuentemente, un
solo sector. Para este sistema, podemos elegir entre dos modelos de disco de igual capacidad y similar
precio cuyas características se muestran en la siguiente tabla. ¿Cuál de los discos sería el más
adecuado para nuestro sistema? ¿Por qué?
Un fabricante de hardware de bajo coste diseña un teclado extremadamente simple que por cada
pulsación del usuario envía el código de la tecla a través de una interfaz USB. ¿Serviría este teclado
para usarlo con un PC con Windows, por ejemplo?
En un volumen FAT existen tres archivos compuestos por los bloques que se muestran en la tabla de la
izquierda. Sabiendo que los bloques 5 y 6 tienen sectores defectuosos y que los bloques que no están ni
en uso ni defectuosos se supone que están libres, rellene la FAT que aparece a la derecha.
0 -
Archivo Bloques 1 -
f1.txt 2
2 EOF
prueba.dat 3,7,8,12
prueba.exe 9,10, 11,13,15,16 3 7
4 FREE
Nota: las entradas 0 y 1 5 BAD
están reservadas. 6 BAD
7 8
8 12
9 10
10 11
11 13
12 EOF
13 15
14 FREE
15 16
16 EOF
… …
En un sistema de archivos de tipo ext2, el tamaño del bloque es de 4K y se utilizan 32 bits para
representar los números de bloque. En dicho sistema, ¿cuántos bloques habría que transferir en el peor
de los casos para realizar un acceso directo a la posición 8192000 de un archivo? Suponga que el
nodo-i ya ha sido transferido
En la reserva de disco, ¿qué ventaja tiene la reserva de escritura diferida (también llamada reserva de
lectura y escritura) sobre la reserva de escritura directa (también llamada reserva de lectura)? ¿Y qué
inconveniente(s)?
En un sistema, la protección del sistema de archivos se lleva a cabo mediante una matriz de control de acceso.
En el sistema, se definen cuatro dominios D1, D2, D3 y D4. Los procesos de usuario se adscriben al dominio
D1 cuando comienzan su ejecución.
A la vista del siguiente fragmento de la matriz de control de acceso, ¿puede en este sistema un proceso de
usuario…
F1 F2 F3 F4 D1 D2 D3 D4
Leer
D1 Escribir Entrar
Escribir
D2 Leer Escribir Entrar
D3 Leer Escribir Entrar
Leer Leer
D4 Escribir Leer
Escribir Escribir
Un procesador marca ACME distingue los modos de ejecución supervisor y usuario y no dispone de
soporte hardware para la virtualización. Cuando en modo usuario se intenta ejecutar una instrucción
privilegiada, esta instrucción simplemente se ignora. ¿Se podría construir un hipervisor basado en
tecnología tipo 1 para este procesador? ¿Por qué?
No, sobre este procesador no se puede implementar un hipervisor tipo 1, ya que estos
hipervisores, en caso de no disponer de soporte hardware para la virtualización,
simulan la ejecución de las instrucciones privilegiadas en las máquinas virtuales
capturando la excepción que se produce al intentar ejecutarlas. Si esta excepción no se
produce, no es posible su simulación (se dice por tanto que el procesador ACME no es
virtualizable).
En una máquina virtual de un hipervisor funcionando como tipo I, el sistema operativo invitado se
dispone a ejecutar una instrucción privilegiada. El procesador virtual de dicha máquina, como es de
esperar, se encuentra en modo virtual supervisor. ¿Qué ocurrirá cuando dicho sistema operativo
invitado intente ejecutar la instrucción privilegiada?
¿Cómo puede un sistema operativo como Windows o Mac OS X, del que no disponemos de código
fuente, beneficiarse de la tecnología de paravirtualización si se desea ejecutar como sistema operativo
invitado sobre un hipervisor?