Sie sind auf Seite 1von 65

MODERNO

SISTEMAS
OPERATIVO
S SEGUNDA
EDICIN

SOLUCIONES DE PROBLEMA

ANDREW S. TANENBAUM
Vrije Universiteit
Amsterdam, los Pases Bajos

PRENTICE HALL
RO DE SILLA SUPERIOR, NJ 07458

SOLUCIONES CON PROBLEMAS DEL CAPTULO 1


1. Un sistema operativo debe proveer a los usuarios de un ampliado (es decir, virtual)
mquina, y esto debe manejar los dispositivos de entrada - salida y otros recursos de
sistema.
2. La multiprogramacin es la conmutacin rpida de la CPU entre procesos
mltiples en la memoria. Esto comnmente es usado para guardar la CPU
ocupada mientras un
o ms procesos hacen la entrada - salida.
3. La bobinacin de entrada es la tcnica de lectura en empleos, por ejemplo, de
naipes, en el disco, de modo que cuando los procesos que ejecutan actualmente
son terminados, haya trabajo que espera la CPU. La bobinacin de salida
consiste en primeros archivos imprimibles que copian al disco antes de
imprimirlos, ms bien que imprimir directamente cuando la salida es
generada. La bobinacin de entrada en un ordenador personal no es muy probable,
pero la bobinacin de salida es.
4. La razn principal de la multiprogramacin es dar la CPU algo para hacer
esperando entrada - salida a completar. Si no hay ningn DMA, la CPU es
totalmente occu-de varios colores haciendo la entrada - salida, as no hay nada
para ser ganado (al menos en trminos de CPU utili-zation)
multiprogramando. No importa cuanto entrada - salida un programa hace, la
CPU estar el 100 por ciento ocupada. Este por supuesto asume que la
tardanza principal es esperar mientras los datos son copiados. Una CPU podra
hacer otro trabajo si la entrada - salida fuera lenta por otros motivos (llegando
en una lnea consecutiva, por ejemplo).
5. Los segundos ordenadores de generacin no tenan el hardware necesario para
proteger el sistema operativo de programas de usuario malvolos.
6. Est todava vivo. Por eje mplo , Intel hace el Pentium I, II, e III, y 4 CPUs
con una variedad de propiedades diferentes incluso consumo de poder y
velocidad. Todas estas mquinas son arquitectnicamente compatibles. Ellos
se diferencian slo en precio e interpretacin, que es la esencia de la idea de
familia.
7. 25 80 carcter pantalla de texto monocroma requieren un parachoques de 2000 bytes.
El
1024 768 mapa de bit de color de 24 trozos de pixel requieren 2,359,296
bytes. En 1980 estas dos opciones habran costado 10 dlares y 11,520
dlares, respectivamente. Para precios corrientes, compruebe en cuanta RAM
actualmente cuesta, probablemente menos que 1 $/MB.
8. Las opciones (a), (c), (y d) deberan ser restringidas al modo de grano.
9. Los sistemas de ordenador personal son siempre interactivos, a menudo con slo
un usuario solo. Los sistemas de ordenador central casi siempre enfatizan la
hornada o el tiempo compartido con muchos usuarios. La proteccin es mucho
ms de una cuestin en sistemas de ordenador central, como es el uso eficiente
de todos los recursos.
10. Cada nanosegundo una instruccin surge de la tubera. Este significa que la
mquina ejecuta 1 mil millones de instrucciones por segundo. Esto no importa
en
todos cuntos las etapas la tubera tienen. Una tubera de 10 etapas con 1 nsec por

la etapa tambin ejecutara 1 mil millones de instrucciones por segundo. Todo


que importa es con que frecuencia unas instrucciones terminadas hacen reventar
el final de la tubera.
11. El manuscrito contiene 80 50 700 = 2.8 millones de caracteres. Este es, por
supuesto, imposible de caber en los registros de cualquier CPU actualmente
disponible y
es demasiado grande para un escondite de 1 MB, pero si tal hardware
estuviera disponible, el manuscrito podra ser explorado en 2.8 msec de los
registros o 5.8 msec del escondite. Hay aproximadamente 2700 bloques de 1024
bytes de datos, entonces la exploracin - ning del disco requerira
aproximadamente 27 segundos, y de la cinta 2 minutos 7 segundos. Por
supuesto, estos tiempos deben leer slo los datos. El procesamiento y volver a
escribir los datos aumentara el tiempo.
12. Lgicamente, esto no importa si el registro de lmite usa una direccin virtual o
una direccin fsica. Sin embargo, la interpretacin del antiguo es mejor. Si las
direcciones virtuales son usadas, la adicin de la direccin virtual y el registro
bajo puede comenzar simultneamente con la comparacin y luego puede
correr en la paralela. Si las direcciones fsicas son usadas, la comparacin no
puede comenzar hasta que la adicin sea completa, aumentando el tiempo de
acceso.
13. Tal vez. Si el visitante recupera el control e inmediatamente superpone los
datos, cuando escribir finalmente ocurre, los datos incorrectos sern escritos.
Sin embargo, si el conductor primeras copias los datos a un parachoques
privado antes de devolver, entonces al visitante pueden permitirle seguir
inmediatamente. Otra posibilidad es permitir que el visitante siga y le d una
seal cuando el parachoques puede ser reutilizado, pero este
es complicado y susceptible de errores.
14. Una trampa es causada por el programa y es sincrnica con ello. Si el programa
es dirigido una y otra vez, la trampa siempre ocurrir en exactamente la
misma posicin en la corriente de instruccin. Interrumpir es causado por un
acontecimiento externo y su cronometraje no es reproductivo.
15. Base = 40,000 y lmite = 10,000. Una respuesta de lmite = 50,000 es incorrecta
para el modo que el sistema fue descrito en este libro. Esto podra haber sido
imple-mented aquel camino, pero haciendo tan habra requerido la espera hasta
la direccin
+ el clculo bajo fue completado antes de comenzar el control de lmite, as
reducir la marcha - ing abajo el ordenador.
16. La mesa de proceso es necesaria para almacenar el estado de un proceso que es
suspendido actualmente, listo o bloqueado. No es necesario en un proceso solo
sys-tem porque el proceso solo nunca es suspendido.
17. El montaje de un sistema de archivo hace cualquier archivo ya en el directorio de
punto de montaje inaccesible, entonces los puntos de montaje son
normalmente vacos. Sin embargo, un administrador de sistema podra querer
copiar algunos archivos m s i mp or t a nt e s normalmente localizados en el
directorio montado al punto de montaje entonces ellos podran ser encontrados
en su camino normal en una emergencia cuando el dispositivo montado estaba
siendo comprobado o reparado.

SOLUCIONES DE PROBLEMA PARA CAPTULO 3

18. El tenedor puede fallar si no hay ningunas ranuras libres dejadas en la mesa de
proceso (y posiblemente si no hay ningn espacio de cambio o memoria
dejado). El Exec puede fallar si el nombre de archivo dado no existe o no es un
archivo ejecutable vlido. Desate puede fallar si el archivo para ser desatado no
existe o el proceso de vocacin no tiene las autoridades para desatarlo.
19. Si la llamada falla, p or e j e mpl o porque fd es incorrecto, esto puede devolver
-1. Esto tambin puede fallar porque el disco es lleno y no es posible escribir el
nmero de bytes solicitados. En una terminacin correcta, esto siempre
devuelve nbytes.
20. Esto contiene los bytes: 1, 5, 9, 2.
21. Obstryase los archivos especiales consisten en bloques numerados, cada uno de
los cuales puede ser ledo o escrito independientemente de todos los
otros. Es posible buscar a cualquier bloque y comenzar a leer o escribir. Este
no es posible con el carcter archivos especiales.
22. Las llamadas de sistema realmente no tienen nombres, ade m s de en un sentido de
documentacin.
Cuando el procedimiento de biblioteca ley trampas al grano, esto pone el
nmero de la llamada de sistema en un registro o en la pila. Este nmero est
acostumbrado al ndice en una mesa. No hay realmente ningn nombre
usado en ninguna parte. Por otra parte , el nombre
de la biblioteca el procedimiento es muyimportante, ya que es lo que aparece en el
programa.
23. S esto puede, sobre todo si el grano es un sistema que pasa mensaje.
24. Por lo que la lgica de programa est preocupada esto no importa si una llamada a
un procedimiento de biblioteca causa una llamada de sistema. Pero si la
interpretacin es una cuestin, si una tarea puede ser llevada a cabo sin una
llamada de sistema el programa correr ms rpido. Cada llamada de sistema
implica el tiempo elevado en la conmutacin del contexto de usuario
al contexto de grano. Adems, en un sistema multiusuario el funcionamiento
sys-tem puede programar otro proceso para correr cuando una llamada de
sistema completa, adelante reduciendo la marcha del progreso en tiempo real
de un proceso de vocacin.
25. Varias llamadas de UNIX no tienen a ningn homlogo en el Win32 API:
Eslabn: un programa Win32 no puede referirse a un archivo por un nombre
alterno o verlo en ms de un directorio. Tambin, el intento de crear un eslabn
es un camino conveniente
probar para y crear una cerradura en un archivo.
Montaje y umount: un programa de Windows no puede hacer asunciones sobre
nombres de camino estndares porque en sistemas c o n u n i d a d e s d e d i s c o
mltiples la parte de nombre de paseo del camino puede ser diferente.
Chmod: los programadores de Windows tienen que asumir que cada usuario
puede tener acceso a cada archivo.
Matanza: los programadores de Windows no pueden matar un programa de mal
comportamiento que no coopera.

26. Las conversiones son francas:


(a) Un ao micro es 10-6 365 24 3600 31.536
segundos =. (b) 1000 metros o 1 kilmetro.
(c) Hay 240 bytes, que es 1,099,511,627,776 bytes. (d) Ello es
6 1024 kg .

SOLUCIONES CON PROBLEMAS DEL CAPTULO 2


1. La transicin de bloqueado al correr es concebible. Suponga que un proc-ess es
bloqueado en la entrada - salida y los fines de entrada - salida. Si la CPU es por
otra parte ociosa, el proceso podra ir directamente de bloqueado al correr. La
otra ausencia transi-tion, de listo a bloqueado, es imposible. Un proceso listo
no puede hacer la entrada - salida o algo ms que podra bloquearlo. Slo un
proceso de correr puede obstruirse.
2. Usted podra tener un registro que contiene una aguja de la entrada de mesa de
proceso corriente. Cuando la entrada - salida complet, la CPU almacenara el
estado de mquina corriente
en la entrada de mesa de proceso corriente. Entonces esto ira al vector
interrumpir para el dispositivo que interrumpe y traera una aguja de otra
entrada de mesa de proceso (el procedimiento de servicio). Este proceso sera
arrancado entonces.
3. Generalmente, las lenguas de alto nivel no permiten a un la clase de acceso a la CPU
el hardware que es requerido. Por ejemplo, pueden requerir a un tratante interrumpir
permitir e incapacitar la revisin interrumpir de un dispositivo particular, o a
manipu-datos tardos dentro del rea de pila de un proceso. Tambin,
interrumpa las rutinas de servicio deben ejecutar tan rpidamente como
posible.
4. Hay varios motivos de usar una pila separada para el grano. Dos de ellos son
como sigue. Primero, usted no quiere que el sistema operativo se estrelle porque un
programa de usuario mal escrito no tiene bastante espacio de pila en cuenta.
Segundo, si los datos de pila de hojas de grano en el espacio de memoria del
programa de usuario sobre la vuelta de una llamada de sistema, un usuario
malvolo podra ser capaz de usar estos datos
averiguar informacin sobre otros procesos.
5. Sera difcil, si no imposible, guardar el sistema de archivo consecuente.
Suponga que un proceso de cliente enva una peticin al proceso de servidor 1
para actualizar un archivo. Este proceso actualiza la entrada de escondite en su
memoria. Dentro de poco a partir de entonces, otro proceso de cliente enva
una peticin al servidor 2 para leer aquel archivo. El Unfor-tunately, si el
archivo est tambin cached all, servidor 2, en su inocencia, devolver datos
obsoletos. Si el primer proceso escribe el archivo por al disco despus cach-ing
ello, y servidor 2 controles el disco en cada ledo para ver si su copia de
cached es
actualizado, el sistema puede ser hecho para trabajar, pero es exactamente todo
stos el disco tiene acceso a esto el sistema caching trata de evitar.

6. Cuando un hilo es parado, esto tiene valores en los registros. Ellos deben ser
salvados, como cuando el proceso es parado los registros deben ser salvados.
Los hilos de tiempo compartido son no diferentes que procesos de tiempo
compartido, entonces cada hilo necesita su propio registro salvar el rea.
7. No Si un proceso del modo solo enhebrado es bloqueado en el teclado, esto no puede
bifurcarse.
8. Un hilo de trabajador se obstruir cuando esto tiene que leer una Pgina Web
del disco. Si los hilos de nivel del usuario estn siendo usados, esta accin
bloquear el proceso entero, destruyendo el valor de multiensartamiento. As
es esencial que los hilos de grano sean usados para permitir a algunos hilos
obstruirse sin afectar los dems.
9. Los hilos en un proceso cooperan. Ellos no son hostiles el uno al otro. Si la
produccin - ing es necesaria para la bien de la aplicacin, entonces un hilo
ceder. Despus de todo, esto es por lo general el mismo programador que
escribe el cdigo para todos ellos.
10. Los hilos de nivel del usuario no pueden ser adelantados por el reloj uless el
quntum del proceso entero ha sido consumido. Los hilos de nivel del grano
pueden ser adelantados aliado individu-. En el caso ltimo, si un hilo corre
demasiado mucho tiempo , el reloj interrumpir el proceso corriente y as
el hilo corriente. El grano es libre de escoger un dif-ferent hilo del mismo
proceso para correr despus si esto as desea.
11. En el caso del modo solo enhebrado, los golpes de escondite toman 15 msec y escondite
que seoritas toman
90 msec. El promedio ponderado es 2 / 3 15 +1 / 3 90. As la peticin
media toma 40 msec y el servidor puede hacer 25 por segundo. Para un multithreaded servidor, toda la espera del disco es traslapada, entonces cada
peticin toma 15 msec, y el servidor puede manejar 66 peticiones de 2/3 por
segundo.
12. S. Si el servidor es completamente la CPU ligada, no hay ninguna necesidad
de tener hilos mltiples. Esto slo aade la complejidad innecesaria. Como un
ejemplo, considere un nmero de ayuda de directorio de telfono de tele(como 555-1212) para un rea con las 1 milln de personas. Si cada uno
(nombre, nmero de telfono) el registro es, supongamos, 64 caracteres, la base de
datos entera toma 64 megabytes, y puede ser fcilmente guardada en la memoria
del servidor para proporcionar la consulta rpida.
13. Las agujas son realmente necesarias porque el tamao de la variable global es
desconocido. Podra ser algo de un carcter a una serie de nmeros de punto
flotante. Si el valor fuera almacenado, uno tendra que dar el tamao para crear
3 global, que es t bi en , pero que tipo debera el segundo parmetro
del juego 3 global ser, y qu el tipo debera el valor de 3 ledos globales ser?
14. Podra resultar que el sistema de tiempo de ejecucin est exactamente en el
punto de bloqueo o desbloqueo de un hilo, y es la manipulacin ocupada de las
colas de programacin. Este sera un momento muy inoportuno para el reloj
interrumpen al tratante para comenzar a inspeccionar aquellas colas para ver si
esto era el tiempo para hacer la conmutacin de hilo, ya que ellos podran estar
en un estado inconsecuente. Una solucin es poner una bandera cuando el
tiempo de ejecucin - el sistema es entrado. El tratante de reloj vera este y
pondra su propia bandera,

entonces vuelta. Cuando el sistema de tiempo de ejecucin termin, esto


comprobara la bandera de reloj, ver que un reloj interrumpa ocurri, y ahora
dirigi al tratante de reloj.
15. S es posible, pero ineficaz. Un hilo que quiere hacer un sistema llama primeros
juegos un temporizador despertador, luego hace la llamada. Si la llamada se
obstruye, el control de vueltas de temporizador al paquete de hilos. Por
supuesto, la mayor parte del tiempo que la llamada no bloquear, y el
temporizador tiene que ser limpiado. As cada llamada de sistema que podra
obstruirse tiene que ser ejecutada como tres llamadas de sistema. Si los
temporizadores se marchan prematuramente,
todas las clases de problemas pueden desarrollarse. Este no es un modo atractivo
de construir un paquete de hilos.
16. El problema de inversin de prioridad ocurre cuando un proceso de prioridad
baja est en su regin crtica y de repente un proceso prioritario se hace listo y
es programado. Si esto usa la espera ocupada, esto correr para siempre. Con
hilos de nivel del usuario, no puede resultar que un hilo de prioridad baja sea
de repente adelantado para permitir un hilo prioritario dirigido. No hay
ninguna prioridad de compra. Con los hilos de nivel del grano este problema
puede levantarse.
17. Cada hilo llama procedimientos solo, entonces esto debe tener su propia pila
para las variables locales, direcciones de vuelta, etctera. Este es igualmente
verdadero para hilos de nivel del usuario en cuanto a hilos de nivel del grano.
18. Una condicin de raza es una situacin en la cual dos (o ms) los procesos
estn a punto de realizar un poco de accin. Segn el cronometraje exacto, un
o el otro va primero. Si uno de los procesos va primero, todo trabaja, pero si e l
o t r o va primero, un error fatal ocurre.
19. S. El ordenador simulado podra ser multiprogramado. Por ejemplo, mientras
el proceso A corre, esto lee en voz alta alguna variable compartida. Entonces
un simu-lated reloj hace tictac pasa y proceso B carreras. Esto tambin lee en
voz alta el mismo vari-capaz. Entonces esto aade 1 a la variable. Cuando
tratan unas carreras, si esto tambin aade el que
a la variable, tenemos una condicin de raza.
20. S, esto todava trabaja, pero esto todava es la espera ocupada, por supuesto.
21. Esto seguramente trabaja con la programacin de prioridad. De hecho, fue
diseado para aquel caso. Cuando la programacin es no prioridad, esto podra
fallar. Considere el caso en el cual la vuelta es al principio 0, pero proceso 1
carreras primero. Esto va a slo el lazo para siempre - y nunca liberar la CPU.
22. S esto puede. La palabra de memoria es usada como una bandera, con 0 sentido
que nadie usa las variables crticas y 1 sentido que alguien los usa. A puesto
1 en el registro, y cambia la palabra de memoria y el registro. Si el registro
contiene 0 despus de que el cambio, el acceso ha sido concedido. Si esto
contiene 1, el acceso ha sido negado. Cuando un proceso es hecho, esto
almacena a 0 en la bandera en memoria.

SOLUCIONES DE PROBLEMA PARA CAPTULO 7

23. Para hacer una operacin de semforo, el sistema operativo primero incapacita interrumpe.
Entonces esto lee el valor del semforo. Si esto hace un abajo y el sema-el
phore es igual al cero, esto pone el proceso de vocacin a una lista de procesos
bloqueados asociados con el semforo. Si esto hace un, esto debe comprobar
para ver si proceso es bloqueado en el semforo. Si uno o varios procesos
son bloqueados, uno de entonces es quitado de la lista de procesos bloqueados
y hecho runnable. Cuando todas estas operaciones han sido completadas,
interrumpe puede ser permitido otra vez.
24. Asociado con cada semforo que cuenta son dos semforos binarios, M, usado
para la exclusin mutua, y B, usado para el bloqueo. Tambin asociado con
cada semforo que cuenta es un contador que sostiene el nmero de ups
menos el nmero de colinas, y una lista de procesos bloqueados en aquel
semforo. Poner en prctica abajo, un proceso primeras ganancias acceso
exclusivo a los semforos, contador, y lista por hacer un abajo en M. Ello
entonces decrementos el contador. Si ello
es el cero o ms, esto slo hace un en M y salidas. Si el M es negativo, el process es puesto a la lista de procesos bloqueados. Entonces es hecho en el M y
abajo es hecho en B para bloquear el proceso. Para poner en prctica, el primer
M es derribado
para conseguir la exclusin mutua, y luego el contador es incrementado. Si es
ms que el cero, n a d i e fue bloqueado, entonces todo que tiene que ser hecho
es a en lo alto del M. Si, sin embargo, el contador es negativo ahora o cero, un
poco de proceso debe ser quitado de la lista. Finalmente, es hecho en B y M en
aquella orden.
25. Si el programa funciona en fases y ningn proceso puede entrar en la siguiente
fase hasta que ambos sean terminados con la fase corriente, hace el sentido
perfecto de usar una barrera.
26. Con retorno al punto de origen que lo programa trabajos. Tarde o temprano el
L correr, y aliado eventu-esto dejar su regin crtica. El punto es, con la
programacin de prioridad, L nunca consigue correr en absoluto; con el
retorno al punto de origen, esto consigue una rebanada de tiempo normal
periodi-cally, entonces esto tiene la posibilidad para dejar su regin crtica.
27. Con hilos de grano, un hilo puede obstruirse en un semforo y el grano puede
dirigir algn otro hilo en el mismo proceso. Por consiguiente, no hay ningn
problema usando semforos. Con hilos de nivel del usuario, cuando bloques de
hilo en un semforo, el grano piensa el proceso entero es bloqueado y no lo
dirige alguna vez otra vez. Por consiguiente, el proceso falla.
28. Es mu y c a r o poner en prctica. Cada vez cualquier variable que aparece en un
predicado en el cual un poco de proceso espera cambios, el sistema de tiempo de
ejecucin debe
revalue el predicado para ver si el proceso puede ser desbloqueado. Con el
Hoare y monitores de Brinch Hansen, los procesos slo pueden ser
despertados en un sig-nal primitivo.

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 2

29. Los empleados se comunican pasando mensajes: rdenes, comida, y bolsos en


este caso. En trminos de UNIX, los cuatro procesos estn relacionados por tubos.
30. Esto no conduce a competir con condiciones (nada es perdido alguna vez), pero
esto es la espera con eficacia ocupada.
31. Si un filsofo se obstruye, los vecinos pueden ver ms tarde que l tiene hambre
comprobando su estado, en la prueba, entonces l puede ser despertado cuando
los tenedores estn disponibles.
32. El cambio significara que despus de que un filsofo dej de comer, ninguno
de sus vecinos podra ser elegido despus. De he c ho , ellos nunca seran
elegidos. El sorbo - postura que el filsofo 2 termin de comer. l dirigira la
prueba para filsofos 1 y 3, y ninguno sera comenzado, a unque tanto
tuvieran hambre como ambos tenedores estaban disponibles. El Similary, si el
filsofo 4 terminara de comer, filsofo 3 no sera comenzado. Nada le
comenzara.
33. Variacin 1: los lectores tienen la prioridad. Ningn escritor puede comenzar
cuando un lector es activo. Cuando un nuevo lector aparece, esto puede
comenzar inmediatamente a menos que un escritor sea activo actualmente.
Cuando un escritor termina, si los lectores esperan, ellos son todos
comenzados, sin tener en cuenta la presencia de escritores que esperan.
Variacin 2: los Escritores tienen la prioridad. Ningn lector puede comenzar
cuando un escritor espera. Cuando el ltimo proceso activo termina, un escritor
es comenzado, si hay el que; por otra parte, todos los lectores (si alguno) son
comenzados. Variacin 3: versin simtrica. Cuando un lector es activo, los
nuevos lectores pueden comenzar inmediatamente. Cuando un escritor termina,
un nuevo escritor tiene la prioridad, si uno espera. En otras palabras, una vez que
hemos comenzado a leer, seguimos leyendo hasta que no haya ningunos
lectores abandonados. Del mismo modo, una vez que hemos comenzado a
escribir, a todos los escritores pendientes les permiten correr.
34. Esto necesitar el segundo nT.
35. Si un proceso ocurre tiempos mltiples en la lista, esto conseguir quntums
mltiples por ciclo. Este acercamiento podra ser usado para dar a procesos
ms importantes una parte ms grande de la CPU. Pero cuando el proceso se
obstruye, todas las entradas deberan ser quitadas de la lista de procesos de
runnable.
36. En casos simples puede ser posible determinar si la entrada - salida ser restrictiva
mirando cdigo fuente. Por ejemplo un programa que lee todos sus
archivos de entrada en parachoques en el principio no ser probablemente la
entrada - salida ligada, pero un problema que lee y escribe incrementalmente a
varios archivos diferentes (como un com-piler) probablemente ser la entrada
- salida ligada. Si el sistema operativo proporciona una instalacin como el UNIX
ps orden que puede decirle la cantidad del tiempo de CPU usado
por un programa, usted puede comparar este con el tiempo total para completar la
ejecucin de
el programa. Este es, por supuesto, el ms significativo en un sistema donde
usted es el nico usuario.
37. Para procesos mltiples en una tubera, el padre comn podra pasar a la
informacin de sistema operativo sobre el flujo de datos. Con esta informacin

SOLUCIONES DE PROBLEMA PARA CAPTULO 9

el OS podra determinar, por ejemplo, qu proceso podra suministrar la salida


a un proceso que se obstruye en una llamada a la entrada.
38. La eficacia de CPU es el tiempo de CPU til dividido en el tiempo de CPU total.
Cuando Q T, el ciclo bsico es para el proceso para correr a T y someterse a
un interruptor de proceso para S. As (a) (y b) tienen una eficacia d e T / (S
+T). Cuando el quntum es ms corto que T, cada dirigido de T requerir
T / Q interruptores de proceso, gastando un tiempo SAN / Q. La eficacia aqu es
entonces
33333T3333
T +SAN /
Q
que reduce a Q / (Q +S), que es la respuesta (a c). Para (d), nosotros slo sub stitute Q para S y hallazgo que la eficacia es e l 5 0 p or c i e nt o . Finalmente, para
(e), como
Q 0 la eficacia va a 0.
39. El trabajo ms corto primero es el modo de minimizar el tiempo de respuesta medio.
0 <X 3: X, 3, 5, 6, 9.
3 <X 5: 3, X, 5, 6, 9.
5 <X 6: 3, 5, X, 6, 9.
6 <X 9: 3, 5, 6, X, 9.
X> 9: 3, 5, 6, 9, X.
40. Para el retorno al punto de origen, durante los 10 primeros minutos cada trabajo
consigue 1/5 de la CPU. Al f i na l de 10 minutos, C fines. Durante los 8 minutos
siguientes, cada trabajo se pone
1/4 de la CPU, despus que tiempo D fines. Entonces cada uno de los tres
permanece - ing empleos consigue 1/3 de la CPU durante 6 minutos, hasta B
fines, etctera. Los tiempos concluyentes para los cinco empleos son 10, 18, 24,
28, y 30, para un promedio de
22 minutos. Para la programacin de prioridad, el B es dirigido primero.
Despus de 6 minutos es terminado. Los otros empleos terminan en 14, 24, 26, y
30, para un promedio de 18.8 minutos. Si los empleos corren en la orden un
por E, ellos terminan en 10, 16, 18, 22, y 30, para un promedio de 19.2 minutos.
Finalmente, el trabajo ms corto primero cede tiempos concluyentes de 2, 6, 12,
20, y 30, para un promedio de 14 minutos.
41. La primera vez esto consigue 1 quntum. Logrando carreras se pone 2, 4, 8, y 15,
entonces
debe ser cambiado en 5 veces.
42. Un control podra ser hecho para ver si el programa esperaba la entrada e hizo
algo con ello. Un programa que no esperaba la entrada y no trat
esto no conseguira ningn aumento de prioridad especial.
43. La secuencia de predicciones es 40, 30, 35, y ahora 25.
44. La fraccin de la CPU usada es 35/50 + 20/100 + 10/200 + x/250. Para ser
schedulable, este debe ser menos de 1. As el x debe ser menos de 12.5 msec.
45. La programacin de dos niveles es necesaria cuando la memoria es demasiado
pequea para sostener todos los procesos listos. Algn juego de ellos es puesto en
la memoria, y una opcin es hecha

10

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 2

de aquel juego. De vez en cuando, el juego de procesos en corazn es ajustado.


Este algoritmo es fcil para poner en prctica y razonablemente eficiente, seguramente
mu c ho me j o r que dicen, retorno al punto de origen sin hacer caso de si un
proceso estaba en la memoria o no.
46. El grano podra programar procesos por cualquier medio que esto desea, pero
dentro de cada proceso esto dirige hilos estrictamente en la orden de prioridad.
Dejando al proceso de usuario ponen la prioridad de sus propios hilos, el
usuario controla la poltica, pero el grano han-dles el mecanismo.
47. Una escritura de cscara posible podra ser
si [! cuenta de nmeros de-f; entonces
resuene 0> nmeros; fi count=0
mientras (prueban $count! = 200)
hacer
la cuenta ='expr $count + 1
n = tail los-1 nmeros
expr $n + 1>> nmeros
hechos

Dirija la escritura dos veces simultneamente, comenzndolo una vez en el


fondo (utilizacin y) y otra vez en el primer plano. Entonces examine los
nmeros de archivo. Esto comenzar probablemente el pareciendo a una lista
ordenada de nmeros, pero en algn punto esto perder su orden, debido a la
condicin de raza creada dirigiendo dos copias de la escritura. La raza puede
ser evitada teniendo cada copia de la prueba de escritura para y puso una
cerradura en el archivo antes de entrar en el rea crtica, y abrirlo para dejar el
rea crtica. Este puede ser hecho como este:
si nmeros ln numbers.lock
entonces
n = tail los-1 nmeros
expr $n + 1>> nmeros
rm numbers.lock
fi

Esta versin saltar slo una vuelta cuando el archivo es inaccesible, la variante
solu-tions podra poner el proceso para dormir, hacer la espera ocupada, o
contar slo lazos en los cuales la operacin es acertada.

SOLUCIONES CON PROBLEMAS DEL CAPTULO 3


1. En los Estados Unidos, considere una eleccin presidencial en la cual tres o ms
candidatos a s p i r a n al nombramiento de algn partido. Despus de todas las
elecciones primarias

SOLUCIONES DE PROBLEMA PARA CAPTULO 3

11

son terminados, cuando los delegados l l e g a n a la convencin de partido, esto


podra la pluma hap-que ningn candidato tiene una mayora y que ningn
delegado quiere cambiar su voto. Este es un punto muerto. Cada candidato
tiene algunos recursos (votos), pero tiene que ms hacer el trabajo. En pases
con partidos de cal politi-mltiples en el parlamento, podra resultar que cada
partido apoya un dif-ferent la versin del presupuesto anual y que es imposible
reunir una mayora para pasar el presupuesto. Este es tambin un punto
muerto.
2. Si la impresora comienza a imprimir un archivo antes de que el archivo entero haya sido
recibido (este
a menudo es permitido a la respuesta de velocidad), el disco puede llenarse de
otras peticiones que no pueden ser imprimidas hasta que el primer archivo sea
hecho, pero que consumen el espacio de disco necesario
recibir el archivo actualmente imprimido. Si el programa de impresin no comienza a
imprimir
un archivo hasta el archivo entero ha sido spooled esto puede rechazar una
peticin que es demasiado grande. El comienzo a imprimir un archivo es
equivalente a reservar la impresora; si el reserva-tion es aplazado hasta que se
conozca que el archivo entero puede ser recibido, un punto muerto del sistema
entero puede ser evitado. El usuario con el archivo que no cabr todava es
estancado por supuesto, y debe ir a otra instalacin que por - mits imprenta de
archivos ms grandes.
3. La impresora es nonpreemptable; el sistema no puede comenzar a imprimir otro
trabajo hasta que el anterior sea completo. El disco de carrete es preemptable;
usted puede suprimir un archivo incompleto que se pone d e ma s i a d o g r a n d e
y hacer que el usuario lo enve ms tarde, asumiendo que el protocolo permite
esto
4. S. No hace ninguna diferencia en absoluto.
5. S, los grficos ilegales existen. Declaramos que un recurso slo puede ser
sostenido por un proceso solo. Un arco de un cuadrado de recurso a un crculo
de proceso indica que el proceso posee el recurso. As un cuadrado con arcos
que van de ello a dos o ms procesos significa que todos aquellos procesos
sostienen el recurso, que viola las reglas. Por consiguiente, cualquier grfico
en el cual arcos mltiples dejan un cuadrado y final en crculos diferentes viola
las reglas. Los arcos de cuadrados a cuadrados o de crculos a crculos tambin
violan las reglas.
6. Una parte de todos tales recursos podra ser reservada para el uso slo por
procesos posedos por el administrador, entonces l o ella siempre podran
dirigir una cscara y pro - los gramos tenan que evaluar un punto muerto y
tomar decisiones sobre cual procesos matar para hacer el sistema utilizable
otra vez.
7. Ningn cambio conduce a llegar a un punto muerto. No hay ninguna circular esperan en
el uno o el otro caso.
8. El abandono voluntario de un recurso es el ms similar a la recuperacin por la
prioridad de compra. La diferencia esencial es que no se espera que procesos
de ordenador solucionen tales problemas solos. La prioridad de compra es
anloga al operador o el sistema operativo que interpreta cuando un polica,
anulando los procesos de individuo de reglas normales obedece.

9. El proceso pide ms recursos que el sistema tiene. No hay ningn camino


concebible que esto puede conseguir estos recursos, entonces esto nunca puede
terminar, a un si ningunos otros procesos quieren algn recurso en absoluto.
10. Si el sistema tuviera dos o ms CPUs, dos o ms procesos podran correr en la
paralela, conduciendo a trayectorias diagonales.
11. S. Haga todo el asunto en tres dimensiones. El z-eje mide el nmero de
instrucciones ejecutadas por el tercer proceso.
12. El mtodo slo puede s e r u s a d o para dirigir la programacin si el instante
exacto en el cual un recurso va a ser reclamado es conocido de antemano. En la
prctica, este
es raramente el caso.
13. Una peticin de D es insegura, pero un de C es seguro.
14. Hay estados que no son, ni caja fuerte, ni estancado, pero que conducen a
estados estancados. Como un ejemplo, suponga que tenemos cuatro recursos:
cintas, trazadores, exploradores, y CD-ROM, como en el texto, y tres procesos
compet-ing para ellos. Podramos tener la situacin siguiente:
Tiene
Necesidades
Disponibl
A: 2 0 0 0
1020
0e 1 2 1
B: 1 0 0 0
0131
C: 0 1 2 1
1010
Este estado no es estancado porque muchas acciones todava pueden ocurrir, para el
examenple, Una lata todava consigue dos impresoras. Sin embargo, si cada proceso
pide para su permanecer - ing exigencias, tenemos un punto muerto.
15. El sistema es el punto muerto libre. Suponga que cada proceso tiene un recurso.
Hay un recurso libre. El uno o el otro proceso puede pedirlo y conseguirlo, en
cuyo caso esto puede terminar y liberar ambos recursos. Por consiguiente el
punto muerto es imposible.
16. Si un proceso tiene el m recursos esto puede terminar y no puede estar
implicado en un punto muerto. Por lo tanto, el caso peor es donde cada proceso
tiene el m -1 recursos y necesita el otro. Si hay un recurso dejado terminado,
un proc-ess puede terminar y liberar todos sus recursos, dejando al fin de resto
tambin. All - delantero la condicin para evitar punto muerto es r p (m -1)
+1.
17. El no D todava puede terminar. Cuando esto termina, esto devuelve bastantes recursos
de permitir
E (o A) para terminar, etctera.
18. Con tres procesos, cada uno puede tener dos paseos. Con cuatro procesos, la
distribucin de paseos ser (2, 2, 1, 1), permitiendo a los dos primeros procesos
terminar. Con cinco procesos, la distribucin ser (2, 1, 1, 1, 1), que todava
permite que el primer termine. Con seis, cada posesin de una cinta conduce y
quiere - ing el otro, tenemos un punto muerto. As para n <6 el sistema es sin
punto muerto.

SOLUCIONES DE PROBLEMA PARA CAPTULO 13

11

19. La comparacin de una fila en la matriz al vector de recursos disponibles toma


el m operaciones. Este paso debe ser repetido en la orden de tiempos n de
encontrar un proc-ess que puede terminar y ser marcar como hecho. As la marca
de un proceso como hecho toma pasos de mn o la orden. La repeticin del
algoritmo para todos los procesos de n significa que el nmero de pasos es
entonces mn 2.
20. Las necesidades matix son como sigue:
01002
02100
10300
00111
Si x es 0, tenemos un punto muerto inmediatamente. Si x es 1, el proceso D
puede correr a la finalizacin. Cuando es terminado, el vector disponible es 1 1
2 2 1. Unfor-tunately somos estancados ahora. Si x es 2, despus de que D
carreras, el vector disponible es
1 1 3 2 1 y C puede correr. Despus de que esto termina y devuelve sus recursos
el provecho - el vector capaz es 2 2 3 3 1, que permitir que B dirija y
complete, y luego un para dirigir y complete. Por lo tanto, el valor ms
pequeo de x que evita un punto muerto es
2.
21. S. Suponga que todas las cajas son vacas. Ahora A enva a B y espera una
respuesta, el B enva a C y espera una respuesta, y C enva a A y espera
una respuesta. Todas las condiciones para el punto muerto son realizadas ahora.
22. Suponga que tratan unas peticiones los archivos en la orden a, b, c. Si el
proceso B tambin pide un primer, uno de ellos se pondr esto y el otro se
obstruirn. Esta situacin es siempre el punto muerto libre ya que el ganador
puede correr ahora a la finalizacin sin la interferencia. De las otras cuatro
combinaciones, unos pueden conducir a llegar a un punto muerto y unos son el
punto muerto libre. Los seis casos son como sigue:
un b c
llegue a un
punto muerto liberan un
cb
punto muerto
libre
b un c
punto muerto
posible b c un
punto
muerto posible c un b
punto muerto posible c b un
punto muerto
posible
Ya que cuatro de los seis pueden conducir a llegar a un punto muerto, hay una
posibilidad de 1/3 de evitar un punto muerto y una posibilidad de 2/3 de
conseguir el que.
23. El cierre de dos fases elimina puntos muertos, pero introduce el hambre potencial.
Un proceso tiene que seguir intentando y dejar de adquirir todos sus archivos. No
hay superior ligado en cuanto esto puede tomar.
24. Evitar circular esperan, numeran los recursos (las cuentas) con sus nmeros de
cuenta. Despus de leer una lnea de entrada, un proceso cierra con llave el
inferior y numerado

14

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 3

considere primero, luego cuando esto consigue la cerradura (que puede


implicar la espera), esto cierra con llave el otro. Ya que ningn proceso alguna
vez espera una cuenta ms abajo que lo que esto ya tiene, hay nunca una
circular no esperan, de ah nunca un punto muerto.
25. Cambie la semntica de solicitar un nuevo recurso c o m o s i g u e . Si un proceso
pide un nuevo recurso y est disponible, esto consigue el recurso y se conserva
que
esto ya tiene. Si el nuevo recurso no est disponible, todos los recursos
existentes son liberados. Con este guin, el punto muerto es imposible y no
hay ningn peligro que el nuevo recurso es adquirido pero los existentes
perdidos. Por supuesto, el proc-ess slo trabaja liberando un recurso es
posible (usted puede liberar un explorador entre pginas o un registrador de
CD entre CDs).
26. Yo le dara un F grado (que falla). Qu hace el proceso? Ya que esto
claramente necesita el recurso, esto slo pregunta otra vez y se obstruye otra
vez. Este no es mejor que la permanencia bloqueado. De hecho, puede ser
peor ya que el sistema puede guardar la pista de cuanto los procesos
competidores han estado esperando y adjudican un recurso recin liberado al
proceso que ha estado esperando el ms largo. Por peridicamente finalizando
e intentando otra vez, un proceso pierde su precedencia.
27. Si ambos programas piden el Altavoz para sonidos bajos primero, los
ordenadores pasarn hambre con el final - menos secuencia: solicite el Altavoz
para sonidos bajos, anule la peticin, solicite el Altavoz para sonidos bajos,
anule la peticin, etc. Si uno de ellos pide la perrera y el otro pide el perro,
tenemos un punto muerto, que es descubierto por ambos partidos y luego roto,
pero es repetido slo en el siguiente ciclo. El camino, si ambos ordenadores
han sido programados para ir despus del perro o la perrera primero, hambre o
punto muerto sigue. No hay realmente mucha diferencia entre los dos aqu.
En la mayor parte de problemas de punto muerto, el hambre no parece seria
porque intro-ducing tardanzas arbitrarias lo har por lo general muy con
poca probabilidad. Aquel acercamiento no trabaja aqu.
SOLUCIONES CON PROBLEMAS DEL CAPTULO 4
1. La posibilidad que cuatro procesos sean ociosos es 1/16, entonces la CPU tiempo
ocioso es
1/16.
2. Si cada trabajo hace que la entrada - salida del 50 % espere, entonces esto
tomar 20 minutos para completar en ausencia del concurso. De ser dirigido
secuencialmente, el segundo terminar 40 minutos despus de las primeras

ventajas de. Con dos empleos, la CPU aproximada utiliza-tion es 1 - 0.52. As

cada uno consigue 0.375 minuto de CPU por minuto de tiempo real. Para
acumular 10 minutos del tiempo de CPU, un trabajo debe correr a 10/0.375
minutos o aproximadamente 26.67 minutos. As dirigiendo secuencialmente el fin de
empleos despus de 40 minutos, pero dirigiendo en la paralela ellos terminan
despus de 26.67 minutos.

3. Casi la memoria entera tiene que ser copiada, que requiere que cada palabra sea
leda y luego vuelto a escribir en una posicin diferente. La lectura de 4 bytes
toma 10 nsec,

la tan lectura d e 1 b yt e toma 2.5 nsec y escritura que esto toma otros 2.5 nsec,
para un total de 5 nsec por byte comprimido. Este es un precio de
200, 000, 000 de b yt e s / s e gundos .
Para copiar 128 MB (227 bytes , que es aproximada me nte 1.34 108 bytes ),
el ordenador necesita 227 / 200, 000, 000 segundos, que es aproximadamente
671 msec. Este nmero es ligeramente pesimista porque si el agujero inicial en
el fondo de la memoria es bytes k, aquellos bytes k no tienen que ser copiados.
Sin embargo, si hay muchos agujeros y muchos segmentos de datos, los
agujeros sern pequeos entonces el k ser pequeo y el error en el clculo
tambin ser pequeo.
4. El mapa de bit necesita 1 trozo por unidad de asignacin. Con 227 unidades de
asignacin/n, este es
224/
n bytes. La lista unida tiene 227 / 216 o 211 nodos, cada uno de 8 bytes para
un total de 214 bytes . Para pequeo n, la lista unida es mejor. Para n grande, el
trozo - el mapa es mejor. El punto de transicin puede ser calculado
comparando estas dos frmulas y solucionando para n. El resultado es 1
KILOBYTE. Para n ms pequeo que 1 KILOBYTE, una lista unida es
mejor. Para n ms grande que 1 KILOBYTE, un mapa de bit es mejor. Por
supuesto, la asuncin de segmentos y agujeros que alternan cada 64
KILOBYTES es muy poco realista. Tambin, necesitamos n <= 64
KILOBYTES si los segmentos y los agujeros son 64 KILOBYTES.
5. Primero adecuado toma 20 KILOBYTES, 10 KILOBYTES, 18 KILOBYTES. Mejor
adecuado toma 12 KILOBYTES, 10 KILOBYTES, Y 9 KILOBYTES.
Peor adecuado toma 20 KILOBYTES, 18 KILOBYTES, Y 15 KILOBYTES. Despus
adecuado toma 20 KILOBYTES, 18 KILOBYTES, y 9
KILOBYTE.
6. La verdadera memoria usa direcciones fsicas. stos son los nmeros que los
chips de memoria reaccionan a en el autobs. Las direcciones virtuales son
las direcciones lgicas que se refieren al espacio de direccin de un proceso.
As una mquina con una palabra 16 bites puede generar direcciones virtuales
hasta 64 kilobyt e , sin tener en cuenta si la mquina tiene ms o menos la
memoria que 64 KILOBYTES.
7. Ya que una pgina de 4 KILOBYTES ponen la talla el (pgina, compensan) los pares
son (4, 3616), (8, 0), (y 14,
2656). Ya que una pgina de 8 KILOBYTES ponen la talla ellos son (2, 3616), (4, 0),
(7, 2656).
8. (a) 8212 (b) 4100 (c) 24684
9. Ellos construyeron un MMU y lo insertaron entre los 8086 y el autobs. As todos
8086 direcciones fsicas entraron en el MMU como direcciones virtuales. El MMU
entonces trazado un mapa ellos en direcciones fsicas, que fueron al autobs.
10. El espacio de direccin virtual total para todos los procesos combinados es nv
entonces este mucho almacenaje es necesario para pginas. Sin embargo una
cantidad r puede estar en la RAM, entonces la cantidad del almacenaje de
disco requerido es slo nv -r. Esta cantidad es mu c h o m s q u e es
necesario alguna vez en la prctica porque raramente estar all procesos de
n actu-correr de aliado y an ms raramente van a todos ellos necesitar que el
mximo permitiera la memoria virtual.

SOLUCIONES DE PROBLEMA PARA CAPTULO 5

11

11. Una falta de pgina cada instrucciones k aaden un suplementario arriba d e n / k


msec al promedio, entonces la instruccin media toma 10 + n / k nsec.

12. La mesa de pgina contiene 232 / 213 entradas, que es 524,288. La carga de la
mesa de pgina toma 52 msec. Si un proceso consigue 100 msec, este consiste
en 52 msec para cargar la mesa de pgina y 48 msec para el correr. As el 52
por ciento del tiempo
es gastado cargando mesas de pgina.
13. Veinte trozos son usados para los nmeros de pgina virtuales, dejando 12 para la
compensacin. Este cede una pgina de 4 KILOBYTES. Veinte trozos para
la pgina virtual implican 220 pginas.
14. El nmero de pginas depende del nmero total de trozos en a, b, y c com-bined.
Como ellos son partidos entre los campos no importa.
15. Para una mesa de pgina en un nivel, hay 232 / 212 o 1M pginas necesarias.
As la mesa de pgina debe tener 1M entradas. Para la paginacin de dos
niveles, la mesa de pgina principal tiene entradas de 1 kilobyte, cada uno de
las cuales seala a una segunda mesa de pgina. Slo dos de stos son usados.
As en total las entradas de mesa slo de tres pginas son necesarias, un
en la mesa de alto nivel y un en cada una de las mesas de nivel inferior.
16. La cuerda de referencia y cdigo es como sigue
CARGUE 6144, R0
(D) EMPUJAN R0
(D) LLAMAN 5120
(D) JEQ 5152

1 (I), 12
2 (I), 15
2 (I), 15
10 (I)

El cdigo (I) indica una referencia de instruccin, mientras que (D) indica una
referencia de datos.
17. El tiempo de instruccin eficaz es 1r +5 (1 -h), donde h es el precio de golpe. Si
comparamos esta frmula con 2 y solucionamos para h, encontramos que h debe
ser al menos
0.75.
18. El trozo de R nunca no es necesario en el TLB. La mera presencia de una
pgina all significa que la pgina ha sido referida; por otra parte no estara
all. As el trozo es completamente redundante. Cuando la entrada es c ont es t a da a
la memoria, sin embargo, el trozo de R en la mesa de pgina de memoria es
puesto.
19. Una memoria asociativa esencialmente compara una llave a los contenido de
registros mltiples simultneamente. Para cada registro debe haber un juego de
comparators que comparan cada trozo en los contenido de registro a la llave
b u s c a d a para. El nmero de puertas (o transistores) tena que poner en
prctica tal dispositivo es una funcin lineal del nmero de registros, la tan
ampliacin del diseo se hace cara en lnea recta.
20. Con pginas de 8 KILOBYTES y un espacio de direccin virtual de 48 trozos, el
nmero de pginas virtuales es 248 / 213, que es 235 (aproximadamente 34 mil
millones).
21. La memoria principal tiene 228 / 213 = 32,768 pginas. Una mesa de picadillo
de 32 kilobyte tendr una longitud de cadena media de 1. Para ponernos bajo 1,
tenemos que ir al siguiente tamao,

SOLUCIONES DE PROBLEMA PARA CAPTULO 17

11

65,536 entradas. La extensin de 32,768 entradas sobre unas 65,536 ranuras de


mesa dar una longitud de cadena media de 0.5, que asegura la consulta rpida.
22. Este no es probablemente posible e xce pto el extrao y no caso muy til
de un programa cuyo curso de la ejecucin es completamente previsible en
compila-tion el tiempo. Si un compilador colecciona la informacin sobre las
posiciones en el cdigo de llamadas a procedimientos, esta informacin podra
ser usada en el tiempo de eslabn para reajustar el cdigo de objeto entonces
los procedimientos estuvieron localizados ce rca del cdigo que los llama.
Este lo hara ms probablemente que un procedimiento sera en la misma
pgina
como el cdigo que llama. Por supuesto este no ayudara mucho para
procedimientos llamados de muchos sitios en el programa.
23. Los marcos de pgina para el FIFO son como sigue:
x017 2333300 xx01 7222233 x x x 0 1777722 xxxx 0111177
Los marcos de pgina para LRU son como sigue:
x017 2327103 xx01 7232710 x x x 0 1773271 xxxx 0111327
El FIFO cede faltas de 6 pginas; el LRU cede 7.
24. La primera pgina con 0 trozos ser elegida, en este caso D.
25. Los mostradores son
La pgina 0: 0110110
La pgina 1: 01001001
La pgina 2: 00110111
La pgina 3: 10001011
26. La primera pgina con R = 0 y edad> tser elegida. Desde las ventajas de
exploracin en el fondo, la primera pgina (1620) es desalojada.
27. La edad de la pgina es 2204 -1213 = 991. Si t = 400, es definitivamente fue ra
del juego de funcionamiento y no fue referido recientemente as ser desalojado.
El
t =1000 la situacin es diferente. Ahora las cadas de pgina dentro del
funcionamiento se ponen
(apenas), entonces no es quitado.
28. Buscar ms la latencia rotatoria es 20 msec. Para pginas de 2 KILOBYTES, el
tiempo de transferencia es 1.25 msec, para un total de 21.25 msec. La carga de
32 de estas pginas tomar 680 msec. Para pginas de 4 KILOBYTES, el
tiempo de transferencia es doblado a 2.5 msec, entonces el tiempo total por
pgina es 22.50 msec. La carga de 16 de estas pginas toma 360 msec.
29. El NRU quita la pgina 2. El FIFO quita la pgina 3. El LRU quita la pgina 1. La
segunda posibilidad quita la pgina 2.
30. El PDP-1 paginacin del tambor tena la ventaja de ninguna latencia rotatoria.
Esta media rotacin salvada cada vez memoria fue escrito al tambor.

18

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 4

31. El texto es o c h o p g i n a s , los datos son c i n c o p g i n a s , y la pila es c u a t r o


pginas.
El programa no cabe porque esto necesita 17 pginas de 4096 bytes. Con una
pgina de 512-bytes, la situacin es diferente. Aqu el texto es 64 pginas, los
datos son 33 pginas, y la pila es 31 pginas, para un total de 128 pginas de
512 bytes, que cabe. Con el pequeo tamao de pgina est bien, pero no con
el grande.
32. Si las pginas pueden ser compartidas, s. Por eje mplo , si dos usuarios de un
tiempo compartido sys-tem dirigen al mismo redactor al mismo tiempo y el texto
de programa es compartido ms bien que copiado, algunas de aquellas
pginas pueden estar en el juego trabajador de cada usuario al mismo tiempo.
33. Es posible. Asumiendo que la segmentacin no est presente, la proteccin
infor-mation debe estar en la mesa de pgina. Si cada proceso tiene su propia
mesa de pgina, cada uno tambin tiene sus propios trozos de proteccin. Ellos
podran ser diferentes.
34. El programa consigue faltas de 15,000 pginas, cada uno de las cuales usa 2
msec del tiempo de procesamiento suplementario. Juntos, la falta de pgina
arriba es 30 segundos. Este significa aquel d e 6 0 s e g u n d o s usados, la mitad
fue gastada en la falta de pgina arriba, y mitad en el correr del programa. Si
dirigimos el programa con dos veces ms la memoria, conseguimos la mitad
como faltas de pgina de memoria, y slo 15 segundos de la pgina critican
arriba, entonces el tiempo de ejecucin total ser 45 segundos.
35. Esto trabaja para el programa si el programa no puede ser modificado. Esto
trabaja para los datos si los datos no pueden ser modificados. Sin embargo, es
comn que el programa no puede ser modificado y muy raro que los datos no
pueden ser modificados. Si el rea de datos en el archivo binario fuera
superpuesta con pginas actualizadas, la prxima vez que el programa fue
comenzado, esto no tendra los datos originales.
36. La instruccin podra estar a horcajadas sobre un lmite de pgina, causando faltas de
dos pginas slo
traer la instruccin. La palabra trada tambin podra atravesar un lmite de
pgina, generando ms dos faltas, para un total de cuatro. Si las palabras deben
ser alineadas en la memoria, la palabra de datos puede causar slo una falta,
pero una instruccin para cargar a
La palabra 32 bites en la direccin 4094 en una mquina con una pgina de 4
KILOBYTES es legal en algunas mquinas (incluso el Pentium).
37. La fragmentacin interna ocurre cuando la ltima unidad de asignacin no es
llena. El Exter-nal fragmentacin ocurre cuando el espacio es gastado entre dos
unidades de asignacin.
En un sistema de paginacin, el espacio gastado en la ltima pgina es perdido
a frag-interno mentation. En un sistema de segmentacin puro, algn espacio
es invariablemente perdido entre los segmentos. Este es debido a la
fragmentacin externa.
38. El no de la llave de bsqueda usa tanto nmero de segmento como el nmero de
pgina virtual, entonces la pgina exacta puede ser encontrada en un partido solo.

SOLUCIONES DE PROBLEMA PARA CAPTULO 5

19

SOLUCIONES CON PROBLEMAS DEL CAPTULO 5


1. En la figura, vemos a un regulador con dos dispositivos. La razn que se espera
que un regulador solo maneje dispositivos mltiples es eliminar la necesidad
de tener un regulador por dispositivo. Si los reguladores se hacen casi libres,
entonces esto va a
est ms simple slo de incorporar al regulador en el dispositivo s mismo. Este
diseo tambin permitir transferencias mltiples en la paralela y as dar la
mejor interpretacin.
2. Fcil. El explorador saca el mximo de 400 KILOBYTES/SEGUNDOS. El autobs y
disco ambos dirigido
en 16.7 MB/segundos, entonces ni el disco ni el autobs vienen en todas
partes cerca de satura-tion.
3. Esto no es una idea buena. El autobs de memoria es seguramente ms rpido
que el autobs de entrada - salida, otro - sabio por qu molestia con ello?
Considere lo que pasa con una peticin de memoria normal. El autobs de
memoria termina primero, pero el autobs de entrada - salida est todava
ocupado. Si la CPU espera hasta los fines de autobs de entrada - salida, esto ha
reducido la interpretacin de memoria a aquel del autobs de entrada - salida.
Si esto slo intenta el autobs de memoria para la segunda referencia, esto
fallar si ste es una referencia de dispositivo de entrada - salida. Si hubiera
algn camino de abortar al instante la referencia de autobs de entrada - salida
anterior para intentar el segundo, la mejora podra trabajar, pero hay nunca tal
opcin. En conjunto, esto es una idea mala.
4. Cada transaccin de autobs tiene una peticin y una respuesta, cada toma de 100 nsec,
o
200 nsec por transaccin de autobs. Este da 5 millones de
transacciones/segundos de autobs. Si cada uno est bien para 4 bytes, el
autobs tiene que manejar 20 MB/segundos. El hecho que estas
transacciones pueden ser rociadas ms de cuatro dispositivos de entrada salida en la manera de retorno al punto de origen es irrelevante. Una
transaccin de autobs toma 200 nsec, sin tener en cuenta si las peticiones
consecutivas son al mismo dispositivo o dispositivos diferentes, entonces el
nmero de canales que el regulador DMA tiene no importa. El autobs no sabe
o se preocupa.
5. Interrumpir requiere empujando de 34 palabras en la pila. Devolver de interrumpir
requiere la atraccin de 34 palabras de la pila. Este arriba solo es
680 nsec. As el nmero mximo de interrumpe por segundo es no ms que
aproximadamente 1.47 millones, asumiendo que ningn trabajo para cada uno
interrumpe.
6. Podra haber sido hecho en el principio. Una razn de hacerlo al final es que el
cdigo del procedimiento de servicio interrumpir es mu y c o r t o . Por primer
outputting otro carcter y luego el reconocimiento de interrumpir, si el otro
interrumpe pasa inmediatamente, la impresora trabajar durante interrumpir,
haciendo
esto imprime ligeramente ms rpido. Una desventaja de este acercamiento es el
tiempo improductivo ligeramente ms largo cuando otro interrumpe puede ser
minusvlido.
7. S. El ordenador personal apilado seala a la primera instruccin no trada. Todo
instruc-tions antes de que esto haya sido ejecutado y la instruccin sealado a

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 4

y sus sucesores no han sido ejecutados.

Este es la condicin para preciso

interrumpe. Preciso interrumpe no son difciles de conseguir en la mquina


con una tubera sola. El problema e n t r a cuando las instrucciones son
ejecutadas e s t r o p e a d a s , que no est el caso aqu.
8. La impresora imprime 50 80 6 =24, 000 caracteres/minuto, que es 400
caracteres/segundo. Cada carcter usa 50 msec del tiempo de CPU para
interrumpir, tan colectivamente en cada segundo interrumpir arriba es 20 msec.
La
utilizacin interrumpe - entrada - salida conducida, el restante 980 msec del
tiempo est disponible para otro trabajo. En otras palabras, los costos generales
interrumpirs slo el 2 % de la CPU, que afectar apenas el programa de correr
en absoluto.
9. La independencia de dispositivo significa que tienen acceso a archivos y los
dispositivos el mismo camino, independiente de su naturaleza fsica. Los
sistemas que tienen el juego del que de llamadas a la escritura en un archivo, pero
un juego diferente de llamadas a la escritura en la consola (termi-nal) no
exponen la independencia de dispositivo.
10. (a) Controlador
de dispositivos.
(b) Controlador
de dispositivos.
(c) Software independiente por el
dispositivo. (d) software de Nivel
del usuario.
11. Basado en los datos en el Higo 5-17, para el ejemplo de disco flexible, hay
9 512 8 36864trozos =por pista. En 200 msec por rotacin la velocidad binaria es
1 8 4 , 3 2 0 t r oz o s / s e g u n d o s . El disco duro tiene un promedio de 281 sectores
por pista, as hay 281 512 8 =1, 150, 976 trozos/pistas en el promedio. Un
tiempo de rotacin de 8.33 msec corresponde a 120 rotacin/segundo (7200
revoluciones por minuto), entonces en un segundo el disco puede transferir 120
1, 150, 976 trozos. Este es aproximadamente 138 millones de
trozos/segundos. La velocidad de transferencia de datos del disco
flexible es aproximadamente tres veces que de un 56-mdem Kbps. La
velocidad de transferencia de datos del disco duro es aproximadamente el 38 % ms rpida que
Ethernet Rpida. Sin embargo, estos clculos subestiman las velocidades de
transferencia de datos mximas actuales, porque para cada 512 bytes de datos en
un disco hay tambin varios bytes de formatear la informacin, identificar la
pista y sector, as como un hueco entre sectores, necesarios de impedir a
sectores superponerse
si hay variaciones de velocidad leves.
12. Un paquete debe ser copiado cuatro veces durante este proceso, que toma 4.1
msec. Hay tambin dos interrumpe, que explican 2 msec. Finalmente, el
tiempo de transmisin es 0.83 msec, para un total de 6.93 msec por 1024
bytes. La velocidad de transferencia de datos mxima es as 147,763
bytes/segundos, o aproximadamente el 12 por ciento del nom-inal capacidad
de red de 10 megabites/segundos . (Si incluimos el protocolo arriba, las
figuras hasta empeoran.)
13. Si la impresora fuera adjudicada t a n pr o nt o c o mo la salida apareci, un proceso
podra

SOLUCIONES DE PROBLEMA PARA CAPTULO 21

amarre la impresora imprimiendo u n o s caracteres y luego yendo a dormir


durante una semana.

19

22

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 5

14. El disco gira en 120 revoluciones por minuto, entonces 1 rotacin toma 1000/120
msec. Con 200 sectores por rotacin, el tiempo de sector es 1/200 de este
nmero o 5/120 = 1/24 msec. Durante el 1-msec buscan, 24 pase de sectores
bajo la cabeza. As el cilindro sesga debera ser 24.
15. Cuando vimos en el problema anterior, el tiempo de sector es 1/24 msec. Este
significa que el disco puede leer 24,000 sectores/segundo. Ya que cada sector
contiene 512 bytes, la velocidad de transferencia de datos es 12,288,000
bytes/segundos. Este precio es 11.7 MB/segundos.
16. El nivel de INCURSIN 2 slo no puede reponerse se estrell paseos, sino
tambin de errores pasajeros pasados por alto. Si un paseo entrega un trozo malo
solo, nivel de INCURSIN
2 corregir este, pero ASALTAR el nivel 3 no van a.
17. La probabilidad de 0 fracasos, P 0, es (1 -p) k. La probabilidad de 1 fracaso, P 1,
es kp (1 -p) k -1. La probabilidad de un fracaso de INCURSIN es entonces 1 - P 0 -P
1. Este
es 1 -(1 -p) k -kp (1 -p) k -1.
18. Un campo magntico es generado entre dos postes. No slo es difcil hacer la fuente
d e u n c a m p o m a g n t i c o pequea, sino tambin las extensiones de
campaa rpidamente, que conduce a problemas mecnicos que tratan de
guardar la superficie de un medio magntico cerca de una fuente magntica o
sensor. Un Gen de lser de semiconductor - el erates luz en un muy pequeo
lugar, y la luz puede ser pticamente manipulado para iluminar un muy
pequeo punto a una relativamente gran distancia de la fuente.
19. Posiblemente. Si la mayor parte de archivos son almacenados en sectores
lgicamente consecutivos, esto podra ser intercalar que vale la pena los
sectores para dar el tiempo de programas para tratar los datos slo recibidos,
de modo que cuando la siguiente peticin es publicada, el disco estuviera en
el lugar derecho. Si este merece el problema depende fuertemente de la clase
de programas dirigidos y como el uniforme su comportamiento es.
20. El tiempo de rotacin es 200 msec. Leyendo todos los sectores a f in de
requiere que la rotacin 1/2 consiga rotaciones del sector 0 y 2.75 para
conseguir los datos (despus de que el sector 7 es ledo, la transferencia es
terminada). As 3.25 rotaciones son necesarias para 650 msec. Lea - ing 4
kilobyte en 650 msec es 6302 bytes/segundos. Para un disco no intercalado,
esto toma 300 msec para leer 4 kilobyte, que es 13,653 bytes/segundos.
Intercalar reduce la capacidad
a 6302/13653 o 0.46 de su antigua capacidad.
21. Tal vez s y tal vez no. Doble intercalar es con eficacia un cilindro sesgan
de dos sectores. Si la cabeza puede hacer una pista a pista buscar en menos
de dos veces de sector, que ningn cilindro adicional sesga es necesario. Si
esto no puede, entonces el cilindro adicional sesga es necesario para evitar
perder un sector despus de buscar.
22. La capacidad de paseo y los precios de transferencia son doblados. El tiempo
buscar y hace un promedio de la tardanza rotatoria son el mismo.

SOLUCIONES DE PROBLEMA PARA CAPTULO 23

19

23. Una consecuencia bastante obvia es que ningn sistema operativo existente
trabajar porque todos ellos mira all para ver donde las particiones de disco
son. El Chang-ing el formato de la mesa de particin har que todos los sistemas
operativos fallen. El nico modo de cambiar la mesa de particin es cambiarse
simultneamente
todos los sistemas operativos para usar el nuevo formato.
24. (a) 10 + 12 + 2 + 18 + 38 + 34 + 32 = 146 cilindros = 876 msec.
(b) 0 + 2 + 12 + 4 + 4 + 36 +2
= 60 cilindros = 360 msec.
0 + 2 + 16 + 2 + 30 + 4 + 4
= 58 cilindros = 348 msec.
25. No necesariamente. Un programa UNIX que lee 10,000 cuestiones de bloques el
las peticiones uno por uno, obstruyndose despus de que cada uno es
publicado hasta que esto sea com-pleted. As el controlador del disco ve
slo una peticin a la vez; esto no tiene ningn oppor-tunity para hacer t o d o
m e n o s los tratan en la orden de llegada. Harry debera haber a r r a n c a d o
muchos procesos almismotiempo para ver si el montacargas algo-rithm trabaj.
26. Hay una raza pero esto no importa. Ya que los estables se escriben ha
completado ya, el hecho que la RAM permanente no ha sido actualizada slo
medios que el programa de recuperacin sabr qu bloque estaba siendo
escrito.
Esto leer ambas copias. Encontrndolos idntico, esto no cambiar a ninguno, que
es la accin correcta. El efecto del accidente justo antes de la RAM
permanente fue actualizado slo medios que el programa de recuperacin
tendr que hacer dos disco lee ms que esto debera.
27. Dos msec 60 veces por segundo son 120 msec/sec, o el 12 por ciento de la CPU
28. El nmero de segundos en un ao medio es 365.25 24 3600. Este nmero es
31,557,600. El contador se abriga alrededor despus de 232 segundos a partir del 1 de
enero
1970. El valor de 232/31,557,600 es 136.1 aos, as abrigndose pasar en
2106.1, que es a principios de febrero 2106. Por supuesto, para entonces,
todos los ordenadores sern al menos 64 trozos, entonces no pasar en absoluto.
29. Cada lnea requiere 3200 8 =25, 600 muestras/segundo. En 1 msec por
muestra, cada lnea toma 25.6 msec del tiempo del procesador cada segundo. Con
39 lneas, el procesador est ocupado para 39 25.6 = 998.4 msec cada segundo,
que da la capacidad de la tarjeta como 39 lneas.
30. Despus de que un carcter es escrito a un terminal RS232, esto toma
relativamente mucho tiempo antes de que sea imprimido. La espera sera prdiga, tan
interrumpe son usados. Con terminales trazados un mapa por la memoria, el
carcter es aceptado al instante, tan inter - los rupts no tienen sentido.
31. En 56 Kbps, tenemos 5600 interrumpe/segundo, que es 560 msec. Este es el 56 %
de la CPU.

24

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 5

32. El desplazamiento de la ventana requiere la copia de 59 lneas de 80 caracteres


o 4720 trabajo por horas - acters. La copia de 1 carcter (16 bytes) toma 800
nsec, entonces la ventana entera toma 3.776 msec. La escritura de 80
caracteres a la pantalla toma 400 nsec, as enrollando y mostrando una nueva
lnea toma 4.176 msec. Este da aproximadamente 239.5 lneas/segundo.
33. Suponga que el usuario por descuido pidi al redactor imprimir miles de lneas.
Entonces l golpea DEL para pararlo. Si el conductor no desechara la salida, la
salida podra seguir durante varios segundos despus del DEL, que hara el
usuario golpear DEL una y otra vez y ser frustrados cuando nada pas.
34. Esto debera mover el cursor para rayar 5 posicin 7 y luego suprimir 6 caracteres.
La secuencia es ESC [5; 7 H ESC [6 P
35. El procesador empotrado dentro del terminal tiene que mover todos los
caracteres una lnea por slo copindolos. Visto del interior, el terminal es la
memoria trazada un mapa. No hay ningn modo fcil de evitar esta
organizacin a menos que spe-cial hardware est disponible.
36. Las 25 lneas de caracteres, cada uno 8 pixeles altos, requieren que 200 exploraciones
dibujen.
Hay 60 pantallas por segundo, o 12,000 exploraciones/segundo. En 63.6
msec/scan, la viga mueve horizontalmente 763 msec por segundo, yndose de
237 msec del mandato judicial - ing en la RAM de vdeo. As la RAM de vdeo
es el 23.7 % disponible del tiempo.
37. El precio mximo que el ratn puede mover es 200 mm/segundos, que es 2000
mickey/segundo. Si cada informe es 3 bytes, el precio de salida es 6000
bytes/segundos.
38. Con un sistema en color de 24 trozos, slo 224 colores pueden ser representados. Este no
es todo
de ellos. Por ejemplo, suponga que un fotgrafo toma cuadros de 300 latas
de pintura azul pura, cada uno con una cantidad ligeramente diferente de
pigmento. El primer puede podra ser representado por el (R, G, B) valor (0, 0, 1).
El prximo podra
sea representado por (0, 0, 2), etc. Ya que la coordenada de B es slo 8 trozos, hay
ningn modo de representar 300 valores diferentes de los puros azul. Algunos
de foto - grficos tendrn que ser dados como el color incorrecto. Otro ejemplo
es el color (120.24, 150.47, 135.89). No puede ser representado, slo se acerc
por (120, 150, 136).
39. (a) Cada pixel toma 3 bytes en RGB, entonces el espacio de mesa es 16 24 3
bytes , que es 1152 bytes.
(b) En 100 nsec por byte, cada carcter toma 115.2 msec. Este da un - el precio
puesto de aproximadamente 8681 trabajos por horas/segundo.
40. Volver a escribir la pantalla de texto requiere 2000 bytes que copian, que pueden ser
hechos en
20 mseconds. Volver a escribir la pantalla de grficos requiere la copia de 1024 768
3
= 2,359,296 bytes, o aproximadamente 23.6 msec.

SOLUCIONES DE PROBLEMA PARA CAPTULO 25

19

41. En el Windows, el OS llama los procedimientos de tratante s mismo. En el


Windows X, noth-ing como este pasa. X slo consigue un mensaje y lo trata
internamente.
42. El primer parmetro es esencial. En primer lugar, las coordenadas son con relacin a
alguna ventana, entonces hdc es necesario para especificar la ventana y as el
origen. Segundo, el rectngulo ser prendido si esto se cae fuera de la ventana,
entonces las coordenadas de ventana son necesarias. El tercero, el color y otras
propiedades del rectngulo son tomados del contexto especificado por hdc. Es
completamente esencial.
43. El tamao de demostracin es 400 160 3 bytes , que es 192,000 bytes. En 10 fps
este es 1,920,000 bytes/segundos o 15,360,000 trozos/segundos. Este
consume el 15 % de Ethernet Rpida.
44. La amplitud de banda en un segmento de red es compartida, entonces 100
usuarios que solicitan dif-ferent datos simultneamente en una red 1-Mbps
vern cada uno una velocidad eficaz 10-Kbps. Con una red compartida, un
programa de TV puede ser multiechado, entonces los paquetes de vdeo slo
son transmitidos una vez, n o i mp o r t a c u a n t o s usuarios all son y esto
debera trabajar bien. Con 100 usuarios que hojean la Web, cada usuario
conseguir 1/100 de la amplitud de banda, entonces la interpretacin puede
degradar muy rpidamente.
45. Si n =10, la CPU todava puede hacer su trabajo a t i e m p o , pero la energa
us gotas sensiblemente. Si la energa consumida en 1 s e g u n d o en la
velocidad llena es E, entonces el correr en la velocidad llena para 100 msec
que entonces van ocioso para 900 msec usa E/10. El correr en la velocidad
1/10 durante un segundo entero usa E/ 100, a ahorro de 9e/100. Los ahorros
de por ciento cortando el voltaje son el 90 %.
46. El sistema windowing usa mucho ms memoria para su demostracin y usa virtual memoria ms que el modo de texto. Este lo hace menos probablemente
que el disco duro ser inactivo para un bastante mucho tiempo de perodo
para hacer que ello fuera automticamente impulsado abajo.

SOLUCIONES CON PROBLEMAS DEL CAPTULO 6


1. Usted puede ir de arriba abajo el rbol tan a menudo como usted quiere usar
"..". Algunos muchos caminos son
/etc/passwd
/./etc/passwd
/././etc/passwd
/./././etc/passwd
/etc/. ./etc/passwd
/etc/. ./etc/../etc/passwd
/etc/. ./etc/../etc/../etc/passwd
/etc/. ./etc/../etc/../etc/../etc/passwd

2. El Windows camino debe usar la extensin de archivo. Cada extensin corresponde a


un tipo de archivo y a algn programa que maneja aquel tipo. Otro camino es
recordar qu programa cre el archivo y dirigi aquel programa. La tontera
Macin-trabaja este camino.
3. Estos sistemas cargaron el programa directamente en la memoria y comenzaron a
ejecutar en la palabra 0, que era el nmero mgico. Evitar tratar de ejecutar el
jefe
como el cdigo, el nmero mgico era una instruccin de RAMA con una
direccin objetivo slo encima del jefe. De esta manera era posible leer el
archivo binario directamente en el espacio de direccin del nuevo proceso y
dirigirlo en 0, sin saber hasta de que tamao el jefe era.
4. E l s i s t e ma o p e r a t i v o se preocupa por la longitud de registro cuando los archivos
pueden ser estructurados
como registra con llaves en una posicin especfica dentro de cada registro y es posible
pedir un registro con una llave dada. En este caso, el sistema tiene que saber de
que tamao los archivos son as esto puede buscar cada uno para la llave.
5. Para comenzar con, si all no estaban abiertos, en cada ledo sera necesario
especificar el nombre del archivo para ser abierto. El sistema tendra que traer
entonces el i-nodo para ello, aunque pudiera ser cached. Una cuestin que
rpidamente se levanta es cuando limpiar con agua el i-nodo atrs al disco. Esto
podra el intervalo de espera, sin embargo. Sera un poco torpe, pero esto
podra trabajar.
6. El no Si usted quiere leer el archivo otra vez, slo al azar tiene acceso al byte 0.
7. S. La llamada renombrar no cambia el tiempo de creacin o el tiempo de la
ltima modificacin, pero la creacin de un nuevo archivo hace que ello consiga
el tiempo corriente tanto como tiempo de creacin como el tiempo de la ltima
modificacin. Tambin, si el disco es lleno, la copia podra fallar.
8. La parte trazada un mapa del archivo debe comenzar en un lmite de pgina y ser
un nmero integral de pginas en la longitud. Cada pgina trazada un mapa usa
el archivo s mismo como el al macenamiento de respaldo . La memoria
no trazada un mapa usa u n a r c h i v o r e u t i l i z a b l e o particin como el
almacenamiento de respaldo.
9. Nombres de archivo de uso como/usr/ast/file. Mientras esto parece a un nombre de
camino jerrquico, esto es realmente slo un nombre solo cuchilladas empotradas
que contienen.
10. Un camino es aadir un parmetro suplementario a la llamada de sistema leda
que cuenta que direccin leer de. E n e f e c t o , cada ledo entonces tiene un
potencial para hacer buscar dentro del archivo. Las desventajas de este esquema
son (1) param-suplementario eter en cada llamada leda, (y 2) requerimiento
del usuario guardar la pista de donde la aguja de archivo es.
11. El componente dotdot mueve la bsqueda a/usr, tan ../ast lo pone en/usr/ast.
As ../ast/x es el mismo como/usr/ast/x.

12. Ya que el almacenaje gastado est entre las unidades de asignacin (archivos),
no dentro de ellos, este es la fragmentacin externa. Es e x a c t a me n t e
a n l o g o a la fragmentacin externa de la memoria principal que ocurre con
un sistema de cambio o un sys-tem la utilizacin de la segmentacin pura.
13. Esto toma 9 msec para comenzar la transferencia. Leer 213 bytes en un precio
de transferencia de 223 bytes/segundos requiere 2-10 segundo (977 msec),
para un total de 9.977 msec. La escritura de ello atrs toma otros 9.977 msec.
As la copia de un archivo toma 19.954 msec. Comprimir la mitad de un disco
de 16 GRAN BRETAA implicara copiar 8 GRAN BRETAA del
almacenaje, que
es 220 archivos. En 19.954 msec por archivo, este toma 20,923 segundos, que es
5.8 horas. Claramente, comprimiendo el disco despus de que cada retiro de
archivo no es una gran idea.
14. Si derecho hecho, s. Comprimiendo, cada archivo debera ser organizado de modo que
todos
de sus bloques son consecutivos, para el acceso rpido. El Windows tiene un
programa que defragments y reorganiza el disco. Los usuarios son animados a
dirigirlo periodi-cally para mejorar la interpretacin de sistema. Pero
considerando c u a n t o esto toma, corriendo una vez al mes podra ser una
frecuencia buena.
15. Un digital todava cmara registra algn nmero de fotografas en la secuencia
en un medio de almacenaje permanente (p.ej, memoria de destello). Cuando la
cmara es reinicializada, el medio es vaciado. A partir de entonces, los cuadros
son registrados uno por uno en la secuencia hasta que el medio sea lleno, en cual
tiempo ellos son cargados a un disco duro. Para esta aplicacin, un sistema de
archivo contiguo dentro de la cmara (p.ej, en el medio de almacenaje de
cuadros) es ideal.
16. Esto encuentra la direccin del primer bloque en la entrada de directorio. Esto
entonces sigue la cadena de agujas de bloque en la GRASA hasta que esto
haya localizado el bloque que esto necesita. Esto entonces recuerda este
nmero de bloque para la siguiente llamada de sistema leda.
17. El bloque indirecto puede sostener 256 direcciones de disco. Juntos con las 10
direcciones de disco directas, el archivo mximo tiene 266 bloques. Ya que cada
bloque es 1 KILOBYTE, el archivo ms grande es 266 KILOBYTES.
18. Debe haber un modo de sealar que las agujas de bloque de direccin sostienen
datos, ms bien que agujas. Si all queda poco en algn sitio entre los atributos,
puede ser usado. Este deja nueve agujas para datos. Si las agujas son bytes k
cada uno, el archivo almacenado podra estar a la altura de bytes de 9 kilobyte
mucho tiempo. Si ningn trozo queda entre los atributos, la primera direccin
de disco puede sostener una direccin invlida para marcar los bytes siguientes
como datos ms bien que agujas. En este caso, el archivo mximo es
Bytes de 8 kilobyte.
19. Elinor tiene razn. Teniendo dos copias del i-nodo en la mesa al mismo tiempo
es un desastre, a menos que ambos sean ledos slo. El caso peor es cuando
ambos estn siendo actualizados simultneamente. Cuando los i-nodos son
contestados al disco, cualquiera uno es escrito ltimo borrar los cambios
hechos por el otro, y los bloques de disco sern perdidos.

SOLUCIONES DE PROBLEMA PARA CAPTULO 27

19

20. Los eslabones difciles no requieren que ningn espacio de disco


suplementario, slo un contador en el i-nodo guarde la pista de cuantos hay. Los
eslabones simblicos necesitan el espacio para almacenar el nombre del archivo
sealado a. Los eslabones simblicos pueden sealar a archivos sobre otras
mquinas, hasta sobre el Internet. Los eslabones difciles son restringidos a
sealar a archivos dentro de su propia particin.
21. El mapa de bit requiere trozos B. La lista libre requiere trozos DF. La lista libre
requiere menos trozos si DF <B. O bien, la lista libre es ms corta si
El F/B <1/D, donde F/B es la fraccin de bloques libres. Para direcciones de
disco 16 bites, la lista libre es ms corta si el 6 por ciento o menos del disco son
libres.
22. El principio del mapa de bit parece:
(a) Despus de escribir archivo B: 1111 1111
1111 0000 (b) Despus de suprimir archivo A:
1000 0001 1111 0000 (c) Despus de escribir
archivo C: 1111 1111 1111 1100 (d) Despus de
suprimir archivo B: 1111 1110 0000 1100
23. Esto no es un problema serio en absoluto. La reparacin es franca; esto slo lleva
tiempo.
El algoritmo de recuperacin debe hacer una lista de todos los bloques en
todos los archivos y tomar el complemento como la nueva lista libre. En UNIX
este puede ser hecho por la exploracin - ning todos los i-nodos. En el sistema
de archivo GORDO, el problema no puede ocurrir porque no hay ninguna lista
libre. Pero aun si haba, todo que tendra que ser hecho para recuperarse debe
explorar la GRASA que busca entradas libres.
24. La tesis de Ollie no puede ser sostenida tan de fuentes fidedignas como l podra
desear. Un programa de reserva puede pasar sobre un archivo que est abierto
actualmente para la escritura, cuando el estado de los datos en tal archivo puede
ser indeterminado.
25. Ellos deben guardar la pista del tiempo del ltimo vertedero en un archivo sobre
el disco. En cada vertedero, una entrada es aadida a este archivo. En el tiempo
vaciado, el archivo es ledo y el tiempo de la ltima entrada notado. Cualquier
archivo cambiado desde aquel tiempo es vertido.
26. En (a) (y b), 21 no sera marcado. En (c), no habra ningn cambio. En
(d), 21 no sera marcado.
27. Muchos archivos UNIX son cortos. Si el archivo entero cabe en el mismo bloque que
el nodo "yo", slo un acceso de disco sera necesario para leer el archivo, en vez
de dos, como
es actualmente el caso. Incluso para archivos ms largos habra una ganancia,
desde un menos disco tiene acceso sera necesario.
28. No debera pasar, pero debido a un bicho en algn sitio podra pasar. Esto
significa que algn bloque ocurre en dos archivos y tambin dos veces en la
lista libre. Los primeros intervienen la reparacin del error debe quitar ambas
copias de la lista libre. Despus un bloque libre tiene que ser adquirido y los
contenido del bloque enfermo copiados all. Finalmente, el acontecimiento del
bloque en uno de los archivos debera ser cambiado para referirse a la copia
recin adquirida del bloque. En este punto el sistema es otra vez consecuente.

28

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 6

29. El tiempo necesario es h +40 (1 -h). El complot es slo una lnea recta.
30. El tiempo por bloque es aumentado de tres componentes: busque el tiempo, la
latencia rotatoria, y el tiempo de transferencia. En todos los casos la latencia
rotatoria ms el tiempo de transferencia es el mismo, 125 msec. Slo el tiempo
buscar se diferencia. Para 13 cilindros es
78 msec; para 2 cilindros esto es 12 msec. As para archivos al azar colocados el
total es 203 msec, y para archivos arracimados esto es 137 msec.
31. En 15,000 revoluciones por minuto, el disco toma 4 msec para andar una vez.
El tie mpo de a cce so prome di o (en msec) para leer bytes k es entonces 8
+2 +(k / 262144) 4. Para bloques de 1
KILOBYTE, 2 KILOBYTES, Y 4 KILOBYTES , los tiempos de acceso
son 10.015625 msec, 10.03125 msec, y 10.0625 msec, respectivamente
(apenas algo diferente). stos dan precios de APROXIMADAMENTE
102,240 KILOBYTES/SEGUNDOS, 204,162 KILOBYTES/SEGUNDOS, Y
407,056 KILOBYTES/SEGUNDOS, respectivamente.
32. Si todos los archivos fueran 1 KILOBYTE, entonces cada bloque de 2 KILOBYTES
contendra un archivo y 1 KILOBYTE
de espacio gastado. La tentativa de poner dos archivos en un bloque no es
permitida porque la unidad sola conservarse la pista de datos es el bloque, no el
semibloque. Este conduce a
El 50 por ciento espacio gastado. En la prctica, cada sistema de archivo tiene
archivos grandes tambin
tan muchos pequeos, y estos archivos usan el disco m u c h o m s
e f i c a z m e n t e . Por ejemplo, un archivo de 32,769 bytes usara 17 bloques de
disco para el almacenaje, considerando una eficacia espacial de 32768/34816,
que es aproximadamente el 94 por ciento.
33. El formato de directorio tiene hasta 255 bloques en cuenta en el disco (debido
al nmero de 8 trozos en la entrada de directorio). Este no es claramente
bastante entonces el primer cambio tiene que deber ir a ms bloques de disco.
En vez de 16 direcciones de 8 trozos, deberamos usar 8 direcciones 16 bites.
Este permite 65,536 bloques de disco por disco. Si hacemos bloques 32,768
bytes, los mismos usos de MS-DOS de tamao en discos grandes, el tamao de
disco mximo (realmente, el tamao de particin mximo) son ahora 2 GRAN
BRETAA. Sin embargo, indi-vidual archivos son limitados con ocho bloques
de disco por grado y 255 grados para un mximo de 2040 bloques o 63.75
MB. Un diseo con un disco mximo de 2
GRAN BRETAA y un archivo mximo de 63.75 MB son plausibles. Si este
no es bastante, uno podra usar uno de los bytes no usados en la entrada de
directorio para levantar el campo de grado a 16 trozos. Este levanta el nmero
de bloques por archivo a 524,280 y el tamao de archivo a casi 16 GRAN
BRETAA. Los tamaos de bloques ms grandes van hasta adelante.
34. El bloque ms grande es 32,768. Con 32,768 de estos bloques, el archivo ms
grande sera 1 GRAN BRETAA.
35. Esto obliga la suma de todas las longitudes de archivo a ser no ms grande que el disco.
Este no es una coaccin muy seria. Si los archivos fueran colectivamente ms
grandes que el disco, no habra ningn lugar para almacenar todos ellos en el
disco.
36. El i-nodo sostiene 10 agujas. El bloque indirecto solo sostiene 256 agujas.
El doble bloque indirecto est bien para 2562 agujas. El bloque indirecto triple
est bien para 2563 agujas. Sumando stos, conseguimos un tamao de archivo mximo

SOLUCIONES DE PROBLEMA PARA CAPTULO 29

de
16,843,018 bloques, que es aproximadamente 16.06 GRAN BRETAA.

19

30

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 6

37. El disco siguiente lee son necesarios:


directorio para/
i-nodo para/usr
directorio para/usr
i-nodo para/usr/ast
directorio para/usr/ast
i-nodo para/usr/ast/courses
directorio para/usr/ast/courses
i-nodo para/usr/ast/courses/os
directorio para/usr/ast/courses/os
i-nodo para/usr/ast/courses/os/handout.t
En total, 10 disco lee son requerido.
38. Algunos pros son c o mo s i g u e . Primero, ningn espacio de disco es gastado en inodos no usados.
Segundo, no es posible quedarse sin i-nodos. Tercero, menos movimiento de
disco es necesario desde el i-nodo y los datos iniciales pueden ser ledos en
una operacin. Algunas estafas son como sigue. Primero, las entradas de
directorio necesitarn ahora una direccin de disco 32 bites en vez de un
nmero de i-nodo 16 bites. Segundo, un disco entero ser usado hasta para
archivos que no contienen ningunos datos (archivos vacos, archivos de
dispositivo). Tercero, el archivo sys-tem controles de integridad ser ms lento
debido a la necesidad de leer un bloque entero para cada i-nodo y porque los inodos sern dispersados por todas partes del disco. Cuarto, los archivos cuyo
tamao ha sido con cuidado diseado para encajar el tamao de bloque van a
ya no encaje el tamao de bloque debido al i-nodo, estropeando la interpretacin.

SOLUCIONES CON PROBLEMAS DEL CAPTULO 7


1. El XGA es 1024 768.
Con 24 trozos/pixeles y 25 marcos/segundo nos ponemos
471,859,200 trozos/segundos. Este precio es demasiado alto para Ultraamplio SCSI, que
slo puede acercarse a 320 Mbps.
2. La televisin de NTSC estndar es a p r o xi ma d a me n t e 6 4 0 480 pixeles.
En 8 t r oz os / pi xe l es y 30 marcos/segundo conseguimos una amplitud de
banda de 73 Mbps. Slo apenas lo hace con un canal. Dos canales seran
demasiado.
3. De la mesa, HDTV es 1280 720 contra 640 480 para la TV regular. Esto
tiene tres veces tan muchos pixeles y as necesita tres veces la amplitud de
banda. La razn esto no necesita cuatro veces tan mucha amplitud de banda es
que la proporcin de aspecto
de HDTV es diferente de la TV convencional para emparejar aquella de la pelcula
de 35 mm mejor.
4. Para el movimiento lento adelantamiento, es suficiente para cada marco para
ser mostrado d o s o m s veces e n f i l a . Ningn archivo adicional es
necesario. Ir hacia atrs despacio va tan mal como hacia atrs rpidamente,
entonces un archivo adicional es necesario.

SOLUCIONES DE PROBLEMA PARA CAPTULO 31

19

5. De audio es probado en 16 trozos por muestra, 44,100 tiempos/segundo con dos


canales.
Este da un precio de audio no comprimido de 1,411,200 trozos/segundos o
176,400 bytes/segundos. En 74 minutos, este asciende a 747 MB. Este es la
capacidad llena del CD. No es comprimido en absoluto. Los datos de razn
son limitados con 650 MB es que la mejor correccin de error es usada para
datos ya que un error es ms serio que para la msica. Si hasta un factor de
dos compresin hubiera sido usado en CDs de audio, los datos habran sido
menos de 374 MB y ms de 74 minutos podran
sea almacenado en un CD.
6. Hay 32,768 magnitudes posibles. Por ejemplo, suponga las variedades de
seal de voltios -32.768 a +32,767 voltios y el valor almacen para cada sample es la seal acabada al nmero ms cercano de millivolts, como un
firmado
Nmero entero 16 bites. Una seal de 16.0005 voltios tendra que ser registrada
como tampoco
16,000 o como 16,001. El error de por ciento aqu es el por ciento 1/320. Sin
embargo, el sorbo - posa la seal es 0.0005 voltios. Este es registrado en 0 o
1. En el caso ltimo, el error es el 50 %. As el ruido de cuantificacin afecta
amplitudes bajas ms que amplitudes altas. Los conciertos de flauta sern
golpeados ms difciles que el rock and roll debido a sus amplitudes inferiores.
7. Un esquema de compresin/extensin de volumen podra ser puesto en prctica c o m o
sigue.
U n t r oz o de la salida es reservado para sealar que la seal registrada es
ampliada. 15 trozos restantes son usados para la seal. Cuando la orden alta
5 trozos de la seal de 20 trozos no son 00000, el trozo de extensin es 0 y el otro
1 5 t r o z o s contienen la orden alta 1 5 t r o z o s de los datos probados. Cuando
los altos - piden que5trozos de la seal sean 00000, el trozo de extensin es encendido
y el
La seal de amplitud de 20 trozos es cambiada dej 5 trozos. Al final del
oyente el proceso inverso ocurre. Este esquema aumenta el ruido de
cuantificacin ligeramente para seales fuertes (debido a una seal de 15
trozos en vez de una seal 16 bites), pero disminuciones ello para seales
tranquilas, cuando el efecto de cuantificacin es el ms sensible. Una
desventaja principal es que este no es un estndar y no trabajara con jugadores
de CD existentes, pero esto podra trabajar para la msica en lnea tocada con
un enchufe de unin especial que us este esquema durante ambos finales. Una
versin ms sofisticada podra usar 2 trozos para denotar cuatro regmenes de
extensin diferentes para niveles de seal diferentes.
8. El AMIGO tiene ms lneas de exploracin y ms resolucin espacial que
NTSC. Esto tiene 625 lneas verticales contra 525 para NTSC. Esto tambin
tiene ms pixeles por lnea. stos resultan en una imagen ms aguda, y usan la
amplitud de banda suplementaria. Por otra parte, NTSC tiene ms marcos por
segundo, entonces es mejor para agarrar la accin rpida. Ningn es "mejor"
que otro en este sentido. Las compensaciones diferentes han sido hechas:
mejor resolucin a tiempo contra mejor resolucin en espacio. Todo esto es
completamente independiente de los esquemas de codificacin en color
usados.
9. La diferencia no causa problemas en absoluto. El algoritmo DCT es usado para
codificar I-marcos en un esquema JPEG-parecido. Los macrobloques son usados

32

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 6

en P-

SOLUCIONES DE PROBLEMA PARA CAPTULO 7

31

los marcos para localizar macrobloques que aparecieron en marcos anteriores.


Las dos cosas no tienen nada que ver el uno con el otro y no entran en conflicto.
10. No ellos no hacen. El algoritmo de compensacin de movimiento encontrar
cada cerradura de macrob-en el marco anterior en alguna compensacin de su
posicin corriente. Por encod-ing el hecho que el macrobloque corriente
debera ser tomado del marco anterior en una posicin (Dx, Dy) del corriente,
no es necesario transmitir el bloque s mismo otra vez.
11. Los procesos que apoyan las tres corrientes de vdeo ya usan 0.808 del tiempo
de CPU, as hay 192 msec por segundo dejado terminado para de audio. Procde audio ess unas carreras 33.333 tiempos/segundo, el proceso de audio B
dirige 25 tiempos/segundo, y proceso de audio C dirige 20 tiempos/segundo,
para un total de 78.333 carreras/segundo. Estas 78.333 carreras pueden usar
192 msec, entonces cada carrera puede usar 192/78.333 o 2.45 msec.
12. El primer proceso usa 0.400 de la CPU. El segundo usa 0.375 de el
CPU. Juntos ellos usan 0.775. El lmite de RMS para dos procesos es
2 (20.5 -1), que es 0.828, entonces RMS es garantizado para trabajar.
13. Desde 0.65 <ln 2, RMS siempre puede programar las pelculas, no importa
cuntos hay. As el RMS no limita el nmero de pelculas.
14. La secuencia que comienza en t =150 es unos 6, B 5, C 4, A 7, B 6, A 5, y C 5. Cuando
C 5 finales en t =235 no hay ningn trabajo para hacer hasta t =240 cuando A y
B se hacen listos, entonces el sistema va ocioso para 5 msec. La opcin de dirigir
B 5 antes
C 4 es arbitrario. El otro camino tambin es permitido.
15. Un lector DVD anda bien a casa de la inspeccin, pero los altos buscan tiempo
de los corrientes optan - ical la grabacin de sistemas limita su utilidad con el
suministro de una corriente sola de datos. Los paseos de DVD no pueden
apoyar corrientes mltiples con tiempos de principio diferentes
o las funciones de control PARECIDAS A UN GRABADOR DE VDEO
como pausa, rebobinado, y rpido expiden para dif-ferent a usuarios. Con la
tecnologa corriente los datos tendran que a almacenado en un buffer en una
memoria muy grande. Los discos duros son simplemente mejores.
16. Si el caso peor espera es 6 minuto, una nueva corriente debe comenzar cada 6 minuto.
Para a
Pelcula de 180 minutos, 30 corrientes son necesarias.
17. L a v e l o c i d a d d e t r a n s f e r e n c i a d e d a t o s es 0. 5 M B/ s e gundos . Un
minuto del vdeo usa 30 M B . Para ir para - sala o hacia atrs 1 minuto cada uno
requiere 60 MB.
18. El HDTV no hace ninguna diferencia. Hay todava 216,000 marcos en la
pelcula. La prdida para cada marco es aproximadamente medio bloque de
disco, o 0.5 KILOBYTES. Para la pelcula entera, esta prdida es 108
KILOBYTES.
19. Hay alguna prdida para cada marco. Ms marcos que usted tiene, ms prdida
usted tiene. El NTSC tiene un precio de marco ms alto, entonces esto tiene
ligeramente ms prdida. Pero considerando los nmeros implicados, esta
prdida no es una fraccin significativa del espacio de disco total.

20. El efecto principal de HDTV es marcos ms grandes. Los marcos grandes


tienden a hacer la desventaja de pequeos bloques menos seria porque los
marcos grandes pueden ser ledos en eficazmente. As el argumento de
interpretacin de disco a favor de bloques grandes disminuye. Adems, si los
marcos no son partidos sobre bloques (cuando ellos no estn aqu), teniendo Imarcos que son una fraccin sustancial de un bloque es un problema serio.
Esto a menudo puede ocurrir que un bloque es en parte lleno y un I-marco
grande parece siguiente, gastando una cantidad grande del espacio en el bloque
corriente. E n g e n e r a l , yendo a HDTV favorece el pequeo modelo de
bloque.
21. El parachoques es bastante grande si el nmero de I-marcos es 4 o menos. El probabilel ity de la adquisicin exactamente k I-marcos es C (24, k) yo k B 24-k, donde tengo 0.1
aos y B es
0.9. Las probabilidades de adquisicin exactamente 0, 1, 2, 3, y 4 I-marcos son 0.0798.
0.213, 0.272, 0.221, y 0.129, respectivamente. La suma de stos es 0.915. Este
significa que hay un 0.085 o la posibilidad del 8.5 % del fracaso. Este est
lejos demasiado grande para aceptar.
22. Conseguir el juego sealan en medio del parachoques, tenemos que ser
capaces de leer y almacenar tres corrientes inmediatamente. Cuando la
pelcula contina en 12 minuto, comenzamos a almacenar las corrientes que
son actualmente en 15 minuto y 20 minuto. Despus de 3 minutos, hemos
almacenado 1518 minuto y 20-23 minuto. En aquel punto dejamos caer la
corriente privada y comenzamos a mostrar del parachoques. Despus de un 2
minuto adicional, tenemos 1525 minuto almacenado y el punto de juego es 17
minuto. En este punto slo cargamos el parachoques de la corriente ahora en
25 minuto. En 3 minuto, tenemos 1528 minuto
en el parachoques y el juego el punto es 20 minuto. Hemos conseguido nuestro
objetivo. Como somos f u e r a de la sincronizacin con el cerca de corrientes
de vdeo a peticin, este es el mejor que podamos hacer.
23. Una alternativa debe tener un archivo separado para cada lengua. Esta
alternativa minimiza el uso de RAM, pero la basura las cantidades grandes del
espacio de disco. Si el espacio de disco es barato y el objetivo es apoyar tan
muchas corrientes posibles inmediatamente, este acercamiento es atractivo.
Otra alternativa debe almacenar la pista de audio para cada lengua por
separado y hacer un suplementario procura por marco traer el de audio. Este
esquema hace el uso eficiente del espacio de disco, pero introduce extra busca y
as hace ms lenta la interpretacin.
24. La normalizacin constante, C, es 0.36794, entonces las probabilidades son 0.368,
0.184, 0.123, 0.092, 0.074, 0.061, 0.053, y 0.046.

25. Un disco de 14 GRAN BRETAA sostiene 14 230 o 15,032,385,536 bytes .


Si stos son uniformemente partidos ms de 1000 cilindros, cada cilindro
sostiene 15,032,385, que es slo bastante para un clip de vdeo de 30
segundos. As cada clip ocupa un cilindro. La pregunta es entonces que
fraccin del peso total es representada por los 10 primeros clips de 1000.
Sumando 1, 1/2... 1/10, nos ponemos 2.92895. Multiplicando este por 0.134 nos
ponemos 0.392, entonces el brazo gasta c a s i e l 4 0 % de su tiempo dentro
del medio 10 cilindros.

SOLUCIONES DE PROBLEMA PARA CAPTULO 33

31

26. Para cuatro artculos, la ley de Zipf cede probabilidades de 0.48, 0.24, 0.16, y 0.12.
Las proporciones de estas probabilidades tambin describen la utilizacin
relativa de los paseos para el Higo 7-0 (a). Para los otros tres arreglos striping
todos los paseos sern usados igualmente, asumiendo que cada uno quin paga
para una pelcula lo mira por al final. El resultado en un tiempo particular
podra ser diferente, sin embargo.
Si cada uno en la ciudad quiere comenzar a mirar una pelcula en 8 de la maana
el arreglo del Higo 7-0 (b) golpeara al principio el primer disco el ms difcil,
entonces el siguiente disco 15 minutos ms tarde, etc. Los arreglos del Higo 70 (c) (o d) no seran afectados este camino.
27. El AMIGO corre en 25 marcos/segundo, entonces los dos usuarios son
desconectados por 150 marcos. Combinarlos en 3 medios de minuto que
cierran el hueco por 50 marcos/minuto. Uno va 25 marcos/minuto ms rpido
y uno va 25 marcos/minuto ms despacio. El precio de marco normal
es 1500 marcos/minuto, entonces la velocidad o abajo es 25/1500 o 1/60, que es
aproximadamente el 1.67 %.
28. Para NTSC, con 30 marcos/segundo, una ronda es 33.3 msec. El disco hace
girar 180 tiempos/segundo, entonces la latencia rotatoria media es media
rotacin o 2.8 msec. El MPEG-2 corre en aproximadamente 500,000 bytes/segundos o
aproximadamente 16,667 bytes/marcos. En
3 2 0 M B / s e g u n d o s , el tiempo de transferencia para un marco es
a p r o xi ma d a me n t e 5 1 msec. As buscar, la latencia rotatoria, y los tiempos
de transferencia ascienden a aproximadamente 5.8 msec. Cinco corrientes
as comen por completo 29 msec de 33.3 msec, que es el mximo.
29. El promedio busca el tiempo va de 3.0 msec a 2.4 msec, entonces el tiempo por
pera - tion es reducido a 5.2 msec. Este aade uno ms corriente, haciendo seis
en total.
30. Seis corrientes. El Striping es intil. Cada operacin de disco todava toma 5.2
msec para conseguir el brazo sobre los datos. Si el tiempo de transferencia es
51 msec o 13 msec no hace mucha diferencia.
31. Para la primera hornada de cinco peticiones, el crtico es para el cilindro 676, cuarto
en la lista, pero con una fecha lmite de t =712 msec. Entonces cada peticin
debe ser servida en 3 msec o menos para el cuarto para ser hecho en t =712
msec.
SOLUCIONES CON PROBLEMAS DEL CAPTULO 8
1. Tanto USENET como SETI@home podra ser descrito cuando la amplia rea
distribuy sistemas. sin embargo, USENET es realmente ms primitivo que el
esquema de Higo 8-1c, ya que esto no requiere ninguna infraestructura de red
adems de uniones de punto a punto entre pares de mquinas. Tambin, ya que
esto no hace ningn trabajo de procesamiento adems necesario de asegurar la
diseminacin apropiada de artculos de noticias, podra ser debatido si esto es
realmente un sistema distribuido de la clase por la que estamos preocupados en
este captulo. SETI@home es un ejemplo ms tpico del sistema distribuido
de una amplia rea; los datos son distribuidos a nodos remotos que entonces
devuelven resultados de clculos al nodo de coordinacin.

34

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 7

2. Segn los detalles de como las CPUs estn relacionadas con la memoria, uno
de ellos pasa primero, p.ej, agarra el autobs primero. Esto completa su
operacin de memoria, entonces el otro pasa. No es previsible qu va primero,
pero si el sistema ha sido diseado para el consecuencia secuencial, esto no
debera importar.
3. Una mquina 200-MIPS publicar 200 millones de referencias/segundos de
memoria, consum-ing 200 millones de ciclos de autobs o mitad de la capacidad
del autobs. Esto toma slo dos CPUs para consumir el autobs entero. El
Caching deja caer el nmero de peticiones/segundo de memoria a 20 millones,
permitiendo a 20 CPUs compartir el autobs. Ponerse 32
CPUs en el autobs, cada uno podra solicitar no ms que 12,500,000
peticiones/segundo. Si slo 12.5 millones de 200 millones de la memoria se refieren ences salen en el autobs, el escondite el precio de seorita debe ser 12.5/200
o el 6.25 %. Este significa que el precio de golpe es el 93.75 %.
4. Las CPUs 000, 010, 100, y 110 son cortadas de memorias 010 y 011.
5. Cada CPU maneja sus propias seales completamente. Si una seal es generada
del teclado y el teclado no es adjudicado a ninguna CPU particular (el caso
habitual), de alguna manera la seal tiene que ser dada a la CPU correcta para
manejarse.
6. Para publicar una llamada de sistema, un proceso genera una trampa. La trampa
interrumpe su propia CPU. De alguna manera, la informacin que una CPU de
esclavo ha tenido una trampa tiene que ser comunicada a la CPU de maestro.
Este no pasa en el primer modelo. Si hay instrucciones de trampa de
interprocesador, este puede ser usado para sealar al maestro.
Si ningunas tales instrucciones existen, el esclavo puede coleccionar los
parmetros del sys-tem llamada y ponerlos en una estructura de datos en la
memoria que el maestro vota la estafa - tinuously cuando es ocioso.
7. Aqu est una solucin posible:
entre en 3 regin:
CERRADURA de TST
| Prueban el valor de cerradura
Los JNE ENTRAN en 3 REGIN
| Si es distinto a cero, vaya el intento
otra vez
REGISTRO de TSL, CERRADURA
| cerradura de Copia para registrarse y
poner cerradura a 1
CMP REGISTER,#0
| Era cero de cerradura?
Los JNE ENTRAN en 3 REGIN
| Si esto no fuera el cero, la cerradura
fue puesta, entonces lazo
RET
| Vuelven al visitante; la regin crtica entr

8. Probablemente las cerraduras en estructuras de datos son bastante. Es difcil


imaginar algo que un pedazo de cdigo podra hacer lo que es crtico y no
implica alguna estructura de datos de grano. Toda la adquisicin de recurso y
la liberacin usan estructuras de datos para el examen - ple. Mientras no puede
ser probado, es muy probable que se cierra en estructuras de datos son
suficientes.
9. Esto toma 16 ciclos de autobs para mover el bloque y esto va ambos caminos para
cada TSL.
As cada 50 ciclos de autobs, 32 de ellos son gastados en el movimiento del
bloque de escondite. Por consiguiente, el 64 % de la amplitud de banda de
autobs es gastado en transferencias de escondite.

10. S esto, pero el tiempo de interencuesta podra terminar por ser muy largo,
degradando la interpretacin. Pero sera correcto, hasta sin un mximo.
11. Est t a n bien como TSL. Es usado precargando 1 en el registro para ser usado.
Entonces aquel registro y la palabra de memoria son atomically cambiado.
Despus de la instruccin, la palabra de memoria es cerrada con llave (es decir,
tiene un valor de 1). Su previ-ous valor est contenido ahora en el registro. Si
fuera antes cerrado con llave, la palabra no tiene ser cambiado y el visitante
debe el lazo. Si fuera antes abierto, es cerrado con llave ahora.
12. El lazo consiste en una instruccin TSL (5 nsec), un ciclo de autobs (10 nsec),
y un JMP atrs a la instruccin TSL (5 nsec). As en 20 nsec, 1 ciclo de autobs
es solicitado ocupando 10 nsec. El lazo consume el 50 % del autobs.
13. A es el proceso slo seleccionado. Pueden haber bien otros en la misma CPU.
14. La programacin de afinidad tiene que ver con la puesta del hilo derecho en la CPU
derecha.
Haciendo tan podra reducir bien TLB seoritas ya que stos son guardados
dentro de cada CPU. Por otra parte, esto no tiene ningn efecto en faltas de
pgina, desde si una pgina est en la memoria para una CPU, esto est en la
memoria para todas las CPUs.
15. (a) 2 (b) 4 (c) 8 (d) 5 (e) 3 (f) 4.
16. En una rejilla, el caso peor es nodos en esquinas de enfrente que tratan de comunicarse.
Sin embargo, con un torus, las esquinas de enfrente son slo dos saltos aparte. El
caso peor es una esquina que trata d e di r i gi r s e a un nodo en el medio. Para k
raro, esto toma
(k -1) / 2 saltos para ir de una esquina al medio horizontalmente y el otro
(k -1) / 2 saltos para ir al medio verticalmente, para un total de k -1. Para
hasta k, el medio es un cuadrado de cuatro puntos en el medio, entonces el
caso peor es de una esquina al punto ms distante en aquel cuadrado de
cuatro puntos. Esto toma k/ 2 saltos para ponerse all horizontalmente y
tambin k/2 verticalmente, entonces el dimetro es k.
17. La red puede ser cortada en dos por un avin durante el medio, dando a dos
sistemas, cada uno con una geometra de 8 8 4. Hay 64 eslabones que
corren entre las dos mitades, para la amplitud de banda de biseccin de 64
Gbps.
18. Si slo consideramos el tiempo de red, conseguimos 1 nsec por trozo o
tardanza 512-nsec por paquete. Para copiar 64 bytes 4 bytes a la vez, 320
nsec son necesarios en cada lado, o 640 total nsec. Aadiendo el tiempo de
alambre 512-nsec, conseguimos 1132 total nsec. Si dos copias adicionales son
necesarias, conseguimos 1792 nsec.
19. Si consideramos slo el tiempo de alambre, una red 1-Gbps entrega 125MB/segundos.
El movimiento de 64 bytes en 1152 nsec es 55.6 MB/segundos. El movimiento de 64
bytes en 1792 nsec
es 35.7 MB/segundos.
20. En una mquina de memoria compartida esto basta para pasar la aguja del
mensaje de la CPU que ejecuta enviar a la CPU que ejecuta recibir , con possible traducciones entre direcciones de memoria virtuales y fsicas. En a

el multiordenador sin la memoria compartida una direccin en el espacio de


direccin de una CPU no tiene ningn sentido a otra CPU, entonces los
contenido actuales del parachoques enviar tienen que ser transmitidos como
paquetes y luego vueltos a montar en el parachoques del proceso de recepcin.
Al programador los procesos parecen idnticos, pero el tiempo requerido ser
mucho ms largo en el multiordenador.
21. El tiempo para mover bytes k por la entrada - salida programada es 20 kilobyte nsec. El
tiempo para DMA
es 2000 + 5 kilobyte nsec. Comparando stos y solucionando para k conseguimos
el punto de equilibrio en 133 bytes.
22. Claramente la cosa incorrecta pasa si una llamada de sistema es ejecutada
remotamente. Intento - ing para leer un archivo sobre la mquina remota no
trabajar si el archivo no est all. Tambin, el ajuste de una alarma en la
mquina remota no devolver una seal a la mquina que llama. Un modo de
manejar llamadas de sistema remotas es atraparlos y devolverlos al sitio inicial
para la ejecucin.
23. Primero, en una red de emisin, una peticin de emisin podra ser hecha.
Segundo, una base de datos centralizada de quin tiene qu pgina podra ser
mantenida. Tercero, cada pgina podra tener una base de casa, indicada por
los trozos k superiores de su direccin virtual; la base de casa podra guardar la
pista de la posicin de cada una de sus pginas.
24. En esta hendidura, el nodo 1 tiene A, E, y G, el nodo 2 tiene B y F, y el nodo 3 tiene C,
D,
H, y yo. El corte entre nodos 1 y 2 ahora contiene AB y EB para un peso de 5.
El corte entre nodos 2 y 3 ahora contiene el CD, CI, FI, y FH para un peso de
14. El corte entre nodos 1 y 3 ahora contiene EH y GH para un peso de 8. La
suma es 27.
25. La mesa de archivos abiertos es guardada en el grano, tan si un proceso tiene
archivos abiertos, cuando es descongelado y trata de usar uno de sus archivos, el
nuevo grano no sabe sobre ellos. Un segundo problema es la mscara de seal,
que tambin es almacenada
en el grano original. Un tercer problema es que si una alarma es pendiente, esto va a
mrchese en la mquina incorrecta. En general, el grano es lleno de trozos y pedazos
de la informacin sobre el proceso, y ellos tienen que ser con xito emigrados
tambin.
26. Los nodos de Ethernet deben ser capaces de descubrir colisiones entre
paquetes, entonces pro - pagation tardanza entre los dos nodos el ms
extensamente separados debe ser menos que la duracin del paquete ms corto
para ser enviado. Por otra parte el remitente puede transmitir totalmente un
paquete y no descubrir una colisin aunque el paquete sufra una colisin cerca
del otro final del cable.
27. Las carreras de middleware en sistemas operativos diferentes tan el cdigo
son claramente dif-ferent porque las llamadas de sistema empotradas son
diferentes. Lo que ellos tienen en comn produce un interfaz comn a la capa
de aplicacin encima de ellos. Si la capa de aplicacin slo hace llamadas a la
capa de Middleware y

SOLUCIONES DE PROBLEMA PARA CAPTULO 37

31

ningunas llamadas de sistema, entonces todas las versiones de ello pueden tener
el mismo cdigo fuente. Si ellos tambin hacen llamadas de sistema
verdaderas, stos se diferenciarn.
28. La mayor parte de servicios apropiados son
(a) Unin no fiable. (b)
corriente de byte
Confiable.
29. Es mantenido jerrquicamente. Hay un servidor mundial para .edu que sabe
sobre todas las universidades y un servidor .com que sabe sobre todos los
nombres que se terminan en .com. As para alzar la vista cs.uni.edu, una
mquina mirara primero
uni en el servidor .edu, luego vaya all para preguntar sobre cs, etctera.
30. Un ordenador puede tener muchos procesos que esperan uniones entrantes.
stos podran ser el servidor de Web, servidor de correo, servidor de noticias, y
otros. Algn camino es necesario para hacer posible de dirigir una unin
entrante a un poco de proceso particular. Esto es hecho teniendo cada proceso
escuchan a un puerto especfico. Ha sido concordado sobre aquellos servidores
de Web escuchar para virar a babor 80, entonces las uniones entrantes
dirigidas al servidor de Web son enviadas para virar a babor 80. El nmero s
mismo era una opcin arbitraria, pero algn nmero tuvo que ser elegido.
31. Ellos pueden. Por ejemplo , www.intel.com no dice nada sobre donde el servidor
es.
32. Un camino sera para el servidor de Web para embalar la pgina entera, incluso
todas las imgenes en un archivo de cremallera grande y envan a todo el
asunto la primera vez tan slo una unin es necesaria. Un segundo camino
sera usar un protocolo connectionless como UDP. Este eliminara la unin
arriba, pero requerira que servidores y navegadores hicieran su propio control
de error.
33. Tener el valor de un ledo depende de si un proceso resulta estar en la misma
mquina que el ltimo escritor no es de nada transparente. Este aboga por
mak-ing se cambia slo visible al proceso que hace los cambios. Por otra parte,
tener un gerente de escondite solo por mquina es ms fcil y ms barato para
poner en prctica. Tal gerente se hace ms complicado si esto tiene
mantener copias mltiples de cada archivo modificado, con el valor devuelto
segn quin hace la lectura.
34. Algn archivo cached debera ser devuelto al servidor. Todo el estndar paging algoritmos puede ser usado, como LRU o segunda posibilidad. En
contraste con vir-tual memoria, sin embargo, usando LRU exacto es posible
porque las referencias de archivo son infrecuentes (escala de tiempo de
milisegundo, no escala de tiempo de nanosegundo).
35. La memoria compartida trabaja con pginas enteras. Este puede conducir a
falso compartiendo, en cual acceso a variables sin relaciones que resultan estar
en la misma paliza de causa de pgina. La puesta de cada variable en una
pgina separada es prdiga. El acceso basado en el objeto elimina estos
problemas y permite un grano ms fino de compartir.

38

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 8

36. Desmenuzar en cualquiera de los campos del tuple cuando es insertado en el


espacio tuple no ayuda porque el en puede tener parmetros sobre todo
formales. Una optimizacin que siempre trabaja nota que todos los campos
tanto de como en son escritos a mquina. As la firma de tipo de todo tuples en
el espacio tuple es conocida y el tipo de tuple necesario en un en tambin es
conocido. Este aconseja crear un subespacio tuple para cada firma de tipo. Por
ejemplo, todo el (int, int, int) los tuples entran en un espacio y todo el (cuerda,
int, flotador) los tuples entran en un espacio diferente. Cuando un en es
ejecutado, slo el subespacio que hace juego tiene que ser buscado.

SOLUCIONES CON PROBLEMAS DEL CAPTULO 9


1. La coaccin es que ningunas dos clulas contienen las mismas dos cartas, por
otra parte el desciframiento sera ambiguo. As cada una de la 676 estafa de
elementos de la matriz - tains diferente de 676 digrams. El nmero de
combina-diferente tions es as 676!. Este es una muy buena parte.
2. el tiempo ha venido la morsa dijo a la conversacin de
muchas cosas de barcos y zapatos y lacre de coles y reyes
de por qu el mar se hierve caliente y si los cerdos tienen
alas
pero espere un poco las ostras gritadas antes de que
tengamos nuestra charla para algunos de nosotros son sin
aliento y todos nosotros somos gordos
ninguna prisa dijo que el carpintero ellos le agradecieron mucho por esto
De Por el espejo (Tweedledum y Tweedledee).
3. El nmero de permutaciones es n!, entonces este es el tamao del espacio
clave. Una ventaja consiste en que el ataque estadstico basado en propiedades
de lenguas naturales no trabaja porque un E realmente representa un E, etc.
4. El remitente escoge una llave arbitraria y lo enva al tercero confiado
codificado con la llave secreta que ellos comparten. El tercero confiado entonces
descifra la llave arbitraria y nuevas criptas ello con la llave secreta que esto
comparte con el receptor. Este mensaje es enviado entonces al receptor.
5. Una funcin como =x k es fcil para calcular pero la toma de la raz de k-th de
y es mucho ms difcil.
6. Esto depende de cuanto de largo la contrasea es. El alfabeto de cual contraseas

es construido tiene 62 smbolos. El espacio de bsqueda total es 625 + 626 + 627


628
1014
+ , que es aproximadamente 2
. Si se conoce que la contrasea es
caracteres k, el espacio de bsqueda es reducido a slo 62 kilobyte. La proporcin

de stos es as 2 1014 / 62 kilobyte. Para k de 5 a 8, estos valores son 242,235,


3907, 63, y 1. En otras palabras, el aprendizaje que la contrasea es slo 5
caracteres reduce el espacio de bsqueda por a

SOLUCIONES DE PROBLEMA PARA CAPTULO 9

39

el factor de 242,235 porque todas las contraseas largas no tienen que ser intentadas.
Este
es un triunfo grande. Sin embargo, el aprendizaje que esto es ocho caracteres no
ayuda mucho porque esto significa que todas las contraseas (fciles) cortas
pueden ser saltadas.
7. Trate de calmar al ayudante. El algoritmo de codificacin de contrasea es
pblico. Pase - las palabras son codificadas por el programa de entrada al
sistema t a n pr ont o c omo ellos son t e c l e a d o s , y la contrasea
criptografiada es comparada a la entrada en el archivo de contrasea.
8. No, esto no hace. El estudiante puede averiguar fcilmente cual el nmero
arbitrario para su superusuario es. Esta informacin est en el archivo de
contrasea no codificado. Si es
0003, por ejemplo , entonces l slo trata de codificar contraseas
potenciales como Susan0003, Boston0003, IBMPC0003, etc. Si otro usuario
tiene la contrasea Bos-ton0004, l no lo descubrir, sin embargo.
9. Hay muchos criterios. Aqu estn algunos de ellos:
Debera ser fcil e indoloro para medir (no muestras de sangre)
deberan haber muchos valores disponibles (no observan el
color)
La caracterstica no debera cambiarse con el tiempo (no color de pelo)
Debera ser difcil forjar la caracterstica (no peso)
10. No, no es factible. El problema es que los lmites de serie no son comprobados.
Las series arreglan no la lnea con lmites de pgina, entonces el MMU no es
de ninguna ayuda. Adems, la fabricacin de un grano llamar para cambiar el
MMU en cada llamada de procedimiento sera prohibitivamente cara.
11. Si pueden confiar en todas las mquinas, esto trabaja okey. Si no pueden
confiar en unos, el esquema se estropea, porque una mquina poco fiable podra
enviar a un sabio mes-a una mquina de confianza que le pide realizar alguna
orden en el nombre
del superusuario. La mquina que recibe el mensaje no tiene ningn modo de
contar si la orden realmente provino con el superusuario, o con un estudiante.
12. Ambos hacen el uso de funciones de codificacin de direccin nica. El UNIX
almacena todas las contraseas en el archivo de contrasea el esquema de
Lamport y codificado usa un - camino funciones para generar una secuencia de
contraseas.
13. Esto no trabajara para usarlos avanzado. Si un intruso capturara un, l sabra cual
usar prxima vez. La utilizacin de ellos hacia atrs previene este peligro.
14. Un modo de firmar un documento sera para la tarjeta elegante para leer en el
docu-ment, hacer un picadillo de ello, y luego codificar el picadillo con la
llave privada del usuario, almacenada en la tarjeta. El picadillo criptografiado
sera la salida al ordenador de cafetera de Internet, pero la llave secreta nunca
dejara la tarjeta elegante, entonces el esquema
es seguro.
15. Si las capacidades son usadas para hacer posible de tener pequeas esferas de
proteccin, no; por otra parte s. Si un redactor, por ejemplo, es arrancado con
slo

las capacidades del archivo para ser corregido y su archivo reutilizable, entonces
pase lo que pase bromas estn al acecho dentro del redactor, todo que esto puede
hacer es ledo aquellos dos archivos. Por otra parte, si el redactor puede tener
acceso a todos los objetos del usuario, entonces los caballos de enero Tropueden hacer su trabajo sucio, capacidades o no.
16. El compilador podra insertar el cdigo en todas las referencias de serie para hacer la
comprobacin de lmites.
Este rasgo prevendra ataques de desbordamiento parachoques. No es hecho
porque esto hara ms lentos todos los programas considerablemente. Adems,
en C no es ilegal
para declarar una serie de tamao 1 como un parmetro de procedimiento y
luego referirse a ele-ment 20, pero claramente la serie actual cuya direccin ha
sido pasada debera tener al menos 20 elementos.
17. De un punto de vista de seguridad, sera ideal. Los bloques usados a veces
son expuestos, escape informacin valiosa. De un punto de vista de interpretacin,
el zeroing bloquea el tiempo de CPU de basura, as degradando la
interpretacin.
18. Esto debera leer la contrasea entera todo el tiempo, aun si esto ve temprano
en que la contrasea se equivoca. Aquellos camino, una falta de pgina
siempre ocurrir cuando pasar palabra - es en parte en una pgina de memoria.
19. Para cualquier sistema operativo todos los programas deben comenzar o la
ejecucin en una direccin conocida o hacer almacenar una direccin inicial en
una posicin conocida en el jefe de archivo de programa. (a) el virus primeras
copias las instrucciones en la direccin de principio normal o la direccin en el
jefe a un lugar seguro, y luego inserta un salto a s en el cdigo o su propia
direccin de principio en el jefe. (b) Cuando hecho con su propio trabajo, el
virus ejecuta las instrucciones de las que esto tom prestado seguido
un salto a la siguiente instruccin que habra sido ejecutada, o transfiere el
control a la direccin que esto encontr en el jefe original.
20. Un registro de bota de maestro requiere slo un sector, y si el resto de la primera pista
es libre esto proporciona el espacio donde un virus puede esconder el sector de bota
original tambin
como una parte sustancial de su propio cdigo. Los reguladores de disco
modernos leen y almacenan pistas enteras en un buffer a la vez, as no habr
ninguna tardanza perceptible o sonidos de los adicionales busca cuando los
datos suplementarios son ledos.
21. C programas tienen la extensin .c. En vez de usar el sistema de acceso
llaman para probar para ejecutan el permiso, examinan el nombre de archivo
para ver si esto se termina en .c. Este cdigo lo har
trabajo por horas *file 3 nombre;
int len;
archivo 3 nombre = dp-> d 3 nombre;
len = strlen (archivo 3 nombre);
si (strcmp (&file 3 nombre [len -2 cuenta, ".c") == 0) infectan (s);

SOLUCIONES DE PROBLEMA PARA CAPTULO 41

39

22. Ellos probablemente no pueden contar, pero ellos pueden adivinar que XORing
una palabra dentro del virus con el resto producir el cdigo mquina
vlido. Sus ordenadores pueden intentar slo cada palabra de virus por su
parte y ver si cualquiera de ellos produce el cdigo mquina vlido. Para hacer
ms lento este proceso, Virgil puede usar una mejor codificacin algo-rithm,
como la utilizacin de llaves diferentes para el raro y hasta palabras, y luego
rotat-ing la primera palabra dejada por algn nmero de trozos determinados
por una funcin de picadillo
en las llaves, haciendo girar la segunda palabra que nmero de trozos ms uno, etc.
23. El compresor es necesario para comprimir otros programas ejecutables como la
parte del proceso de infeccin de ellos.
24. La mayor parte de virus no quieren infectar un archivo dos veces. Esto no podra trabajar
hasta.
Por lo tanto es importante ser capaz de descubrir el virus en un archivo para ver
si es infectado ya. Todas las tcnicas solan hacer con fuerza para el software
de antivirus para descubrir virus tambin lo hace con fuerza para el virus s
mismo para contar qu archivos han sido infectados.
25. Primero, el correr del programa fdisk d e l d i s c o d u r o es un error. Puede ser
infectado y esto puede infectar el sector de bota. Tiene que ser dirigido del
CD-ROM original o un disco flexible protegido contra escritura. Segundo, los
archivos restaurados pueden ser infectados. El aplazamiento de ellos sin
limpiarlos puede instalar de nuevo slo el virus.
26. S, pero el mecanismo es ligeramente diferente del Windows. En UNIX un companion virus puede ser instalado en un directorio en el camino de bsqueda
delante del que en el cual el verdadero programa vive. El ejemplo ms comn
debe insertar un programa ls en un directorio de usuario, que con eficacia
anula/bin/ls porque es encontrado primero.
27. Un gusano es un programa aislado que trabaja por s mismo. Un virus es un
fragmento de cdigo que ata a otro programa. El gusano se reproduce haciendo
ms copias del programa de gusano. El virus se reproduce infectando otros
programas.
28. Obviamente, la ejecucin de cualquier programa de una fuente desconocida es
peligrosa.
La autoextraccin de archivos puede ser sobre todo peligrosa, porque ellos pueden
liberar archivos mltiples en directorios mltiples, y el programa de extraccin
s mismo podra ser un Caballo de Troya. Si una opcin est disponible es mucho
mejor obtener archivos en la forma de un archivo ordinario, que usted puede
extraer entonces con instrumentos en los que usted confa.
29. Esto no importa. Si el cero se llena es usado, entonces S2 debe contener el prefijo
verdadero como
un nmero entero no firmado en la orden baja k trozos. Si la extensin de signo
es usada, entonces S2 tambin debe ser el signo ampliado. Mientras S2 contiene
los resultados correctos de cambiar una direccin verdadera, esto no importa lo
que est en los trozos superiores no usados de S2.

42

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 9

30. Aqu est la matriz de proteccin:


2222222222222222222222222222222222222222222222222222
222222222222222222222222O2b2j2e2c2t22222222222222222222222
22D22o2m22a2in22222P2P2P22-N22o2t2e2s22p22ro22g21222p2r2o2j2e2c2t2.t222s2p2l2a2s2h2.2g2if22
asw
Lea
Leer
Leer
Leer
Escri
Escribir
bir
222222222222222222222222E22x2ec2222222222222222222222222
gmw
Leer
Leer
2222222222222W2r2i2te2222222222222222W22r2it2e2222222222222222
usuarios Lea
Leer
22222222222222222222222222222222W22r2it2e2222222222222222
devel
Leer
Leer
222222222222222222222222E22x2ec2222222222222222222222222
31. Los ACLs son como sigue:
2222222222222222222222222222222222222
22F2i2le2222222222A2C22L22222222222222222222
PPP-notas gmw:RW; *:R
prog1
asw:RWX; devel:RX; *:R
project.t
asw:RW; users:RW
22s2p2l2a2s2h2.g2i2f2222a2s2w2:2R2W22;2d22e2v2e2l:2R222222222
Asuma que

* significa todos.

32. Si asw quiere permitir gmw, pero ningn otro miembro de usuarios para mirar
splash.gif l podra modificar el ACL a asw:RW; devel:R; gmw:R.
33. Los navegadores existentes vienen precargados por las llaves pblicas de varios
confi en terceros como la Corporacin Verisign. Su negocio consiste en verifying llaves pblicas de otras compaas y certificados de composicin para
ellos. Estos certificados son firmados por, p or e j e mp l o , la llave privada de
Verisign. Ya que la llave pblica de Verisign es incorporada en el navegador,
los certificados firmados con su llave privada pueden ser verificados.
34. Es entrado slo en la matriz dos veces. En el ejemplo dado en el texto, el printer1
est en dos esferas simultneamente. No hay ningn problema aqu.
35. Para hacer un archivo legible por cada uno excepto una persona, las listas de
control de acceso son la nica posibilidad. Para compartir archivos privados, las
listas de control de acceso o capa-bilities pueden ser usados. Para hacer el
pblico de archivos, las listas de control de acceso son las ms fciles, pero
tambin puede ser posible poner una capacidad del archivo o archivos en un lugar
famoso en un sistema de capacidad.
36. El servidor verificar que la capacidad es vlida y luego generar una capacidad
ms dbil. Este es legal. D e s p u s d e t o d o , el amigo puede r e g a l a r slo el

capacidad esto ya tiene. Dndolo el poder deregalar algo an ms dbil no es una


amenaza de seguridad. Si usted tiene la capacidad de regalar, supongamos,
leer/escribir el poder, regalando el poder slo para leer no es un problema.
37. El no Que anotara, que viola

el * propiedad.

38. El no Que leera, que viola la propiedad de seguridad simple.


39. Una escritura de proceso a otro proceso es similar a una escritura de proceso a un
archivo.
Por consiguiente, el * la propiedad tendra que sostener. Un proceso podra
escribir, pero no anotar. El Proceso B podra enviar a C, D, y E, pero no a A.
40. En la foto original, el R, G, y B, despide cada uno permite valores integrales
distintos de 0 a 255, incluido. Este significa que hay 224 puntos vlidos en
color el espacio que un pixel puede ocupar. Cuando 1 trozo es llevado para
nel chan-encubierto, slo hasta los valores son permitidos (asuncin que el
trozo secreto es sustituido por a
0 en todas partes). As tan la mayor parte del espacio es cubierto, pero la resolucin en
color
es slo la mitad como buena. En total, slo 1/8 de los colores puede ser
representado. Trazan un mapa de los colores rechazados en el color adyacente
todos cuyo valores son n me r os pa r e s , por ejemplo , los colores (201, 43,
97), (201, 42, 97), (200, 43,
96), (y 200, 42, 97) ahora todo el mapa en el punto (200, 42, 96) y puede ser ya
no distinguido.
41. La imagen contiene 1,920,000 pixeles. Cada pixel tiene 3 trozos que pueden
ser usados, dados una capacidad cruda d e 7 2 0 , 0 0 0 b yt e s . Si este es con
eficacia doblado debido a la compresin del texto antes de almacenarlo, la
imagen puede creer que el texto de ASCII ocupa - ing aproximadamente
1,440,000 bytes antes de la compresin. As una imagen sola puede sostener
el valor de un disco flexible entero de datos de ASCII. No hay ninguna
extensin debido al steganography. La imagen con los datos escondidos es el
mismo tamao que el origi-nal imagen. La eficacia es el 25 %. Este puede ser
fcilmente visto del hecho esto
1 trozo de cada muestra en color de 8 trozos contiene la carga til, y la
compresin aprieta dos trozos del texto de ASCII por trozo de carga til. As
por pixel de 24 trozos, effec-tively 6 trozos del texto de ASCII estn siendo
codificados.
42. Los disidentes podran firmar los mensajes usando una llave privada y luego
tratar de hacer pblico extensamente su llave pblica. Este podra ser posible
teniendo alguien lo pasan de contrabando del pas y luego lo fijan al Internet
de un intento de coun-libre.
43. Lo siguiente es dos programas C que hacen el trabajo. Dirigido en en el mismo
directorio pero en ventanas diferentes. El principio descifra primero.
/* codificador encubierto - Escrito por Albert S. Woodhull el 3 de diciembre de
2000
C versin, usando permisos de archivo
Este programa espera leer una cuerda de ASCII 0 'y 1' caracteres de
su entrada estndar. Esto genera una salida encubierta por
alternativamente

la fabricacin de un dueo de archivo legible o no legible, controlando el


tiempo el
el archivo est en cada estado.
Cada "vez de trozo" consiste en tres vez intervalos. El intervalo
medio determina el valor del trozo. Para hacer seas 'un 0' el
archivo es legible durante los dos primeros intervalos y no legible
durante el ltimo
intervalo. Para hacer seas 'un 1' el archivo es legible durante el primer
intervalo y no legible durante los segundos y terceros intervalos.
Un colaborador puede determinar la legibilidad de un archivo para su
dueo aunque el colaborador l mismo no tenga ningn acceso,
mientras el archivo est en
un directorio que puede ser ledo.
La llamada de sistema de sueo es usada para controlar el cronometraje.
Este hace
el proceso entero bastante lento, ya que usted no puede dormir menos de
1 segundo.
*/
#define MXIMO 80
#include <stdio.h>
#include <fcntl.h>
int principal (vaco)
{
int c;
int yo =
0; int n =
0; int fd;
trabajo por horas s [cuenta de MXIMO;
/* consiga la cuerda de entrada, ahorre slo 0s y '1s, trabajos por horas de
cuenta */
mientras (((c = getchar ())! = EOF) && (n <MXIMO))
si ((c == 0) || (c == 1)) s [n ++ cuenta = c;
s [n cuenta = ;
/* cree el archivo de seal */
fd = creat ("/tmp/tmp000", 0600);
/* para cada uno 0 'o 1' ejecutan la secuencia correspondiente */
mientras (yo! = n)
{
c = s [yo cuenta ++;
chmod ("/tmp/tmp000", 0);

interruptor (c)
{
caso 0:
sueo (2); chmod
("/tmp/tmp000", 0400); sueo
(1);
ruptura;
caso 1:
sueo (1);
chmod ("/tmp/tmp000", 0400);
sueo (2);
ruptura;
}
}
/* deshgase de pruebas */
desate ("/tmp/tmp000");
}
-----------------------------------------------------------------------------------------/* decodificador encubierto - Escrito por Albert S. Woodhull el 3 de diciembre
de 2000
C versin, usando permisos de archivo.
Este programa repetidamente comprueba los permisos de un archivo. El
el codificador de compaero alternativamente cambia al dueo trozo legible
de 0 a
1 en una base calculada. Una transicin de legible a seales ilegibles
el principio de un poco, el cronometraje de la transicin atrs a
seales legibles el valor del trozo. Si el tiempo ilegible es ms largo
que
el tiempo legible el trozo es un cero, si esto es ms corto el trozo es 1.
*/
#include <stdio.h>
#include <sys/stat.h>
#define VERDADERO
#define FALSO
0

int principal (vaco)


{
struct stat statbuf;
descifre de int, c0, c1, modo, p0, p1;

/* Comience el decodificador antes de comenzar el codificador. Este


lazo espera el archivo a ser creado. */
mientras (stat ("/tmp/tmp000", &statbuf) <0) los/* no hacen nada */;
modo = statbuf.st3mode;
/* Este lazo descubre el principio del primer trozo. */
mientras ((modo y S3IRUSR)! = 0)
{
stat ("/tmp/tmp000", &statbuf);
modo = statbuf.st3mode;
}
el descifre = VERDADERO;
mientras (descifrando == VERDADERO)
{
c0 = c1 = 0;
/* fase 0, uso c0 para contar */
p0 = VERDADERO;
mientras (p0 == VERDADERO)
{
/* refresque statbuf y compruebe para el final de la seal */
si (stat ("/tmp/tmp000", &statbuf) <0)
p0 = FALSO;
modo = statbuf.st3mode;
si ((modo y S3IRUSR) == 0) c0 ++; ms p0 = FALSO;
}
/* fase 1, uso c1 para contar */
p1 = VERDADERO;
mientras (p1 == VERDADERO)
{
/* refresque statbuf y compruebe para el final de la seal */
si (stat ("/tmp/tmp000", &statbuf) <0) p1 = FALSO;
modo = statbuf.st3mode;
si ((modo y S3IRUSR)! = 0) c1 ++; ms p1 = FALSO;
}
/* decida sobre el valor de trozo y salida ello */
si (c0> c1) printf ("0"); ms printf ("1");
/* haga la salida visible ahora */

fflush (NULO);
/* ver si la seal est todava all */
si (stat ("/tmp/tmp000", &statbuf) <0)
{
el descifre = FALSO;
putchar (0);
}
}
}

SOLUCIONES CON PROBLEMAS DEL CAPTULO 10


1. El proceso de vocacin tiene que poner l a s i g na t ur a de sistema en un registro
o en la pila.
2. Los archivos que sern puestos en una lista son: bonefish, quacker, seahorse, y
comadreja.
3. Esto imprime el nmero de lneas del archivo xyz que contienen la cuerda "nd" en
ellos.
4. La tubera es como sigue:
dirjase-8 z | siguen-1

La primera parte selecciona las ocho primeras lneas de z y los pasa para seguir,
que slo escribe el ltimo en la pantalla.
5. Ellos son separados entonces la salida estndar puede ser desviada sin afectar
stan-dard error. En una tubera, la salida estndar puede ir a otro proceso, pero
stan-dard error todava escribe en el terminal.
6. Cada carreras de programa en su propio proceso tan seis nuevos procesos son
comenzadas.
7. S. La memoria del nio es una copia exacta del padre, incluso la pila.
As si las variables de ambiente estaban en la pila del padre, ellos estarn en la
pila del nio tambin.
8. Ya que los segmentos de texto son compartidos, slo 36 KILOBYTES tienen
que ser copiados. La mquina puede copiar 8 0 b yt e s por microsegundo,
entonces 3 6 K I L OB YT ES toman 0.46 msec. Aada otro 1 msec para entrar
y del grano, y todo el asunto toma aproximadamente
1.46 msec.
9. El nio puede cambiar unas variables y luego salir. Con el tenedor, el padre no
es garantizado esto nada el nio puede hacer afectar la direccin del padre

espacio. Con vfork, esta garanta est caducada, introduciendo el possibil-ity de


bichos difciles de encontrar.
10. Cada DT el uso de CPU es partido por la mitad, entonces despus de un intervalo es
10, entonces
5, 2, 1, y 0. Esto toma 5DT para golpear 0.
11. S. Esto no puede correr m s tan antes su memoria vuel ve a la lista libre, mejor.
12. Las seales parecen al hardware interrumpe. Un ejemplo es la seal
despertadora, que seala el proceso en un nmero especfico de segundos en el
futuro. El otro es la seal de excepcin de punto flotante, que indica la divisin
por el cero o algn otro error. Muchas otras seales tambin existen.
13. Los usuarios malvolos podran causar estragos con el sistema si ellos pudieran
enviar seales
a procesos sin relaciones arbitrarios. Nada parara a un usuario de escribir un
programa que consiste en un lazo que envi una seal al proceso con PID yo para
todos
yo de 1 a PID mximo. Muchos de estos procesos seran improvisados para la
seal y seran matados por ello. Si usted quiere matar a sus propios procesos,
que est bien, pero la exterminacin de los procesos de su vecino no es aceptable.
14. Esto sera la utilizacin imposible UNIX o Windows 2000, pero el hardware de
Pentium hace realmente este posible. Lo que es necesario debe usar los rasgos
de segmentacin del hardware, que no son apoyados por UNIX o por Windows
2000. El sistema operativo podra ser puesto en uno o varios segmentos globales, con
las llamadas de procedimiento protegidas de hacer llamadas de sistema en vez
de trampas. El OS/2 trabaja este camino.
15. Generalmente, ejecucin en segundo plano de demonios que hace cosas como
imprenta y envo de correo electrnico. Ya que la gente no se sienta por lo
general en el borde de sus sillas que los esperan a terminar, les dan la prioridad
baja, absorbiendo el tiempo de CPU de exceso no necesitado por procesos
interactivos.
16. Un PID debe ser nico. Tarde o temprano el contador se abrigar alrededor y
volver a 0. Entonces esto va a tan hacia arriba a, por ejemplo, 15. Si slo
resulta que tratan 15 era hace meses comenzados, pero todava corre, 15 no
puede ser adjudicado
a un nuevo proceso. As despus de que PID propuesto es elegido usando el
contador, una bsqueda de la mesa de proceso debe ser hecha para ver si el PID
est ya en el uso.
17. Cuando el proceso sale, darn al padre el estado de salida de su nio.
El PID es necesario para ser capaz de identificar al padre entonces el estado de
salida puede ser transferido al proceso correcto.
18. Si todos los trozos sharing3flags son puestos, la llamada de clon comienza un hilo
convencional. Si todos los trozos son limpiados la llamada es esencialmente un
tenedor.

19. Los 1000 son completamente arbitrarios. La nica exigencia es que cada tiempo real el hilo consigue una calidad ms alta que cada hilo de tiempo compartido.
20. La carga del sistema operativo requiere el entendimiento del formato de sistema de
archivo, ser capaz de buscar el directorio raz, y ser capaz de interpretar el
formato binario capaz execut-en el cual el sis te ma oper ativo es
almacenado en el disco. Esto
pregunta mucho de un programa de elstico de bota de 512 bytes. Esto puede
cargar apenas slo el programa de bota de una posicin fija, pero este puede ser
un programa largo, con el conocimiento detallado del sistema de archivo,
directorio, y formatos binarios.
21. Con el texto compartido, 100 KILOBYTES son necesarios para el texto.
Cada uno de los tres procesos necesita 80 KILOBYTES para su segmento de
datos y 10 KILOBYTES para su pila, entonces la memoria total necesaria es
370 KILOBYTES. Sin el texto compartido, cada programa necesita 190
KILOBYTES, entonces tres
de ellos necesitan un total de 570 KILOBYTES.
22. S. Con un campo 16 bites, pueden haber un mximo de entradas de mapa de
corazn de 64 kilobyte, de ah un mximo de marcos de pgina de 64 kilobyte.
As no hay ningn modo de manejar memorias ms grandes que 64 MB.
Cuando VAX original s a l i , 2 MB fue considerado una memoria muy grande,
y 6 4 M B era con eficacia el infinidad. Ahora este lmite de 64 MB se ha
hecho completamente sensible.
23. El segmento de texto no puede cambiarse, entonces nunca tiene que ser
paginado. Si sus marcos son necesarios, ellos pueden ser abandonados slo.
Las pginas siempre pueden ser recuperadas del sistema de archivo. El
segmento de datos no debe ser paginado atrs al archivo capaz execut-, porque
es probable que esto se ha cambiado desde ser trado. El Pag-ing ello atrs
arruinara el archivo ejecutable. El segmento de pila no est hasta presente en el
archivo ejecutable.
24. Dos proceso podra trazar un mapa del mismo archivo en sus espacios de
direccin al mismo tiempo. Este les da un modo de compartir la memoria fsica.
La mitad de la memoria compartida podra ser usada como un parachoques de
un a B y mitad como un parachoques de B a
A. Para comunicarse, un proceso escribe un mensaje a su parte de la memoria
compartida, luego una seal al otro para indicar que hay un mensaje que lo
espera. La respuesta podra usar el otro parachoques.
25. La direccin de memoria 65,536 es el byte de archivo 0, entonces la direccin de
memoria 72,000 es el byte de archivo
6464.
26. Al principio, el valor de cuatro pginas del archivo fueron trazado un mapa: 0,
1, 2, y 3. La llamada tiene xito y despus de que es hecho, slo todava trazan
un mapa de las pginas 2 y 3, es decir bytes 16,384 aunque 32,767
27. Es posible. Por ejemplo, cuando la pila crece ms all de la pgina de fondo,
una falta de pgina ocurre yelsistemaoperativo normalmente le adjudica la siguiente
pgina ms baja. Sin embargo, la pila ha chocado con el segmento de datos,
la siguiente pgina no puede ser asignado a la pila, entonces el proceso debe
ser terminado. Incluso si hay otra pgina disponible en la memoria virtual, el
rea de paginacin de

el disco podra ser lleno, hacindolo imposible de asignar el al ma c e na mi e nt o


de re s pal do para la nueva pgina, que tambin terminara el proceso.
28. Es posible si los dos bloques no son compaeros. Considere la situacin del
Higo 10-0 (e). Dos nuevas peticiones e n t r a n para 8 pginas en cada uno.
En este punto el fondo 32 pginas de la memoria son posedas por 4 usuarios
diferentes, cada uno con 8 pginas. Ahora los usuarios 1 y 2 liberan sus
pginas, pero los usuarios 0 y 3 sostienen el suyo. Este cede una situacin c o n
8 p g i n a s usadas, 8 p g i n a s libres, 8 p g i n a s libre, y 8 pginas usadas.
Tenemos dos bloques adyacentes del tamao igual que no puede ser
combinado porque ellos no son compaeros.
29. La paginacin a una particin permite el uso de un dispositivo crudo, sin el
elevado de usar estructuras de datos de sistema de archivo. Para tener acceso al
bloque n, el sistema operativo puede calcular su posicin de disco por slo
aadindolo a l t a c o d e s a l i d a del parti-tion. No hay ninguna necesidad de
pasar por todos los bloques indirectos que otro - sabio ser necesario.
30. La apertura de un archivo por un camino con relacin al directorio de trabajo
es por lo general ms estafa - venient para el programador o usuario, ya que un
nombre de camino ms corto es necesario. Es tambin por lo general mucho
ms simple y requiere que menos disco tenga acceso.
31. Los resultados son como
sigue. (a) la cerradura es
concedido.
(b) La cerradura es concedida.
(c) El C es bloqueado ya que los bytes 20 a 30 son no
disponibles. (d) A es bloqueado ya que los bytes 20 a 25 son
no disponibles.
(e) El B es bloqueado ya que el byte 8 es no disponible para el cierre exclusivo.
En este punto ahora tenemos un punto muerto. Ninguno de los procesos estar
capaz alguna vez de correr otra vez.
32. La cuestin se levanta de que el proceso consigue la cerradura cuando se hace
disponible.
La solucin ms simple es dejarlo indeterminado. Este es lo que POSIX hace
porque es lo ms fcil poner en prctica. El otro debe requerir que las
cerraduras sean concedidas en la orden ellos fueron solicitados. Este
acercamiento es ms trabajo para la realizacin, pero previene el hambre.
Todava otra posibilidad es dejar a procesos proporcionar una prioridad
pidiendo una cerradura, y usar estas prioridades de hacer una opcin.
33. Un acercamiento es dan un error y rechazan realizar el lseek. El otro debe
hacer la compensacin hacerse negativo. Mientras no es usado, no hay
ningn dao hecho. Slo si una tentativa es hecha para leer o escribir que el
archivo debera ser el error mes-sabio ser dado. Si el lseek es seguido de otro
lseek que hace la compensacin positiva, ningn error es dado.
34. El dueo puede leer, escribir, y ejecutarlo, y t o d o s l o s d e m s (incluso el
grupo del dueo) pueden leer slo y ejecutarlo, pero no escribirlo.

35. S. Cualquier dispositivo de bloque capaz de lectura y escritura de un bloque arbitrario


puede
sea usados para sostener un sistema de archivo. Incluso si no haba ningn
modo de buscar a un bloque especfico, es siempre posible rebobinar la cinta y
luego contar avanzado al bloque solicitado. Tal sistema de archivo no sera un
archivo de alto rendimiento sys-tem, pero esto trabajara. El autor realmente ha
hecho este en un PDP-11 que usa DECtapes y esto trabaja.
36. El no del archivo todava tiene slo a un dueo. Si, por ejemplo, slo el dueo
puede escribir en el archivo, el otro partido no puede hacer as. La unin de un
archivo en su conservador direc-no le da de repente ningn derecho que usted
no tena antes. Esto slo crea un nuevo camino para tener acceso al archivo.
37. Cuando el directorio de trabajo es cambiado, usando la llamada de sistema chdir, el
nodo "yo" para el nuevo di re c t or i o de tr a baj o soy trado y guardado en la
memoria, en la mesa de nodo "yo". El i-nodo para el directorio raz est
tambin all. En el usuario struc-ture, las agujas de ambos de stos son
mantenidas. Cuando un nombre de camino tiene que ser analizado, el primer
carcter es inspeccionado. Si es "un/", la aguja del nodo de raz "" soy usado
como el lugar inicial, por otra parte la aguja del i-nodo del directorio de trabajo
es usada.
38. El acceso al i-nodo del directorio raz no requiere un acceso de disco, entonces
tenemos lo siguiente:
1. Lectura el / directorio para buscar "usr".
2. Lectura en el i-nodo para/usr.
3. Lectura del directorio/usr para buscar "ast".
4. Lectura en el i-nodo para/usr/ast.
5. Lectura del directorio/usr/ast para buscar "trabajo".
6. Lectura en el i-nodo para/usr/ast/work.
7. Lectura del directorio/usr/ast/work para buscar "f".
8. Lectura en el i-nodo para/usr/ast/work/f.
As e n t o t a l , ocho disco tiene acceso son necesarios antes de que el i-nodo
necesario est en la memoria.
39. El i-nodo sostiene 10 direcciones. El bloque indirecto solo sostiene 256. El
dou-ble bloque indirecto conduce a 65,536, y el indirecto triple conduce a
16,777,216, para un total de 16,843,018 bloques. Este limita el tamao de
archivo mximo con 10 +
256 + 65,536 + 16,777,216 bloques, que es aproximadamente 16 gigabytes.
40. Cuando un archivo est cerrado, el contador de su i-nodo en la memoria es decremented.
Si
es mayor que el cero, el i-nodo no puede ser quitado de la mesa porque el archivo
est todava abierto en un poco de proceso. Slo cuando el cero de golpes de
contador puede el
i-nodo ser quitado. Sin la cuenta de referencia, el sistema no sabra cuando
quitar el i-nodo de la mesa. Haciendo una copia separada del nodo "yo" cada
vez que el archivo fue abierto no trabajara porque los cambios hechos en una
copia no seran visibles en los dems.

52

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 10

41. El escondite parachoques tiene acceso son tan infrecuentes comparado a la


memoria tiene acceso, que el coste de manejar la cola LRU en el software es
aceptable. Con pginas, hay tpicamente una o dos referencias por instruccin,
que hace principal - taining una cola LRU poco prctico.
42. Por arrancar a la fuerza los contenido del escondite parachoques en el disco
cada 30 segundos, el dao hecho por un accidente es limitado con 30 segundos.
Si la actualizacin no corriera, un proceso podra escribir un archivo, entonces
salir con los contenido llenos del archivo todava en el escondite parachoques.
De hecho, el usuario podra salir del sistema entonces y irse a casa con
el archivo todava en el escondite parachoques. Una hora ms tarde el sistema
podra estrellarse y perder el archivo, todava slo en el escondite parachoques
y no en el disco. Al da siguiente no tendramos a un usuario feliz.
43. Todo que esto tiene que hacer es puesto la cuenta de eslabn a 1 desde slo una
entrada de directorio se refiere - ences el i-nodo.
44. Es generalmente getpid, getuid , getgid , o algo as. Todo que ellos hacen es
traen un nmero entero de un lugar conocido y lo devuelven. Cada otra
llamada hace ms.
45. El archivo es simplemente quitado. Este es el camino normal (realmente, el nico
camino)
quitar un archivo.
46. Undiscoflexible de 1.44 MB puede sostener 1440 bloques de datos crudos. El bloque
de bota, bloque sper, bloque de descriptor de grupo, bloquea el mapa de bit, y
el mapa de bit de i-nodo de un sistema de archivo ext2 cada uso 1 bloque. Si
8192 i-nodos de 128 bytes son creados, stos
los i-nodos ocuparan otros 1024 bloques, dejando slo 411 bloques no usados.
Al menos un bloque es necesario para el directorio raz, yndose del espacio de
410 bloques de datos de archivo. Realmente el Linux mkfs programa es bastante
elegante para no hacer ms i-nodos que puede ser posiblemente usado,
entonces la ineficiencia no es este mal. E n a u s e n c i a 184 inodes ocupacin de
23 bloques sern creados. Sin embargo, debido al elevado del sistema de archivo
ext2, Linux normalmente usa el sistema de archivo MINIX en discos flexibles y
otros pequeos dispositivos.
47. Es a menudo esencial tener a alguien que puede hacer cosas que son normalmente
para - ofrecidas. Por ejemplo , un usuario arr anca un trabajo que genera una
cantidad infinita
de salida. El usuario entonces sale del sistema y contina unas vacaciones
de tres semanas a profesor universitario Lon-. Tarde o temprano el disco se
llenar, y el superusuario tendr al aliado manu-matan el proceso y quitan el
archivo de salida. Muchos otros tales ejemplos existen.
48. Probablemente alguien tena el archivo abierto cuando el profesor cambi el
permis-sions. El profesor debera haber suprimido el archivo y luego haber
puesto otra copia de su a r c h i v o p r i n c i p a l en el directorio pblico. Tambin,
l debera usar un mejor mtodo para distribuir archivos, como una pgina
Web, pero est ms all del alcance de este ejercicio.

SOLUCIONES CON PROBLEMAS DEL CAPTULO 11


1. Una ventaja consiste en que todo est en un lugar, que hace fcil para encontrar.
Una desventaja es que un bloque de disco malo en el ndice de alto nivel en una
colmena puede causar el desastre con el sistema entero.
2. HAL es simple y franco. Incluso el ratn, el disco, y
todos los otros controladores de dispositivos en ello lo haran pesado y
destruiran su func-tion como una capa delgada que esconde ciertas diferencias
de hardware bsicas del com-puter s mismo, pero no los dispositivos de
entrada - salida.
3. Una base de datos genealgica podra encontrar conveniente de registrar el
nacimiento y las fechas de muerte de los antepasados de alguien que usan el
formato de tiempo de sistema estndar. De hecho , cualquier base de datos
histrica podra usar este.
4. DPCs dirigido en un contexto arbitrario. APCs dirigido en el contexto de un
hilo especfico. El acto de sealar el proceso implica escribir un marco en la
pila del usuario entonces la seal puede ser devuelta de. Este requiere el acceso
al espacio de direccin del usuario. Por consiguiente, un APC es necesario.
5. (a) el gerente de proceso usa al gerente de objeto para crear hilos.
(b) El gerente de memoria usa al gerente de seguridad para ver si pueden trazar
un mapa de un archivo.
(c) El gerente de enchufe-y-juego usa la configuracin mgr para registrar un nuevo
dispositivo.
6. Una seal es manejada por un nuevo hilo en el contexto de algn proceso. Por
ejemplo, cuando la llave Dejada es golpeada o aun cuando un hilo critica.
Realmente no hace ningn sentido de agarrar una seal en el contexto de un
hilo. Realmente tiene que ser por proc-ess. As el manejo de seal es realmente
un por actividad de proceso.
7. Hara ms sentido en servidores. Las mquinas de cliente tienen menos
procesos concurrentes. Las bibliotecas compartidas slo tienen sentido si hay
procesos mltiples que los comparten. Por otra parte, es ms eficiente unir
estticamente las bibliotecas y aceptar la copia. La ventaja de la unin esttica
consiste en que slo aquellos pro - cedures que realmente son necesarios son
cargados. Con DLLs puede haber pro - cedures en la memoria que nadie usa.
8. Las funciones en ntdll.dll son aquellos necesitados por los subsistemas, es
decir el sys-tem llamadas. Las funciones en ntoskrnl.exe son exportadas
funciones usadas por conductores y otras partes del sistema operativo. No
hay ninguna relacin entre ellos. El hecho que ellos son hasta cercanos es slo
una coincidencia. Ellos podran haberse diferenciado fcilmente por un factor
de cinco.
9. El no de la orden baja 3 trozos de la aguja de objeto en el mango es usado para
banderas,
como declarado en el texto. stos deben ser enmascarados lejos antes de que la aguja
pueda ser

54

SOLUCIONES DE PROBLEMA PARA EL CAPTULO 10

seguido. Por consiguiente cada aguja tiene 3 trozos cero como los trozos de
orden baja. Este significa que los jefes de objeto deben comenzar en
direcciones que son mltiplos de 8 bytes.
10. Hay un lmite de 32 operaciones porque hay slo 32 trozos de derechos en el
mango de objeto.
11. No es posible porque los semforos y mutexes son objetos ejecutivos y las
secciones crticas no son. Ellos son manejados sobre todo en el espacio de
usuario (pero tener realmente
un semforo de apoyo cuando el bloqueo es necesario). El gerente de objeto no
sabe sobre ellos y ellos no tienen mangos, como fue declarado en el texto. Ya
que WaitForMultipleObjects es una llamada de sistema, el sistema no puede
realizar un Booleano o de varias cosas, uno de las cuales esto no sabe nada
sobre. La llamada debe ser una llamada de sistema porque los semforos y
mutexes son objetos de grano. En resumen no es posible tener cualquier
llamada de sistema que mezcla objetos de grano y objetos de usuario como
este. Tiene que ser un o el otro.
12. (a) las ltimas salidas de hilo.
(b) Un hilo ejecuta ExitProcess .
(c) Otro proceso con un mango a ste lo mata.
13. El quntum de Profesional de 2000 de Windows es 20 msec y hay 12 hilos
en prioridades ms alto que 3. As la primera prioridad 3 hilo debe esperar 240
msec hasta que esto consiga un tiro.
14. Como mximo unos microsegundos. Esto se adelanta el hilo corriente
inmediatamente. Ello
es slo una pregunta de cuanto esto toma para dirigir el cdigo de distribuidor para
hacer el interruptor de hilo.
15. La bajada de su prioridad debajo de la prioridad baja podra ser usada como un
juego de palabras - ishment para usar el tiempo de CPU excesivo u otros
recursos.
16. El procesador no permitir a tales instrucciones ser ejecutado en el modo de
usuario y los atrapar como errores. En principio, un filtro que lee un
programa binario y sustituye todos EN e instrucciones con llamadas a rutinas
que usan servicios OS legales podra ser escrito. O bien, el programa podra
ser inter - preted, con stos las instrucciones manejadas haciendo el sistema de
2000 de Windows llaman para hacer la entrada - salida.
17. Un camino es aumentar la prioridad de procesos importantes. Un segundo camino es
dar a procesos importantes quntums ms largos.
18. El problema no puede ser solucionado usando mesas de pgina. Las mesas de
pginas trazan un mapa entre direcciones virtuales y fsicas. El problema aqu es
que el procedimiento compartido
est siendo colocado en direcciones virtuales diferentes. Si una instruccin en
direccin
65,536 lee JMP 300, esto brincar a la memoria invlida (debajo de 64 KILOBYTES) y
trampa.
Si es remendado para leer JMP 65836 que ir adelante 300bytes, que es

SOLUCIONES DE PROBLEMA PARA CAPTULO 11

55

correcto para aquel proceso. Pero si un proceso diferente tiene esta instruccin
en, supongamos, la direccin 131,072, brincando a 65836 se equivoca. Esto no
importa donde en la memoria fsica la pgina es. Para el segundo proceso, la
CPU genera
una direccin virtual incorrecta. Ningn ajuste de las mesas de pgina puede
trazar un mapa correctamente de una direccin virtual incorrecta.
19. El Pentium tiene segmentos mltiples, cada comienzo en la direccin virtual 0. Cada
uno
Podran trazar un mapa del archivo de .dll en un segmento separado que comienza en la
direccin virtual 0
en aquel segmento. Para hacer este, la segmentacin tendra que ser apoyada por
Windows 2000.
20. S. Los VADs son el modo que el gerente de memoria guarda la pista de la cual
las direcciones estn en el uso y que son libres. Un VAD es necesario para una
regin reservada para prevenir una tentativa subsecuente de reservarlo o
cometerlo de tienen xito - ing.
21. (1) es una decisin de poltica sobre cuando y como recortar un funcionamiento
se ponen. (2) (y 3) son requerido. (4) es una decisin de poltica sobre como
escribir agresivamente pginas sucias al disco. (5) (y 6) son requerido. (7) no
es realmente una pregunta de poltica
o requerido; el sistema nunca tiene a pginas cero, pero si el sistema es por otra
parte ocioso, zeroing pginas es siempre mejor que ejecutar slo el lazo ocioso.
22. No es movido en absoluto. Una pgina slo va en una de las listas cuando no
est presente en ningn juego de funcionamiento. Si esto est todava en un
juego de funcionamiento, esto no contina ninguna de las listas libres.
23. Esto no puede continuar la lista modificada, ya que esto contiene pginas que
todava son trazadas un mapa en y podran ser criticadas atrs. Una pgina no
trazada un mapa no est en aquella categora. Esto seguramente no puede ir
directamente a la lista libre porque aquellas pginas pueden ser abandonadas a
voluntad. Una pgina sucia no puede ser abandonada a voluntad. Consequently, debe ser primero contestado al disco, entonces esto puede continuar la
lista libre.
24. La copia de una palabra requiere el que ledo y uno escribe, para un total de 20
nsec para mover 4 b yt e s . Este viene a 5 nsec por byte copiado. Una pantalla de
XGA tiene
1024 768 3 b yt e s , que toma a p r o x i ma d a m e n t e 11. 8 msec para copiar en el
mejor caso
(la asuncin del programa corre completamente del escondite L1).
25. Hay dos archivos. Los campos son como sigue. Los valores antes del colon son
los campos de jefe:
Registre 1 = 0, 8: (3, 50), (1, 22), (3, 24), (2, 53)
Registran 2 = 10, 10: (1, 60)
26. El hecho que se obstruyen 66 es contiguo con una existencia dirigida no ayuda
cuando los bloques no estn en la orden de archivo lgica. En otras palabras,
usando el bloque 66 cuando el nuevo bloque no es mejor que la utilizacin del
bloque 90. Las entradas en el MFT son:
0, 8: (4, 20), (2, 64), (3, 80), (1, 66)

27. Esto es un accidente. Los 16 bloques por lo visto comprimidos a 8 bloques.


Podra haber sido 9 o 11 como fcilmente.
28. Todos excepto elusuarioSID podran ser quitados sin afectar la fuerza de la
seguridad.
SOLUCIONES CON PROBLEMAS DEL CAPTULO 12
1. Las mejoras del hardware de ordenador han sido en gran parte debido a
colinas transis-ms pequeas. Algunos factores que pueden limitar este son: (a)
las propiedades de onda de la luz puede limitar tcnicas fotolitogrficas
convencionales para producir integr cir-cuits, (b) la movilidad de tomos
individuales en slidos puede conducir a la degradacin de las propiedades de
capas mu y d e l g a d a s de semiconductores, aislantes, y colinas conduc-, y la
radiactividad de fondo (c) puede interrumpir obligaciones moleculares o
afectar muy pequeos gastos almacenados. Hay seguramente los otros.
2. Para programas muy interactivos, el modelo de acontecimiento puede ser mejor. De
stos, slo (el b) es interactivo. As (a) (y c) son algortmicos (y b) es el
acontecimiento conducido.
3. La puesta de ello all salv alguna RAM y redujo el tiempo que carga a 0, pero
el ms importante, lo hizo fcil para reveladores de software de tercero para
usar el GUI, as asegurando una uniformidad de mirada y sensacin a travs de
todo el software.
4. El no de la diferencia est relacionado ms con el hecho que el escondite de
servidores DNS y es organizado jerrquicamente. Los caminos podran haber
sido fcilmente dados en la cumbre - abajo ordenan, pero la convencin de
hacer hacia atrs es bien establecido ahora.
5. Posiblemente el stat es redundante. Podra ser conseguido por una combinacin de
abierto,
fstat, y cerca . Sera muy difcil simular cualquiera de los dems.
6. Si los conductores son puestos debajo de los hilos, entonces los conductores no
pueden ser hilos independientes en el estilo de MINIX . Ellos tienen que correr
como la parte de algn otro hilo, ms en el estilo de UNIX.
7. Es posible. Lo que es necesario es un proceso de nivel del usuario, el servidor de
semforo.
Para crear un semforo, un usuario le enva una peticin de mensaje de un
nuevo semforo. Para usar ello, el proceso de usuario pasa la identidad del
semforo a otros procesos. Ellos pueden enviar entonces mensajes al servidor
de semforo que pregunta para
una operacin. Si la operacin se obstruye, ninguna respuesta es devuelta, as
bloqueando al visitante.
8. El modelo es 8 msec del cdigo de usuario, entonces 2 msec del cdigo de
sistema. Con la optimizacin, cada ciclo es ahora 8 msec del cdigo de usuario
y 1 msec del cdigo de sistema. As el ciclo es reducido de 10 msec a 9 msec.
Multiplicacin por
1000 tales ciclos, un programa de 10 segundos ahora toma 9 segundos.

9. El mecanismo para venderse a clientes es un edificio con anaqueles, empleados


abastecer los anaqueles, cajeros para manejar pago, etc. La poltica es que clase
de productos la tienda se vende.
10. Los nombres externos pueden ser mientras necesarios y longitud variable. Los
nombres internos son generalmente 32 trozos o 64 trozos y longitud siempre
fijada. Los nombres externos no tienen que ser nicos. Dos nombres pueden
sealar al mismo objeto, por ejemplo, eslabones en el sistema de archivo
UNIX. Los nombres internos deben ser nicos. Los nombres externos pueden
est jerrquico. Los nombres internos son generalmente ndices en mesas y as
forman un espacio de nombre llano.
11. Si la nueva mesa es 2tan grande como la vieja, esto no se llenar rpidamente,
reduciendo el nmero de tiempos una mesa mejorada ser necesaria. Por otra
parte, tanto espacio no puede ser necesario, entonces esto puede gastar la
memoria. Este es un tiempo clsico contra la compensacin espacial.
12. Sera arriesgado hacer esto. Suponga que el PID estaba en la ltima entrada.
E n e s t e c a s o , saliendo el lazo dejara p que seala a la ltima entrada. Como
- alguna vez, si el PID no fuera encontrado, el p podra terminar por sealar a
la ltima entrada o a uno ms all de ello, s e gn los detalles del cdigo
compilado, qu optimi-zations son encendidos , etctera. Lo que podra
trabajar con un compilador podra fallar con uno diferente. Es mejor poner una
bandera.
13. Podra ser hecho, pero no sera una idea buena. Un IDE o el conductor SCSI
son muchas pginas mucho tiempo. Tener el cdigo condicional tan mucho
tiempo hace el cdigo fuente con fuerza para seguir. Sera mejor poner cada uno
en un archivo separado y luego usar el Makefile para determinar cual incluir. O
por lo menos, la estafa - ditional compilacin podra ser usada para incluir un
archivo de conductor o el otro.
14. S. Hace el cdigo ms despacio. Tambin, ms cdigo significa ms bichos.
15. No fcilmente. Invocaciones mltiples al mismo tiempo podran interferir el uno
con el otro. Podra ser posible si los datos estticos fueran guardados por un
mutex, pero esto significara que un visitante a un procedimiento simple podra
ser de improviso bloqueado.
16. S. El cdigo es reproducido cada vez el macro es llamado. Si es llamado muchas
veces, el programa ser m u c h o m s g r a n d e . Este es una compensacin
espacial por el tiempo tpica. Un programa ms grande, ms rpido en vez de
un programa ms pequeo, ms lento. Sin embargo, en un caso extremo, el
programa ms grande no podra caber en el TLB, hacindolo azotar y correr as
ms despacio.
17. Principio por ORing exclusivo 16 trozos ms abajo y superiores de la palabra
juntos para formar un nmero entero 16 bites, s. Para cada trozo, hay cuatro
casos: 00 (causa 0), 01 (causa 1), 10 (causa 1), y 11 (causa 0). As si el
nmero de 1s en s es raro, la paridad es rara; por otra parte es hasta.

Haga una mesa con 65,536 entradas, cada un byte que contiene con el bit de
paridad
en ello. Las miradas macro como este:
#define paridad (w) trozos [(w y 0xFFFF) ((w>> 16) y 0xFFFF) cuenta
18. Ningunas circunstancias. El valor en color "comprimido" sera tan grande como
el ori-ginal, y adems, una paleta en color enorme podra ser necesaria. Esto no
tiene sentido en absoluto.
19. La paleta en color de 8 trozos de ancho contiene 256 entradas de 3 bytes cada uno para
un total de
768 bytes. El ahorro por pixel es 2 bytes. As con ms de 384 pixeles,
triunfos de GIF. Una paleta en color de 16 trozos de ancho contiene 65,536
entradas de 3 bytes cada uno, para 196,608 bytes. El ahorro aqu es 1 byte por
pixel. As con ms de 196,608 pixeles, los triunfos de compresin 16 bites.
Asumiendo un 4:3 proporcin, el punt o de equili brio es una imagen de
512 384 pixeles. Para VGA (640 480), 16el color de trozo requiere menos datos que el color de 24 trozos verdadero.
20. Para un camino que est en el escondite de nombre de camino, esto no tiene
ningn efecto porque el i-nodo es evitado de todos modos. Si no es ledo, esto
no importa si esto est ya en la memoria. Para un camino que no est en el
escondite de nombre, pero implica un nodo fijado "yo", entonces la fijacin
ayuda realmente ya que esto elimina un disco ledo.
21. Registrando la fecha de la ltima modificacin, el tamao, y posiblemente una
firma deliberada c o mo una suma de control o CRC puede ayudar a
determinar si esto se haya cambiado desde ltimo referido. Una advertencia:
un servidor remoto podra proporcionar informa-falso tion sobre un archivo, y
la regeneracin local de una firma deliberada podra ser necesaria.
22. El archivo podra ser dado un nmero de versin o una suma de control y esta
informacin almacenada junto con la indirecta. Antes de tener acceso a un
archivo remoto, un control sera hecho para asegurarse el nmero de versin o
suma de control todava concordada con el archivo corriente.
23. Un sistema de archivo tratar tpicamente de escribir nuevos datos al bloque de
disco disponible ms cercano despus de ltimo usado. Si dos archivos estn
siendo escritos simultane-ously este puede c a u s a r intercalar los bloques de
datos en el disco, c a us ar ambos archivos fragmentados y as ms difcil de
leer. Este efecto puede ser mejorado almacenando datos en un buffer en la
memoria para maximizar el tamao de escribe, o escribiendo a archivos
temporales y luego copiando cada salida a un archivo permanente cuando el
programa se termina.
24. Los arroyos hablaban de proyectos grandes en los cuales la comunicacin entre
los programadores hace ms lento todo. Aquel problema no ocurre con un 1proyecto de persona y entonces la productividad puede ser ms alta.
25. Si un programador puede producir 1000 lneas del cdigo para un coste de 100,000
dlares, una lnea
del cdigo cuesta 100 dlares. En Captulo. 11, declaramos que el Windows 2000
consisti en

SOLUCIONES DE PROBLEMA PARA CAPTULO 59

55

29 millones de lneas del cdigo, que viene a 2.9 mil millones de dlares. Esto parece a
una parte horrible. Probablemente Microsoft ha logrado mejorar al
programador produc-tivity utilizacin de mejores instrumentos entonces un
programador puede producir variosmiles lneas
de cdigo por ao.
26. Suponga que la memoria cuesta 100 dlares para 64 MB (control contra precios
corrientes). Entonces
una mquina de final bajo necesita el valor de 1600 dlares del disco. Si el resto
del ordenador personal es 500 dlares, el coste total viene a 2100 dlares. Este es
demasiado caro para el mercado de final bajo.
27. Un sistema empotrado puede dirigir un nico o un pequeo nmero de programas. Si
todos los programas pueden ser guardados cargados en la memoria s i e mp r e
no podra haber ninguna necesidad de un gerente de memoria o de un sistema
de archivo. Adems, los conductores seran necesarios slo para unos
dispositivos de entrada - salida, y podra hacer ms sentido de escribir a los
conductores de entrada - salida como rutinas de biblioteca. Las rutinas de
biblioteca tambin podran ser mejor compiladas en programas individuales,
ms bien que en bibliotecas compartidas, eliminat-ing la necesidad de
bibliotecas compartidas. Probablemente muchos otros rasgos podran ser eliminated en casos especficos.

Das könnte Ihnen auch gefallen