Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DO AMAZONAS INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA SISTEMAS DE INFORMAÇÃO ARQUITETURA DE COMPUTADORES: ARQUITETURA E ORGANZAÇÃO DE COMPUTADORES ITACOATIARA – AM 2016 FABRICIO LIMA DE ALENCAR JOEL ANDRADE DO NASCIMENTO JÚNIOR ARQUITETURA DE COMPUTADORES: ARQUITETURA E ORGANZAÇÃO DE COMPUTADORES – E/S. Trabalho de consulta sobre Arquitetura e Organização de Computadores, apresentado como requisito parcial da disciplina de Arquitetura de Computadores, ministrada pelo Profº Kleyson Lima. ITACOATIARA – AM 2016 8.1 O que é um sistema operacional? R: É um programa que controla a execução dos programas aplicativos e atua como uma interface entre o usuário e o hardware do computador. 8.2 Liste e defina resumidamente os principais serviços fornecidos por um sistema operacional. R: - Criação de programas: O SO oferece diversas facilidades e serviços, como editores e depuradores, para auxiliar o programador na criação de programas. – Execução do programa: Diversas tarefas precisam ser realizadas para executar um programa. – Acesso aos dispositivos de e/s: Cada dispositivo de E/S exige seu próprio conjunto específico de instruções ou sinais de controle para a operação. – Acesso controlado aos arquivos: No caso dos arquivos, o controle precisa incluir um conhecimento não apenas da natureza do dispositivo de E/S, mas também do formato de arquivo no meio de armazenamento. – Acesso ao sistema: No caso de um sistema compartilhado ou público, o SO controla o acesso ao sistema como um todo e a seus recursos específicos. – Detecção e resposta a erros: Erros de hardware internos e externos, como um erro de memória ou uma falha ou defeito de dispositivo; Erros de software, como estouro aritmético, tentativa de acessar um local proibido da memória e incapacidade do SO em conceder a solicitação de uma aplicação. – Contabilidade: Um bom SO coleta estatísticas de uso para diversos recursos e monitora os parâmetros de desempenho, como o tempo de resposta. 8.3 Liste e defina resumidamente os principais tipos de escalonamento do sistema operacional. R: – Escalonamento de longo prazo: Um escalonador a longo prazo determina quais programas são admitidos no sistema para processamento. Controla o grau de multiprogramação (número de processos na memória). Uma vez admitido, um job ou programa do usuário se torna um processo e é acrescentado à fila para o escalonador de curto prazo. – Escalonamento de médio prazo: O escalonamento de médio prazo faz parte da função de troca de processo (swapping). A decisão de entrada no swapping é baseada na necessidade de gerenciar o grau de multiprogramação. Em um sistema que não usa memória virtual, o gerenciamento de memória também é um ponto. – Escalonamento a curto prazo: O escalonador de curto prazo, também conhecido como despachante (dispatcher), é executado com frequência e toma a decisão de nível mais baixo de qual tarefa executar em seguida. – Escalonamento a curto prazo: Novo: – O programa é admitido mas não está pronto para executar. O SO iniciará o processo, movendo-o para o estado pronto. Pronto: – O processo está pronto para ser executado e está aguardando o acesso ao processador. Em execução: – O processo está sendo executado pelo processador. 8.4 Qual é a diferença entre um processo e um programa? R: Um processo é um programa em execução, juntamente com todas as informações do estado necessária para a execução. 8.5 Qual é a finalidade do swapping? R: O objetivo da troca é fornecer para o uso eficiente da memória principal para execução do processo. 8.6 Se um processo pode ser atribuído dinamicamente a diferentes locais na memória principal, qual é sua implicação para o mecanismo de endereçamento? R: Os endereços devem ser dinâmico no sentido de que os endereços absolutos só são resolvidos durante o carregamento ou execução. 8.7 É necessário que todas as páginas de um processo estejam na memória enquanto o processo está sendo executado? R: Não, se a memória virtual é usada 8.8 As páginas de um processo na memória principal precisam ser contíguas? R: Não. 8.9 É necessário que as páginas de um processo na memória principal estejam em ordem sequencial? R: Não. 8.10 Qual é a finalidade do translation lookaside buffer (TLB)? R: O TLB é um cache que contém as entradas de tabela de página que têm sido mais usados recentemente) O sI objectivo é evitar que, na maioria das vezes, ter de ir para o disco para recuperar uma entrada da tabela de página). 8.1 Suponha que tenhamos um computador multiprogramado em que cada job tenha características idênticas. Em um período de computação, T, para uma tarefa, metade do tempo é gasto na E/S e a outra metade na atividade do processador. Cada job é executado por um total de N períodos. Suponha que uma prioridade round- robin simples seja usada, e que as operações de E/S possam se sobrepor com a operação do processador. Defina as seguintes quantidades: po que o processador está ativo (não esperando). Calcule essas quantidades para um, dois e quatro jobs simultâneos, supondo que o período T seja distribuído em cada uma das seguintes maneiras: a. E/S primeira metade, processador segunda metade. b. E/S primeira e quarta partes, processador segunda e terceira partes. As respostas são as mesmas para (a) e (b). Assuma que embora processador operações não podem se sobrepor, I/Ooperações pode) 1 Job:TAT= NTA utilização do processador=50% 2 Vagas:TAT= NTA utilização do processador=100% 4 Jobs:TAT=(2N - 1) A utilização do processador NT=100% 8.2 Um programa voltado para E/S é tal que, se executado sozinho, gastaria mais tempo esperando pela E/S do que usando o processador. Um programa voltado para o processador é o oposto. Suponha que o algoritmo de escalonamento a curto prazo favoreça aqueles programas que usaram pouco tempo de processador recentemente. Explique por que esse algoritmo favorece os programas voltados para a E/S e ainda assim não nega permanentemente o tempo do processador para os programas voltados para o processador. R: Programas de I / O-bound usa relativamente pouco tempo do processador e, portanto, são favorecidos pelo algoritmo. No entanto, se um processo de limite de processador é negado o tempo do processador por um período suficientemente longo de tempo, o mesmo algoritmo irá conceder o processador para esse processo, porque não tem usado o processador de todo no passado recente). Portanto, um processo ligado à processador não será permanentemente o acesso negado. 8.3 Um programa calcula as somas de linhas de um array A de 100 por 100 elementos. Suponha que o computador use a paginação por demanda com um tamanho de página de 1.000 palavras, e que a quantidade de memória principal alocada para dados seja de cinco frames de página. Existe alguma diferença na taxa de falta de página se A fosse armazenado na memória virtual, tendo por parâmetro linhas ou colunas? Explique. R: A memória principal pode conter 5 páginas. O tamanhoda matriz é de 10 páginas. Se a matriz é armazenado por linhas, em seguida, cada uma das páginas 10 terá de ser trazido para página memória uma vez. Se ele é armazenado por colunas, cada linha está espalhado por todos os dez páginas, e cada página terá queser levado em 100 vezes (uma vez para cada linha cálculo). 8.4 Considere um esquema de particionamento com partições de mesmo tamanho de 216 bytes e um tamanhode memória principal total de 224 bytes. Uma tabela de processo é mantida, que inclui um ponteiro para uma partição para cada processo residente. Quantos bits são exigidos para o ponteiro? R: O número de divisórias é igual ao número de bytes de memória principal dividido pelo o número de bytes em cada partição: 224/ 216 = 28. Oito bits são necessários para identificar um dos dois8 partições. 8.5 Considere um esquema de particionamento dinâmico. Mostre que, na média, a memória contém uma quantidade de buracos que é a metade do número de segmentos. R: Vamos h e denotam o número médio de segmentos e buracos, respectivamente) O probabilidade de que um determinado segmento é seguido por um buraco na memória (e não pela outro segmento) é 0,5, porque eliminações e criações são igualmente prováveis em equilíbrio. Assim com s segmentos de memória, o número médio de orifícios devem ser s / 2. É intuitivamente razoável de que o número de furos deve ser inferior à número de segmentos por segmentos vizinhos podem ser combinadas numa única orifício na exclusão. 8.6 Suponha que a tabela de página para o processo atualmente em execução no processador se pareça com a seguinte. Todos os números são decimais, tudo é numerado a partir de zero e todos os endereços são endereços de byte da memória. O tamanho de página é de 1.024 bytes. a. Descreva exatamente como, em geral, um endereço virtual gerado pela CPU é traduzido para um endereço físico da memória principal. R: Dividir endereço binário em número da página virtual e compensados; usar VPN como índice para tabela de páginas; página extrato número do quadro; concatenar compensar para obter o endereço de memória física b. A que endereço físico, se houver algum, cada um dos seguintes endereços virtuais corresponde? (não tente tratar de quaisquer faltas de página, se houver.) (i) 1.052 (ii) 2.221 (iii) 5.499 (I)1052 = 1024 + 28 mapas para VPN 1 em PFN 7, (7 × 1024 +28 = 7196) (Ii)2221 = 2 × 1024 + 173 mapas para VPN 2, falha de página (Iii) 5499 = 5 × 1024 + 379 mapas para VPN 5 em PFN 0, (0 × 1024 379 = 379) 8.7 Dê motivos para o tamanho de página em um sistema de memória virtual não ser nem muito pequeno nem muito grande. R: Com tamanho muito pequeno página, existem dois problemas: (1) Porque muito poucos dados trazidos com cada página, haverá a necessidade de ser um monte de I/Opara trazer a muitos pequenas páginas. (2) A sobrecarga (tamanho da tabela de página, comprimento de campo para o número da página) serão desproporcionalmente alto. Se as páginas são muito grandes, a memória principal será desperdiçado, pois o princípio da localidade sugere que apenas uma pequena parte da página grande será usado. 8.8 Um processo referência cinco páginas, A, B, C, D e E, na seguinte ordem: A; B; C; D; A; B; E; A; B; C; D; E Suponha que o algoritmo de substituição seja “primeiro a entrar, primeiro a sair” (FIFO) e encontre o número de transferências de página durante essa sequência de referências, começando com uma memória principal vazia com três frames de página. Repita para quatro frames de página. R: 9 e 10 da página de transferências, respectivamente) Isto é referido como "anomalia de Belady", e foi relatado em "uma anomalia na Características Espaço-Tempo de Certos Programas. Executado em uma máquina de paginação ", de Belady et al, Comunicações do ACM, junho 1969. 8.9 A sequência de números de página virtual a seguir é encontrada no curso de execução em um computador com memória virtual: 3 4 2 6 4 7 1 3 2 6 3 5 1 2 3 Suponha que seja adotada uma política de substituição de página usada menos recentemente (LRU). Desenhe um gráfico da razão de acerto] de página (fração de referências de página em que a página se encontra na memória principal) como uma função da capacidade da página de memória principal n para 1 ≤ n ≤ 8. Suponha que a memória principal esteja inicialmente vazia. R: Um total de quinze páginas são referenciadas, os índices de sucesso são: N12345678 Relação0/150/152/153/155/158/158/158/15 8.10 no computador VAX, as tabelas de página do usuário estão localizadas nos endereços virtuais no espaço do sistema. Qual é a vantagem de ter tabelas de página do usuário na memória virtual, e não na memória principal? Qual é a desvantagem? R: A principal vantagem é a economia de espaço de memória física) Isso ocorre por duas razões: (1) uma tabela de página de usuário pode ser paginada para a memória somente quando ela é necessária) (2) O sistema operacional pode alocar dinamicamente tabelas de páginas de usuários, criando um só quando o processo é criado. Claro, há uma desvantagem: a tradução de endereços exige um trabalho extra). 8.11 Suponha que a instrução de programa para (i = 1; i <= n; i++) a[i] = b[i] + c[i]; seja executada em uma memória com tamanho de página de 1.000 palavras. Considere n = 1.000. Usando uma máquina que possui uma faixa completa de instruções registrador-para-registrador e emprega registradores de índice, escreva um programa hipotético para implementar a instrução indicada. Depois, mostre a sequência de referências de página durante a execução. R: A versão em linguagem de máquina deste programa, carregados na memória principal a partir de endereçar 4000, pode aparecer como: 4000(R1) ← ONEEstabelecerregistrador de índice para i 4001(R1) ← nEstabelecer n em R2 4002comparar R1, R2Teste i> n 4003ramo maior 4009 4004(R3) ← B (R1)Acesso B [i] comregistrador de índice R1 4005(R3) ← (R3) +C (R1) Adicionar C [i] com registrador de índice R1 4006A (R1) ← (R3)Soma loja em A [i] com registrador de índice R1 4007(R1) ← (R1) + um incremento i 4008ramo 4002 6000-6999 armazenamento para A 7000-7999 armazenamento para B 8000-8999 armazenamento para C 9000armazenamento para ONE 9001de armazenamento por n A seqüência de referência gerado por este circuito é 494944 (47484649444)1000 composta por mais de 11.000 referências, mas envolvendo apenas cinco páginas distintas. 8.12 A arquitetura do IBM System/370 utiliza uma estrutura de memória de dois níveis e refere-se aos dois níveis como segmentos e páginas, embora a técnica de segmentação não tenha muitos dos recursos descritos anteriormente neste capítulo. Para a arquitetura 370 básica, o tamanho de página pode ser 2 Kbytes ou 4 Kbytes, e o tamanho do segmento é fixo em 64 Kbytes ou 1 MByte. Para as arquiteturas 370/XA e 370/ESA, o tamanho de página é de 4 Kbytes e o tamanho de segmento é de 1 MByte. Que vantagens da segmentação esse esquema não possui? Qual é o benefício da segmentação para o 370? R: Os segmentos S/370 são de tamanho fixo e não é visível para o programador. Assim, nenhum dos benefícios listados para segmentação são realizados no S/370, com o exceção de proteção. O bit P em cada entrada da tabela de segmento oferece proteção para todo o segmento. 8.13 Considere um sistema de computação com segmentação e paginação. Quando um segmento está na memória, algumas palavras são desperdiçadas na última página. Além disso, para um tamanho de segmento s e tamanho de página p, existem s/p entradas de tabela de página. Quanto menor o tamanho da página, menor o desperdício na última página do segmento, porém maior a tabela de página. Que tamanho de página minimiza o overhead total? R: Em média, p / 2 palavras são desperdiçados na última página) Assim, o total de sobrecarga ou resíduos é w = p / 2 + s / p. Para encontrar o mínimo, defina a primeira derivada a 0. dw dp p 8.14 Um computador tem uma cache, uma memória principal e umdisco usados para memória virtual. Se uma palavra referenciada estiver na cache, 20 ns são necessários para acessá-la. Se estiver na memória principal, mas não na cache, 60 ns são necessários para carregá-la para a cache, e depois a referência é iniciada novamente. Se a palavra não estiver na memória principal, 12 ms são necessários para apanhar a palavra do disco, seguidos por 60 ns para copiá-la para a cache e depois a referência é iniciada novamente. A razão de acerto de cache é 0,9 e a razão de acerto da memória principal é 0,6. Qual é o tempo médio em ns necessário para acessar uma palavra referenciada nesse sistema? R: 14 Há três casos a considerar: - s 2p2 0 2s Localização de referência Probabilidade O tempo total para acesso em ns palavra No esconderijo0,920. Não em cache, mas em principal(0,1) (0,6) = 0,0660 + 20 = 80 memória. Não em cache ou principal(0,1) (0,4) = 0,0412ms + 60 + 20 = 12000080 memória Assim, o tempo médio de acesso seriam: Médio = (0,9) (20) + (0,06) (80) + (0,04) (12000080) = 480.026 ns 8.15 Considere que uma tarefa é dividida em quatro segmentos de mesmo tamanho e que o sistema monte uma tabela de descritor de página com oito entradas para cada segmento. Assim, o sistema tem uma combinação de segmentação e paginação. Suponha também que o tamanho de página seja de 2 KBytes. R: 232 memória 1 quadros de página 211 tamanho da página 2 Segmento: 00 1 2 3 700021ABC Descritor Página mesa 2 32 memória 1 quadros de página 2 11 tamanho da página 222 22 a. Qual é o tamanho máximo de cada segmento? R: 8× 2K = 16K b. Qual é o espaço de endereço lógico para a tarefa? R: 16K × 4 = 64 K c. Suponha que um elemento no local físico 00021ABC seja acessado por essa tarefa. Qual é o formato do endereço lógico que a tarefa gera para ela? Qual é o espaço de endereço físico máximo para o sistema? R: 232 = 4 GBytes A memória principal (2 32 bytes). 8.16 Considere um microprocessador capaz de acessar até 232 bytes de memória principal física. Ele implementa um espaço de endereço lógico segmentado de tamanho máximo 231 bytes. Cada instrução contém o endereço inteiro em duas partes. Unidades de gerenciamento de memória (MMU) externas são usadas, cujo esquema de endereçamento atribui blocos contíguos de memória física de tamanho fixo de 222 bytes aos segmentos. O endereço físico inicial de um segmento sempre é divisível por 1.024. Mostre a ligação detalhada do mecanismo de mapeamento externo que converte endereços lógicos em endereços físicos usando o número apropriado de MMU, e mostre a estrutura interna detalhada de uma MMU (supondo que cada MMU contenha uma cache de descritor de segmento mapeado diretamente com 128 entradas) e como cada MMU é selecionada. R: O endereç físico inicial de um segmento é sempre divisível por 1048, ou seja, sIs 11 bits mais à direita são sempre 0. • espaço de endereçamento lógico máxima = 29 = 512 (segmentos× 222 bytes / segmento) = 231 bytes. • Formato de endereço lógico: segmento número (9) offset (22) • As entradas na tabela de mapeamento: 29 = 512. • Número de unidades de gerenciamento de memória necessários = 4. • Cada número de segmentos de 9-bit vai para uma MMU; sete bits são necessários para a tabela de entrada de 128, os outros dois bits mais significativos são descodificados para seleccionar a MMU. • Cada entrada na tabela é de 22 bits. 8.17 Considere um espaço de endereço lógico paginado (composto de 32 páginas de 2 KBytes cada) mapeado em um espaço de memória física de 1 MByte. a. Qual é o formato do endereço lógico do processador? R: página número (5) offset (11) b. Qual é a extensão e a largura da tabela de página (desconsiderando os bits de “direitos de acesso”)? R: 32 entradas, cada entrada é de 9 bits de largura) c. Qual é o efeito sobre a tabela de página se o espaço físico de memória for reduzido pela metade? R: Se o número total de entradas fica em 32 eo tamanho da página não muda, em seguida, torna-se cada entrada de 8 bits de largura) 8.18 no sistema operacional de mainframe do IBM OS/390, um dos principais módulos no kernel é o system resource manager (SRM). Esse módulo é responsável pela alocação de recursos entre os espaços de endereço (processos). O SRM dá ao OS/390 um grau de sofisticação exclusivo entre os sistemas operacionais. Nenhum outro SO de mainframe, e certamente nenhum outro tipo de SO, pode corresponder às funções realizadas pelo SRM. O conceito de recurso inclui processador, memória real e canais de E/S. O SRM acumula estatísticas pertencentes à utilização do processador, canal e diversas estruturas de dados básicas. Sua finalidade é oferecer desempenho ideal com base no monitoramento e na análise de desempenho. A instalação destaca diversos objetivos de desempenho, e estes servem como guia para o SRM, que modifica dinamicamente as características de instalação e desempenho do job com base na utilização do sistema. Por sua vez, o SRM oferece relatórios que permitem que o operador treinado refina a configuração e as definições de parâmetros para melhorar o serviço ao usuário. Este problema trata de um exemplo da atividade do SRM. A memória real é dividida em blocos de mesmo tamanho, chamados frames, dos quais pode haver muitos milhares. Cada frame pode manter um bloco de memória virtual conhecido como página. O SRM recebe o controle aproximadamente 20 vezes por segundo e inspeciona todo e qualquer frame de página. Se a página não tiver sido referenciada ou alterada, um contador é incrementado em 1. Com o passar do tempo, o SRM calcula a média desses números para determinar o número médio de segundos que um frame de página no sistema fica sem ser tocado. Qual poderia ser a finalidade disso, e que ação o SRM poderia tomar? R: O operador do sistema pode avaliar esta quantidade para determinar o grau de "esforço" no o sistema) Ao reduzir o número de postos de trabalho ativos permitidos no sistema, este média pode ser mantido elevado. Uma diretriz típico é que essa média deve ser mantida acima de 2 minutos. Isto pode parecer muito, mas não é. 8.19 Para cada um dos formatos de endereço virtual do ARM mostrados na Figura8.24, mostre o formato do endereço físico. R: Super seção 3124 Supersection endereço base 230 Compensar Supersection 3120190 SeçãoSeção endereço baseSeção defset 31 Pequeno página 12 Página endereço base 110 Página de fset 31 Grande página 16 Grande página endereço de base 150 Compensar Página 8.20 Desenhe uma figura semelhante à Figura 8.23 para a tradução da memória virtual do ARM quando a memória principal é dividida em seções. R: Endereço virtual 3120190 Índice L1índice seção Nível 1 (L1) tabela Seção 4095 addr base de seção10 0 Memória Principal
Compartilhar