Buscar

Questionario_para_a_prova

Prévia do material em texto

Questionário para a prova. 
1. Defina Deadlock. 
R: Um processo ou thread está esperando um determinado evento que não 
ocorrerá. 
 
2. Defina: 
Recursos preemptivos (por exemplo, processadores e memória principal) 
 Podem ser removidos de um processo sem perda de trabalho. 
Recursos não preemptivos (por exemplo, unidades de fita e scanners 
ópticos)  Não podem ser removidos dos processos aos quais estão atribuídos 
sem que haja perda de trabalho. 
Código reentrante  Não pode ser alterado enquanto estiver em uso. 
Pode ser compartilhado por vários processos simultaneamente. 
Código reutilizável serialmente  Pode ser alterado, mas é reinicializado toda 
vez que é usado. Pode ser usado por apenas um processo por vez. 
 
3. Quais são as 4 condições básicas para que se ocorra um Deadlock? 
Condição de exclusão mútua  Um recurso pode ser adquirido apenas por 
um processo por vez. 
Condição de espera (condição de posse e espera)  Um processo que 
obteve um recurso exclusivo pode reter esse recurso enquanto espera para obter 
outros recursos. 
Condição de não-preempção  Uma vez que o processo obtenha um recurso, 
o sistema não pode retirá-lo do controle do processo até que esse tenha 
terminado de utilizar o recurso. 
Condição de espera circular  Dois ou mais processos ficam travados em uma 
‘cadeia circular’ na qual um processo está aguardando um ou mais recursos que 
o processo seguinte da cadeia detém. 
 
4. Quais são as principais áreas de pesquisa em Deadlock. 
Prevenção de deadlock 
Evitação de deadlock 
Detecção de deadlock 
Recuperação de deadlock 
 
5. Como pode ser definido a condição de prevenção de Deadlock? 
Condiciona um sistema a afatar qualquer possibilidade de ocorrência de 
deadlocks. 
Não é possível ocorrer deadlock se uma das quatro condições necessárias for 
negada. 
A primeira condição (exclusão mútua) não pode ser quebrada. 
 
6. Quando negar a condição ‘de espera’ 
Todos os recursos que um processo precisa para concluir suas tarefas devem 
ser solicitados de uma vez. 
Isso prejudica a alocação de recursos, tornando-a ineficaz. 
 
7. Quando negar a condição de ‘não-preempção’ 
Os processos podem perder trabalho quando os recursos sofrem preempção. 
Isso pode sobrecarregar substancialmente o sistema, visto que os processos 
precisam ser reiniciados. 
 
8. Negação da condição de ‘espera circular’: 
Usa uma ordenação linear de recursos para evitar deadlock. 
Utilização de recursos mais eficaz que a de outras estratégias. 
 
9. Defina: 
Recuperação de deadlock  Remove os deadlocks do sistema de modo que 
os processos em deadlock possam ser executados até o fim e liberar seus 
recursos. 
Mecanismo de suspensão/retomada  Permite que o sistema fique 
temporariamente retido. Os processos suspensos podem ser retomados sem 
que haja perda de trabalho. 
Verificação/reversão de estado  Simplifica a capacidade de 
suspensão/retomada. Restringe a perda de trabalho ao instante em que se 
realizou a última verificação. 
 
10. Como é feita a divisão da memória? 
Memória principal  Relativamente cara; Capacidade relativamente ; pequena; 
Alto desempenho 
Armazenamento secundário  Barato; Grande capacidade; Baixo desempenho 
 
11. Sobre hierarquia de memória, defina: 
Memória principal  Deve armazenar apenas instruções de programa 
necessárias no momento e dados. 
Armazenamento secundário  Armazena dados e programas que não são 
constantemente necessários. 
Memória cache  Sua velocidade é extremamente alta. 
Normalmente se localiza no próprio processador. 
Os dados mais comumente usados são copiados para o cache para que possam 
ser acessados mais rapidamente. 
Uma pequena quantidade de cache é suficiente para melhorar o desempenho. 
 
12. Quais e como são realizadas as estratégias de gerenciamento de memória? 
Estratégias de busca  Sob demanda ou antecipada. 
Determinam que porção de dados será transferida em seguida. 
Estratégias de posicionamento  Determinam em que lugar serão colocados na 
memória principal os dados que estão chegando. 
Estratégias de substituição  Determina que dados serão removidos da 
memória principal para liberar espaço. 
 
13. Como são organizados os programas na memória? Explique cada forma 
apresentada. 
Alocação contígua  O programa deve estar em um bloco único de endereços 
contíguos. 
Às vezes é impossível encontrar um bloco grande o suficiente. 
Sua sobrecarga é baixa. 
Alocação não contígua  O programa é dividido em porções denominadas 
segmentos. 
Os segmentos podem ser posicionados em partes diferentes da memória. 
É fácil encontrar “lacunas” nas quais o segmento possa se encaixar. 
Pelo fato de poder haver mais processos simultâneos na memória, isso 
compensa a sobrecarga própria dessa técnica. 
 
14. Explique a técnica de sobreposição de memória. 
Sobreposição: técnica de programação destinada a superar as limitações 
da alocação contígua. 
a. O programa é dividido em seções lógicas. 
b. Coloca na memória apenas as seções ativas no momento. 
c. Apresenta sérios inconvenientes: 
i. Tem dificuldade de organizar as sobreposições a fim de usar a memória principal 
de modo eficaz. 
ii. Dificulta alterações no programa. 
d. A memória virtual cumpre objetivos semelhantes. 
i. Como o IOCS, a memória virtual protege os programadores contra problemas 
complicados, como é o caso do gerenciamento de memória. 
 
15. Quais são e como são realizadas as estratégias de posicionamento de memória. 
Estratégia do primeiro que couber  O processo é posicionado na primeira 
lacuna de tamanho suficiente encontrada. 
Sobrecarga baixa e elementar em tempo de execução. 
Estratégia o que melhor couber  O processo é posicionado na lacuna que 
deixar o menor espaço não utilizado ao seu redor. 
Maior sobrecarga em tempo de execução. 
Estratégia o que pior couber  O processo é posicionado na lacuna que deixar 
o maior espaço não utilizado ao seu redor. 
Nesses casos, é deixada uma outra grande lacuna, o que permite que outro 
processo caiba nessa lacuna. 
 
16. Defina Memória Virtual. 
Soluciona o problema de pouco espaço de memória. 
Cria a ilusão de que existe mais memória do que a disponível no sistema. 
 
17. Sobre mapeamento de bloco em memória defina: 
Página  Os blocos têm tamanho fixo. 
Essa técnica denomina-se paginação. 
Segmentos  Os blocos podem ter diferentes tamanhos. 
Essa técnica denomina-se segmentação. 
Mapeamento de bloco  O sistema representa endereços como pares 
ordenados. 
 
18. Dê o conceito de: 
Tabelas de páginas multiníveis  Esse sistema pode armazenar em 
localizações não contíguas da memória principal as porções da tabela de 
páginas que o processo está usando. 
Tabelas de páginas invertidas  Armazenam uma PTE na memória para cada 
moldura de página no sistema. 
São o contrário das tabelas de páginas tradicionais. 
Usam funções de hash para mapear páginas virtuais para entradas de tabela de 
páginas invertidas. 
 
19. Explique a função de hash. 
A função de hash pode provocar colisões, o que aumenta o tempo de 
tradução de endereços por causa do número maior de vezes que a memória 
tem de ser acessada. 
 
20. Sobre Gerenciamento de Memória Virtual defina as técnicas de: 
Estratégia de substituição  Técnica empregada por um sistema para 
selecionar páginas para substituição quando a memória está cheia. 
Determina onde se deve colocar na memória principal um segmento que está 
entrando. 
Estratégia de busca  Determina quando as páginas ou os segmentos devem 
ser carregados na memória principal. 
Estratégia de busca antecipada 
Usa heurísticas para prever a quais páginas um processo vai se referenciar em 
breve e carrega essas páginas ou segmentos. 
 
21. Defina Paginação por Demanda. 
Quando um processo é executado pela primeira vez, o sistema transfere para a 
memória principal a página que contém sua primeira instrução. 
Depois disso, o sistema só transferiráuma página do armazenamento 
secundário para a memória principal quando o processo referenciar 
explicitamente essa página. 
Requer que o processo acumule uma página por vez. 
 
22. Defina Paginação Antecipada: 
O sistema operacional tenta prever as páginas que um processo necessitará e 
carrega previamente essas páginas quando há espaço disponível na memória. 
Estratégia de paginação antecipada 
Deve ser projetada cuidadosamente de modo que a sobrecarga dessa estratégia 
não diminua o desempenho do sistema. 
 
23. Como é fetio a substituição de páginas em Memória Virtual? 
Quando um processo gera falta de página, o gerenciador de memória tem de 
localizar a página referenciada no armazenamento secundário, carregá-la na 
moldura de página, na memória principal, e atualizar a entrada da tabela de 
páginas correspondentes. 
 
24. Omo são caracterizadas as Estratégias de substituição de páginas? 
pela heurística que emprega para selecionar uma página para substituir; 
por sua sobrecarga. 
 
25. Defina: 
Latência rotacional  Tempo para os dados girarem da posição em que estão 
até o cabeçote de leitura-escrita. 
Tempo de busca  Tempo para o cabeçote de leitura-escrita mover-se para um 
novo cilindro. 
Tempo de transmissão  Tempo para todos os dados desejados girarem por 
meio do cabeçote de leitura-escrita. 
 
26. Quais são os critérios para avaliar as estratégias utilizadas para escalonamento 
de discos? Explique cada uma: 
Rendimento  Número de requisições atendidas por unidade de tempo. 
Tempo médio de resposta  Tempo médio à espera do atendimento de uma 
requisição. 
Variância dos tempos de resposta  Medida da previsibilidade dos tempos de 
resposta. 
 
27. Faça um resumo das estratégias de otimização de busca em disco. 
 
 
 
28. O que significa RAID? Qual a sua finalidade? 
Arranjo Redundante de Discos Independentes. O RAID foi desenvolvido 
para evitar o problema de ‘E/S pendente’. 
Tentativa de melhorar o desempenho e/ou confiabilidade do disco. 
Vários discos de um arranjo podem ser acessados simultaneamente. 
O acesso é feito paralelamente para aumentar o rendimento. 
É possível usar unidades adicionais para melhorar a integridade dos dados. 
 
29. Como é a visão geral do RAID? 
Tecnologias relacionadas 
a. Espelhamento de disco 
i. Um disco é na verdade uma cópia de outro. 
ii. É fácil conseguir redundância e tolerância a falhas, mas a sobrecarga de 
armazenamento é significativa. 
b. Controlador RAID 
i. Hardware para propósitos especiais dedicado a operações RAID. 
ii. Os principais responsáveis pelas descargas são o sistema operacional e o 
processador. 
iii. Provavelmente é caro. 
 
30. Como é o RAID nível 0? 
É a implementação de RAID mais simples. 
Inclui striping (dados subdivididos em segmentos consecutivos (stripes ou 
faixas)), mas sem redundância (não é um nível RAID ‘verdadeiro’) 
Nível RAID de mais alto desempenho para um número fixo de discos. 
Alto risco de perda de dados. 
Compreende várias unidades. 
Pode perder todos os dados no arranjo se houver falha em uma unidade. 
É apropriado quando o desempenho é significativamente mais importante que a 
confiabilidade. 
31. Como é o RAID nível 1? 
Nível mais alto de redundância/tolerância a falhas para os níveis RAID 
tradicionais. 
Toda unidade tem uma cópia espelhada no arranjo. 
Não há striping nesse nível. 
Melhora o desempenho de leitura de discos únicos porque vários discos podem 
ser lidos ao mesmo tempo. 
Prejudica o desempenho de gravação porque, para manter o espelhamento, dois 
discos devem ser acessados para cada item de dado modificado. 
Alta sobrecarga de armazenamento. 
Apenas metade do arranjo armazena dados únicos. 
Mais adequado quando o principal alvo é a confiabilidade. 
32. Como é o RAID nível 2? 
Implementa redundância e striping. 
Divide os dados no nível do bit. 
Usa a paridade Hamming ECC para verificar a integridade dos dados. 
Os bits de paridade armazenam a paridade ou imparidade de uma soma de bits. 
Os dados ECC são armazenados em uma unidade distinta. 
Sobrecarga significativa de armazenamento (embora menor do que nos arranjos 
de nível 1) e de desempenho (devida ao cálculo dos dados ECC). 
Não é o método mais apropriado para verificação de erros; o ECC é executado 
internamente pela maioria dos discos rígidos. 
É raramente visto nos sistemas modernos. 
33. Como é o RAID nível 3? 
Também divide os dados no nível do bit. 
Usa XOR para calcular a paridade ECC. 
É mais simples que o Hamming ECC. 
Requer apenas um disco para informações de paridade, independentemente do 
tamanho do arranjo. 
Não consegue determinar que bit contém erro, mas essa informação pode ser 
facilmente obtida inspecionando o arranjo de um disco que tenha apresentado 
falha. 
Taxas altas de transferência, mas apenas uma requisição de serviço é atendida 
por vez. 
34. Como é o RAID nível 4? 
Semelhante ao RAID nível 3. 
Armazena tiras maiores do que outros níveis. 
Pode atender a mais requisições simultaneamente visto que os arquivos em 
geral tendem a estar em um único disco. 
As requisições de gravação têm de ser executadas uma por vez. 
Essa restrição é eliminada no nível 5. 
É raramente implementado porque o nível 5, embora semelhante, é superior. 
35. Como é o RAID nível 5? 
Semelhante ao nível 4. 
Elimina o gargalo de gravação do RAID nível 4, porque os blocos de paridade 
são distribuídos pelos discos. 
Também tem de atualizar as informações de paridade. 
Para várias operações pequenas de gravação, a sobrecarga pode ser 
significativa. 
Os mecanismos de cache podem ajudar a aliviar esse problema. 
Por exemplo, registro de paridade, atualização de imagem e AFRAID. 
Mais rápido e confiável que os nível 2–4. 
Mais caro e mais complexo também. 
Está entre os níveis RAID mais comumente implementados. 
36. Descreva outras técnicas de RAID. 
O RAID nível 6 oferece mais informações de paridade para melhorar a tolerância 
a falhas. 
RAID nível 0 + 1: conjunto de discos divididos por tiras que são copiados para 
um conjunto de discos espelhados. 
RAID nível 10: conjunto de dados espelhados que é segmentado em tiras por 
um outro conjunto de discos. 
Dentre outros níveis encontram-se o 0+3, 0+5, 50, 1+5, 51, 53 e RAID nível 7. 
37. Defina a técnica de alocação contígua de arquivos suas vantagens e 
desvantagens 
Alocação contígua 
Coloca os dados dos arquivos em endereços contíguos no dispositivo de 
armazenamento. 
Vantagem 
Registros lógicos sucessivos em geral estão fisicamente adjacentes uns aos 
outros. 
Desvantagens 
Fragmentação externa. 
Mau desempenho se os arquivos aumentarem ou diminuírem ao longo do tempo. 
Se um arquivo exceder o tamanho originalmente especificado e não houver 
nenhum bloco contíguo disponível, deverá ser transferido para uma nova área 
de tamanho adequado, o que exige operações adicionais de E/S.

Continue navegando