Exercícios Resolvidos de Sistemas Operacionais
Classificado em Computação
Escrito em em
português com um tamanho de 6,66 KB
Lista de Exercícios 1
1. O que é um sistema operacional?
Programas que atuam como elo de ligação entre o hardware e o usuário.
2. Quais são as principais funções de um sistema operacional?
Facilidade de acesso aos recursos do sistema, compartilhamento de recursos de forma organizada e protegida.
3. Como se desenvolveu a interação do usuário com o computador ao longo do tempo?
O usuário não interagia diretamente com o computador; eram utilizados cartões perfurados inseridos por operadores do sistema. Com o passar dos anos, essa interação foi aumentando até chegar ao que é hoje.
4. Nos sistemas monoprogramáveis existe uma subutilização de recursos? Justifique.
Sim. Por executarem somente um programa por vez, acaba existindo ociosidade e subutilização de alguns recursos.
5. Um sistema monousuário pode ser um sistema multiprogramável?
Sim, apenas um usuário interage com o sistema, podendo possuir diversas aplicações sendo executadas simultaneamente.
6. Qual a diferença entre sistemas monoprogramáveis e sistemas multiprogramáveis?
Nos sistemas monoprogramáveis, existe a execução de apenas um programa por vez, diferentemente dos multiprogramáveis, que permitem a execução de diversos programas ao mesmo tempo, explorando ao máximo o compartilhamento de recursos do sistema.
7. O que é necessário para o SO implementar multiprogramação?
- Gerenciamento de memória;
- Rotinas de I/O;
- Alocação de dispositivos;
- CPU Scheduling.
Lista de Exercícios 2
1. Qual a função do Boot?
É o primeiro programa a ser iniciado; ele inicializa o sistema básico e inicia a execução do sistema operacional.
2. Explique uma interrupção por hardware.
Chamada de IRQ, é um sinal enviado ao processador para parar a execução do que está fazendo e atender ao dispositivo que solicitou a interrupção.
3. Fale sobre interrupção por software.
Chamada de TRAP, segue o mesmo princípio da IRQ: é enviado um sinal ao SO para que ele suspenda a execução do programa e inicie uma outra operação (ex: divisão por zero, acesso inválido à memória).
4. O que é uma operação síncrona de I/O?
Após o início de uma operação de I/O, o controle só retorna ao programa depois de terminar a operação. O programa que executa a operação de I/O fica à espera da resposta ao seu pedido.
5. O que é uma operação assíncrona de I/O?
Após o início da operação de I/O, o controle retorna ao programa sem esperar pelo fim da operação. Portanto, após a indicação do pedido, o programa pode continuar o seu processamento.
6. Qual a função da tabela de status de dispositivos?
Indicar o status de cada dispositivo e sua situação atual.
7. Descreva uma operação de I/O em disco.
A controladora lê o bloco do drive até que ele esteja por completo em seu buffer e verifica a ocorrência de erros. Em seguida, gera uma interrupção; o SO faz a leitura do buffer da controladora e armazena os dados na memória.
8. Qual a vantagem de uma DMA?
A DMA (Direct Memory Access) é utilizada para realizar a transferência de dados no lugar da CPU, deixando-a livre para realizar outras tarefas.
9. Quais as funções da memória principal e secundária?
- Principal: Memória utilizada pela CPU para acesso direto, usada para armazenar instruções de execução.
- Secundária: Extensão da memória principal, utilizada para armazenar programas permanentemente.
10. Qual tarefa é atribuída à memória cache?
É utilizada para armazenar dados dos programas mais executados, fazendo com que a velocidade de acesso a esses dados seja mais rápida.
Lista de Exercícios 3
1. Cite algumas funções do núcleo de um sistema operacional.
- Gerência de memória;
- Sistemas de arquivos;
- Dispositivos de I/O;
- Tratamento de interrupções e threads.
2. Com relação às funções, como podem ser agrupadas as chamadas de sistema (System Call)?
Gerência de memória, sistemas de arquivos, dispositivos, processos e threads.
3. A proteção de um sistema computacional deve levar em consideração quais elementos?
Deve proteger os periféricos, o processador e a memória.
4. O que ocorre caso uma aplicação tente executar uma instrução privilegiada em modo usuário?
Será exibido um erro e a execução do programa será interrompida.
5. Por que um programa não pode ter privilégios para executar instruções que alterem o tempo de compartilhamento?
Para que não haja monopolização do sistema por apenas um programa em execução.
6. Como ocorre a proteção para que um programa não tenha acesso à área de memória de outro?
Um hardware realiza esta proteção: ele identifica a área alocada por um programa através de dois registradores que determinam a posição inicial e final. Caso outro programa tente acessar essa área determinada, será exibido um erro e o programa será finalizado.
7. Quais são as características da arquitetura monolítica?
São criados módulos que são compilados separadamente e, em seguida, linkados, formando um único programa.
8. Quais são as características da arquitetura em camadas?
O sistema é dividido em níveis; a camada inferior possui códigos que são utilizados pela camada superior, sendo totalmente independentes.
9. Cite vantagens e desvantagens das arquiteturas monolíticas e em camadas.
- Monolíticas: Por serem criados módulos dos componentes do SO, o desempenho é muito melhor. Porém, caso exista algum erro em qualquer módulo, os demais também podem ser afetados.
- Camadas: Os componentes são criados em camadas, facilitando a manutenção; as camadas mais internas são mais privilegiadas que as externas. No entanto, o desempenho não é tão bom em relação à arquitetura monolítica.