Beruflich Dokumente
Kultur Dokumente
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
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.
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,
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.
10
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.
11
11
14
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.
11
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,
11
18
19
19
22
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.
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
19
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.
19
28
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
de
16,843,018 bloques, que es aproximadamente 16.06 GRAN BRETAA.
19
30
19
32
en P-
31
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
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
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
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
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);
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
* 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
el * propiedad.
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
fflush (NULO);
/* ver si la seal est todava all */
si (stat ("/tmp/tmp000", &statbuf) <0)
{
el descifre = FALSO;
putchar (0);
}
}
}
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
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
52
54
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
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)
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
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.