Baixe o app para aproveitar ainda mais
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.
Compartilhar