1. Na figura, vemos um controlador com dois dispositivos. A razão que um único controlador espera-se que lidar com múltiplos dispositivos é o de eliminar a necessidade de ter um controlador por dispositivo. Se os controladores de tornar-se quase de graça, então ele vai ser mais simples apenas para construir o controlador no próprio dispositivo. Este projeto também permitirá múltiplas transferências em paralelo e, assim, dar um melhor desempenho.
2. Fácil. O scanner põe para fora 400 KB/seg máximo. A rede sem fio é executada a 6,75 M/s, por isso não há problema.
3. Não é uma boa ideia. O barramento de memória é certamente mais rápido do que o barramento E/S, caso contrário, por que se preocupar com isso? Considere o que acontece com um pedido de memória normal. O barramento de memória termina primeiro, mas o barramento de E/S ainda está ocupado. Se a CPU espera até que a E/S acabamentos de ônibus, reduziu o desempenho da memória ao do E/S barramento. Se ele apenas tenta o barramento de memória para a segunda referência, ele irá falhar se esta é uma referência do dispositivo de E / S. Se houvesse alguma maneira de abortar instantaneamente o I / O ônibus referência anterior para tentar o segundo, a melhoria pode funcionar, mas nunca há essa opção. Tudo somado, é uma má ideia.
4. (a) O modo palavra-a-um-tempo: 1000 X [(t1 + t2) + (t1 + t2) + (t1 + t2)] Quando o primeiro termo é para a aquisição de ônibus e enviar o comando para o controlador de disco , o segundo termo é fortransferring a palavra, e o terceiro termo é para o reconhecimento. Ao todo, um total de 3000 × (t1 + t2) ns.
(b) Modo Burst: (t1 + t2) + t1 + 1000 vezes t2 + (t1 + t2), onde o primeiro termo é para a aquisição de ônibus e enviar o comando para o controlador de disco, o segundo termo é para o controlador de disco para adquirir o ônibus, o terceiro mandato é para a transferência de explosão, e o quarto termo é para a aquisição de ônibus e fazer o reconhecimento. Ao todo, um total de 3t1+1002t2.
5. Uma interrupção requer empurrando 34 palavras na pilha. Voltando da interrupção requer buscar 34 palavras a partir da pilha. Esta sobrecarga só é de 680 ns. Assim, o número máximo de interrupções por segundo não é mais do que cerca de 1.470.000, assumindo que nenhum trabalho para cada interrupção.
6. A taxa de execução de um processador moderno é determinada pelo número de instruções que terminam por segundo e tem pouco a ver com a duração de uma instrução leva. Se uma CPU pode terminar 1 bilhão de instruções / sec é uma máquina de 1.000 MIPS, mesmo que uma instrução leva 30nsec. Assim, não há geralmente pouco tentativa de fazer instruções terminar rapidamente. Segurando a interrupção até que a última instrução atualmente em execução acabamentos pode aumentar a latência de interrupções sensivelmente. Além disso, alguma administração é necessária para obter este direito.
7. Ele poderia ter sido feito no início. A razão para fazer isso no final é que o código do procedimento de interrupção do serviço é muito curto. Por outro personagem primeira saída e, em seguida, reconhecer a interrupção, se outra interrupção acontece imediatamente, a impressora estará trabalhando durante a interrupção, tornando-se imprimir um pouco mais rápido. A desvantagem dessa abordagem é um pouco mais de t empo morto quando outras interrupções podem ser desativadas.
(d) software em nível de usuário.
8. Sim. Os pontos de PC empilhados para a primeira instrução não foi buscar. Todas as instruções antes que tenham sido executados e a instrução apontada e seus sucessores não foram executados. Esta é a condição para interrupções precisas. Interrupções precisas não são difíceis de alcançar em uma máquina com um único pipeline. O problema surge quando as instruções são executadas fora de ordem, o que não é o caso aqui.
9. A impressora imprime 50 × 80 × 6 = 24000 caracteres / min, que é de 400 caracteres / seg. Cada caractere usa 50μsec de tempo de CPU para a interrupção, de forma coletiva, em cada segundo a sobrecarga de interrupção é de 20 ms. Usando interrupção impulsionado I / O, os restantes 980 ms de tempo disponível para outros trabalhos. Em outras palavras, os custos gerais de interrupção apenas 2% da CPU, o que dificilmente vai afetar o programa em execução em tudo.
10. UNIX faz isso da seguinte forma. Existe uma tabela indexada pelo número do dispositivo, com cada entrada da tabela de ser um struct C contendo ponteiros para as funções de abertura, fechamento, leitura e escrita e algumas outras coisas a partir do dispositivo. Para instalar um novo dispositivo, uma nova entrada tem que ser feita nesta tabela e os ponteiros preenchida, muitas vezes para o driver de dispositivo recém-carregado.
12. Um pacote deve ser copiado quatro vezes durante este processo, o que leva 4,1 mseg. Há também duas interrupções, que respondem por 2mseg. Finalmente, o tempo de transmissão é de 0,83 milissegundos, para um total de 6,93 ms por 1024 bytes. A taxa de dados máxima é, portanto, 147.763 bytes / seg, ou cerca de 12% da capacidade nominal da rede 10 megabits / seg. (Se incluirmos sobrecarga de protocolo, os números ficam ainda piores.)
13. Se a impressora foi atribuída, logo que a saída apareceu, um processo poderia amarrar a impressora imprimindo alguns caracteres e depois ir dormir por uma semana.
14. RAID nível 2 não só pode recuperar a partir de unidades caiu, mas também de erros transitórios detectados. Se uma unidade fornece um único bit estragado, RAID nível 2 vai corrigir isso, mas o nível de RAID 3 não.
15. A probabilidade de 0 falhas, P0, é (1−p)^k. A probabilidade de uma falha, P1, é kp(1−p)^k−1.A probabilidade de uma falha RAID é, em seguida, 1-P0P1. Esta é a 1−(1−p)^k−kp(1−p)^k−1.
11. (a) driver de dispositivo. (b) driver do dispositivo. (c) software independente de dispositivo.
16. Desempenho de leitura: os níveis de RAID 0, 2, 3, 4 e 5 permitem leituras paralelas para atender uma solicitação de leitura. No entanto, o nível de RAID 1
permite ainda dois pedidos de leitura para avançar simultaneamente. Desempenho de escrita: Todos os níveis de RAID fornecem desempenho de gravação similar. Spaceover cabeça:. Não há cabeça spaceover no nível 0 e 100% de sobrecarga no nível 1 com a palavra de dados de 32 bits e seis unidades de paridade, o chefe spaceover é de cerca de 18,75% no nível 2 para uma palavra de dados de 32 bits, o arquivo. sobrecarga de espaço no nível 3 é de cerca de 3,13%. Finalmente, assumindo que 33 unidades nos níveis 4 e 5, a cabeça spaceover é de 3,13% nos mesmos. Confiabilidade: Não há suporte confiabilidade em nível 0 Todos os outros níveis de RAID podem sobreviver a uma falha de disco. Além disso, nos níveis de 3, 4 e 5, um erro de bit único aleatório de uma palavra pode ser detectado, enquanto que no nível 2, um erro de bit único aleatório de uma palavra pode ser detectada e corrigida.
17. Um campo magnético é gerado entre dois pólos. Não só é difícil fazer com que a fonte de um campo magnético pequeno, mas também no campo espalhase rapidamente, o que leva a problemas mecânicos a tentar manter a superfície de um meio magnético próximo de uma fonte magnética ou um sensor. Um laser semicondutor gera luz em um lugar muito pequeno, e a luz pode ser opticamente manipulado para iluminar um ponto muito pequeno em uma distância relativamente grande a partir da fonte.
18. A principal vantagem de discos ópticos é que elas têm densidades de gravação muito mais elevados do que os discos magnéticos. A principal vantagem de discos magnéticos é que eles são uma ordem de grandeza mais rápida do que os discos ópticos.
19. Possivelmente. Se a maioria dos arquivos são armazenados em setores logicamente consecutivas, pode valer a pena intercalando os setores para dar programas de tempo para processar os dados recebidos apenas, de modo que quando o próximo pedido for emitido, o disco estaria no lugar certo. Se isso vale a pena depende fortemente do tipo de programas são executados e como seu comportamento é uniforme.
20. Talvez sim e talvez não. Entrelaçamento duplo é efetivamente uma inclinação cilindro de dois setores. Se o chefe pode fazer uma busca pista para a via em
menos de duas vezes do setor, que não é necessária nenhuma inclinação cilindro adicional. Se ele não pode, em seguida, é necessária a inclinação cilindro adicional para evitar a falta de um setor depois de uma procura.
21. (a) A capacidade de uma zona é faixas × × cilindros setores / cilindro × bytes / sect. Capacidade da zona 1: 16 × 100 × 160 × 512 = 131.072.000 bytes Capacidade da zona 2: 16 × 100 × 200 × 512 = 163.840.000 bytes Capacidade da zona 3: 16 × 100 × 240 × 512 = 196.608.000 bytes Capacidade de zona 4: 16 × 100 × 280 × 512 = 229.376.000 bytes Soma = 131072000 + 163840000 + 196608000 + 229376000 = 720896000 (b) A taxa de rotação 7200 significa que há 120 rotações / seg. Nos 1 mseg faixa-a-faixa de tempo de busca, 0.120 dos setores são cobertos. Na zona 1, o cabeça do disco passarão 0.120 × 160 setores em 1 ms, e assim, o controle ideal inclinação para a zona 1 é 19,2 setores. Na zona 2, a cabeça do disco passaremos 0.120 × 200 setores em 1 ms, e assim, a inclinação pista ideal para a zona 2 é de 24 setores. Na zona 3, a cabeça do disco vai passar mais de 0.120 × 240 setores em 1 ms, assim, a inclinação pista ideal para a zona 3 é 28,8 setores. Na zona 4, a cabeça do disco vai passar mais de 0.120 × 280 setores em 1 ms, e assim, a inclinação pista ideal para zona 3 é de 33,6 sectores. (c) A taxa máxima de transferência de dados será quando os cilindros na zona mais externa (zona 4) estão sendo lidos / escritos. Nessa zona, em um segundo, 280 setores são lidos 120 vezes. Assim, a taxa de dados é de 280 × 120 × 512 = 17.203.200 bytes / seg.
22. A capacidade da unidade e as taxas de transferência são dobrados. O tempo de busca e atraso rotacional média são os mesmos.
23. Uma consequência bastante óbvia é que nenhum sistema operacional existente vai funcionar porque todos olham lá para ver onde as partições do disco são. Alterar o formato da tabela de partição fará com
que todos os sistemas operacionais a falhar. A única maneira de mudar a tabela de partições é mudar simultaneamente todos os sistemas operacionais para usar o novo formato.
24. (a) 10 + 12 + 2 + 18 + 38 + 34 + 32 = 146 cilindros = 876 ms. (b) 0 + 2 + 12 + 4 + 4 + 36 +2 = 60 cilindros = 360 ms. (c) 0 + 2 + 16 + 2 + 30 + 4 + 4 = 58 cilindros = 348 ms.
25. No pior dos casos, um pedido de leitura/escrita não é servido por quase dois scans de disco completo no algoritmo do elevador, enquanto ele estiver no máximo, um exame completo do disco no algoritmo modificado.
26. Há uma corrida, mas isso não importa. Desde a própria gravação estável já foi concluída, o fato de que a RAM não volátil não foi atualizada apenas significa que o programa de recuperação vai saber qual bloco estava sendo escrito. Ele vai ler ambas as cópias. Encontrá-los idênticos, ele vai mudar nenhum dos dois, que é a ação correta. O efeito do acidente pouco antes da RAM não volátil foi atualizado apenas significa que o programa de recuperação terá que fazer duas leituras mais do que deveria.
Suponha-se que a falha de CPU durante a recuperação, em (c). Se CPU trava antes do bloco da unidade 1 foi totalmente copiada para a unidade 2, a situação é a mesma que no caso (d). O procedimento de recuperação subsequente irá detectar um erro ECC na unidade 2 e copie o bloco da unidade 1 para conduzir 2. Se crashes CPU após a quadra da unidade 1 foi copiado para a unidade 2, a situação é a mesma que no caso (e). Finalmente, suponha que as falhas de CPU durante a recuperação em (d). Se CPU trava antes do bloco da unidade 1 foi totalmente copiada para a unidade 2, a situação continua igual à anterior. O procedimento de recuperação subsequente irá detectar um erro ECC na unidade 2 e novamente copiar o bloco da unidade 1 para conduzir 2. Se crashes CPU após a quadra da unidade 1 foi copiado para a unidade 2, a situação é a mesma que no caso (e).
28. Dois mseg 60 vezes por segundo é de 120 ms/seg, ou 12% da CPU
29. (a) Utilizando um cristal de 500 MHz, o contador pode ser decrementado a cada 2 nseg. Assim, por um carrapato cada milissegundo, o registo deve ser 1000000/2 = 500.000. (b) Para obter um relógio assinalar a cada 100 ms, mantendo valor do registrador deve ser 50.000.
30. No momento de 5000: Tempo atual = 5000; Próximo Sinal = 8; Cabeçalho → 8 → 4 → 3 → 14 → 8.
27. Sim, o disco permanece consistente, mesmo se a CPU cai durante um procedimento de recuperação. Considere fig. 5-31. Não há recuperação envolvidos em (a) ou (e). Suponha-se que a falha de CPU durante a recuperação, em (b). Se CPU trava antes do bloco da unidade 2 foi totalmente copiada para conduzir 1, a situação mantém-se mesmo que antes. O procedimento de recuperação subsequente irá detectar um erro ECC na unidade 1 e mais uma vez copiar o bloco da unidade 2 para conduzir 1. Se crashes CPU após a quadra da unidade 2 foi copiado para conduzir 1, a situação é a mesma que no caso (e).
No momento 5005: Tempo atual = 5005; Em seguida sinal = 3; Cabeçalho → 3 → 4 → 3 → 14 → 8.
No momento 5013: Tempo atual = 5013; Próximo Sinal = 2; Cabeçalho 2 → 14 → 8.
No momento 5023: Tempo atual = 5023; Em seguida sinal = 6; Cabeçalho → 6 → 4 → 5.
31. O número de segundos em um ano médio é de 365,25 × 24 × 3600. Este número é 31557600. O contador envolve após 2^32 segundos a partir do 01 de janeiro de 1970. O valor de 2^32/31557600 é 136,1 anos, então embrulho que acontecerá em 2106,1, que é cedo fevereiro 2106. É claro que, até então, todos os computadores serão de pelo menos 64 bits, por isso não vai acontecer.
32. Rolar a janela requer copiando 59 linhas de 80 caracteres ou 4720 caracteres. Copiando um caractere (16 bytes) leva 800 nano segundos, então toda a janela tem 3,776 ms. Escrevendo 80 caracteres para a tela leva 400 nano segundos, de modo a rolagem e exibindo uma nova linha de tomar 4,176 ms. Isso dá cerca de 239,5 linhas / seg.
33. Suponha que o usuário, inadvertidamente, pediu ao editor para imprimir milhares de linhas. Em seguida, ele bate DEL para pará-lo. Se o motorista não descartar saída, a saída pode continuar por vários segundos após o DEL, o que tornaria o hit usuário DEL novamente e novamente e ficar frustrado quando nada aconteceu.
34. As 25 linhas de caracteres, cada 8 pixels de altura, requer 200 scans para desenhar. Há 60 telas por segundo, ou 12.000 leituras / seg. No 63,6 ms / digitalização, a feixe está se movendo horizontalmente 763 milissegundos por segundo, deixando 237 milissegundos para escrever no vídeo RAM. Assim, a memória RAM de vídeo está disponível de 23,7% do tempo.
35. A taxa máxima do rato pode mover é de 200 mm / s, o que é de 2000 mickeys / seg. Se c ada relatório é de 3 bytes, a taxa de produção é de 6000 bytes / seg.