Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução a Sistemas Operacionais Lista de Exercícios 4 Data de Entrega 27/11/2021 Instruções: As respostas das questões devem ser escritas à mão. Não há necessidade de se copiar os enunciados das questões, ou seja, você precisa escrever apenas as respostas e numerá-las e identifica-las adequadamente. Mais especificamente, além do número da questão, indique também se a resposta é de um problema ou de uma questão curta. A resolução da lista é individual e não deve haver compartilhamento de respostas com outros alunos. Você deverá escrever de próprio punho, no final da sua folha de resposta, a seguinte frase: “Declaro que não dei e não recebi ajuda para resolução desta lista de exercícios.” Submissão: Você deve digitalizar suas respostas, gerar um único arquivo em PDF e submeter via AVA. Capítulo 5 5.1 Na Seção 5.4, mencionamos que a desabilitação de interrupções pode afetar com frequência o relógio do sistema. Explique por que isso pode ocorrer e como esses efeitos podem ser minimizados. 5.3 Qual é o significado do termo espera ocupada (busy waiting)? Que outros tipos de espera existem em um sistema operacional? A espera ocupada pode ser totalmente evitada? Explique sua resposta. 5.4 Explique por que os spinlocks não são apropriados para sistemas com um único processador, mas são usados com frequência em sistemas multiprocessadores. 5.7 As condições de corrida podem ocorrer em muitos sistemas de computação. Considere um sistema bancário que controle o saldo das contas com duas funções: deposit(amount) e withdraw (amount). Essas duas funções recebem a quantia (amount) a ser depositada em uma conta bancária ou dela retirada. Suponha que um marido e sua esposa compartilhem uma conta bancária. Concorrentemente, o marido chama a função withdraw (), e a esposa chama deposit(). Descreva como uma condição de corrida é possível e o que pode ser feito para impedir que ela ocorra. 5.10 Explique por que a implementação de primitivas de sincronização por desabilitação de interrupções não é apropriada em um sistema com um único processador se as primitivas de sincronização devem ser usadas em programas de nível de usuário. 5.21 Os servidores podem ser projetados para limitar o número de conexões abertas. Por exemplo, um servidor pode querer ter apenas N conexões de socket em determinado momento. Assim que N conexões forem estabelecidas, o servidor não aceitará outra conexão de entrada até que uma conexão existente seja liberada. Explique como os semáforos podem ser usados por um servidor para limitar o número de conexões concorrentes. 5.100 Qual o termo usado para descrever a situação em que dados compartilhados podem ser manipulados concorrentemente e o resultado da execução depende da ordem de acesso? 5.101 Qual o termo usado para descrever o segmento de código onde dados compartilhados são acessados e possivelmente alterados? 5.102 Quais os três requisitos que uma solução para o problema da seção crítica deve satisfazer? 5.103 Quais são as duas instruções genéricas de hardware que podem ser executadas atomicamente? 5.104 Quais são as duas funções usados com mutex locks? 5.105 Quais são as duas operações que podem ser realizadas em um semáforo? Capítulo 8 8.3 Por que os tamanhos de página são sempre potências de 2? 8.4 Considere um espaço de endereçamento lógico de 64 páginas de 1.024 palavras cada uma, mapeado para uma memória física de 32 quadros. a. Quantos bits há no endereço lógico? b. Quantos bits há no endereço físico? 8.9 Explique a diferença entre fragmentação interna e externa. 8.11 Dadas seis partições de memória de 300 KB, 600 KB, 350 KB, 200 KB, 750 KB e 125 KB (em ordem), como os algoritmos do first-fit, do best-fit e do worst-fit alocariam processos de tamanhos 115 KB, 500 KB, 358 KB, 200 KB e 375 KB (em ordem)? Classifique os algoritmos em termos da eficiência com que usam a memória. 8.13 Compare os esquemas de alocação contígua, segmentação pura e paginação pura para a organização da memória em relação às questões a seguir: a. Fragmentação externa b. Fragmentação interna c. Possibilidade de compartilhar código entre processos 8.14 Em um sistema com paginação, um processo não pode acessar memória que ele não possui. Por quê? Como o sistema operacional poderia permitir o acesso a outras memórias? Por que ele deveria ou não fazer isso? 8.19 Os programas binários em muitos sistemas são tipicamente estruturados como descrito a seguir. O código é armazenado começando com um pequeno endereço virtual fixo, como 0. O segmento de código é seguido pelo segmento de dados que é usado para armazenar as variáveis do programa. Quando o programa começa a ser executado, a pilha é alocada na outra extremidade do espaço de endereçamento virtual e pode crescer em direção a endereços virtuais menores. Qual é a importância dessa estrutura para os seguintes esquemas? a. Alocação de memória contígua b. Segmentação pura c. Paginação pura 8.20 Supondo um tamanho de página de 1 KB, quais são os números e deslocamentos de página para as referências de endereço a seguir (fornecidas como números decimais): a. 3085 b. 42095 c. 215201 d. 650000 e. 2000001 8.23 Considere um espaço de endereçamento lógico de 256 páginas com um tamanho de página de 4 KB, mapeado para uma memória física de 64 quadros. a. Quantos bits são requeridos no endereço lógico? b. Quantos bits são requeridos no endereço físico? 8.24 Considere um sistema de computação com um endereço lógico de 32 bits e tamanho de página de 4 KB. O sistema suporta até 512 MB de memória física. Quantas entradas haveria em cada um dos itens a seguir? a. Uma tabela de páginas convencional com um único nível b. Uma tabela de páginas invertida 8.28 Considere a tabela de segmentos a seguir: Quais são os endereços físicos para os seguintes endereços lógicos? a) 0,430 b) 1,10 c) 2,500 d) 3,400 e) 4,112 Questões de Revisão – Capítulo 8 8.100 Quais os dois registradores que podem ser usados para oferecer uma forma simples de proteção de memória? 8.101 Liste os três momentos diferentes que ligações de endereço podem ocorrer. 8.102 Qual dispositivo de hardware que mapeia endereços virtuais em físicos? 8.103 Quais as três estratégias para selecionar um espaço vazio do conjunto de espaços de memória disponíveis? 8.104 Quais são os dois tipos de fragmentação? 8.105 O que cada entrada na tabela de páginas contém? 8.106 Qual o termo usado para descrever a situação que ocorre quando um número de página não está presente na TLB? 8.107 Se um deslocamento de página (page offset) ocupa 13 bits, qual o tamanho da página em bytes? 8.108 Quantas entradas existem em uma página de dois níveis com número de página de 20 bits? Capítulo 11 11.8 Pesquisadores sugeriram que, em vez de termos uma lista de controle de acesso associada a cada arquivo (especificando quais usuários podem acessar o arquivo e como), deveríamos ter uma lista de controle de usuários associada a cada usuário (especificando quais arquivos um usuário pode acessar e como). Discuta os méritos relativos desses dois esquemas. 11.9 Considere um sistema de arquivos em que um arquivo possa ser excluído e seu espaço em disco reclamado, mesmo que ainda existam links para esse arquivo. Que problemas podem ocorrer se um novo arquivo for criado na mesma área de armazenamento ou com o mesmo nome de caminho absoluto? Como esses problemas podem ser evitados? 11.14 Se o sistema operacional souber que determinada aplicação irá acessar dados de arquivo de modo sequencial, como ele poderia usar essa informação para melhorar o desempenho? 11.16 Discuta as vantagens e desvantagens do suporte a links para arquivos que fazem o cruzamento entre pontos de montagem (isto é, o link do arquivo referencia um arquivo que está armazenado em um volume diferente). Questões de Revisão– Capítulo 11 1. Liste pelo menos três atributos de um arquivo. 2. Liste pelo menos três operações que podem ser realizadas em um arquivo. 3. Quais são as duas maneiras fundamentais de se acessar um arquivo? 4. O que é um volume? 5. Qual é a maneira mais comum de se estruturar diretórios? 6. Se um ponto de montagem é /home e o dispositivo jane/programs é montado no ponto de montagem, qual é o caminho completo para acessar o diretório programs. 7. Quais são as três classificações gerais de usuários em conexão com cada arquivo?
Compartilhar