Centro de Ciências Agrárias - UFES Sistemas Operacionais Lista de

Propaganda
Centro de Ciências Agrárias - UFES
Sistemas Operacionais
Lista de Exercícios
Prof. Msc. Jacson Rodrigues
Capítulo 1
1. O que é um sistema operacional, quais seus objetivos e quais seus componentes?
3. Quais as tarefas de um sistema operacional?
4. O que é bootstrap, onde ele fica localizado e quais suas funções? Qual seu relacionamento com o
carregamento do sistema operacional?
5. Em um sistema instalado em um computador, o que é kernel (núcleo)? Ele existe em quais
sistemas operacionais?
6. Qual o papel da memória principal em um computador?
7. Relacione a memória de um computador com a execução de um programa. Lembre-se de citar a
memória secundária, a memória principal, o processador e os registradores em sua resposta. Além
disso, explique também o processo de gerência do sistema operacional para realizar essa função.
8. O que é uma interrupção? E uma exceção? Dê exemplos e descreva sua importância na
comunicação com o sistema operacional e na utilização do hardware.
9. Se duas interrupções ocorrerem “ao mesmo tempo”, como elas serão gerenciadas pelo
processador?
10. Explique melhor essa afirmação: Ao invocar alguma entrada e saída, o processo pode ficar
bloqueado ou pode continuar sua execução sem o bloqueio.
11. O que é uma tabela de estado de dispositivos? Dê um exemplo de sua utilização.
12. O que é DMA e qual sua utilização?
13. Como é definida uma Hierarquia de Armazenamento?
14. O que é multiprogramação e multitarefa?
15. Qual a diferença entre uma memória de um sistema operacional multiprogramado e de um
sistema operacional sem multiprogramação?
16. Como funciona o modo Usuário e o modo Kernel? Dê um exemplo. Qual a relação do hardware
com isso?
17. Qual a diferença entre um processo e um programa?
18. Quais os itens de gerência de memória que um sistema operacional deve suportar?
19. Quais os itens de gerência de armazenamento que um sistema operacional deve suportar?
20. Como um sistema operacional realiza a proteção dos arquivos, dos usuários e dos processos que
estão em execução?
Sistemas Operacionais – Prof. Msc. Jacson Rodrigues
pág. 1
Capítulo 2
1. Sobre GUI e CLI:
a) Descreva o que são e quais suas funcionalidades quanto ao usuário.
b) Qual das interfaces é mais amigável ao usuário?
c) Por que a necessidade das duas interfaces?
d) Ao construir um SO, qual interface você utilizaria? Por quê?
e) É possível possuir interface gráfica sem a interface modo texto?
f) A afirmativa “a CUI existe no Windows 98, Windows XP e Windows 7” está correta? Por
quê?
2. O que é uma operação de E/S?
Quando você utiliza E/S em um computador?
Qual tipo de programa que não utiliza E/S? Por que?
3. Como um processo pode trocar informações com outro processo? Descreva todo o processo de
comunicação que ocorre entre um navegador de Internet e um servidor de páginas.
4. Supondo que um programa seja executado e que logo após receba uma mensagem do comando
kill, responda:
a) O que ocorre com seu programa? Descreva toda a comunicação efetuada com detalhes
relacionados ao Sistema Operacional.
5. Quais os serviços que um Sistema Operacional deve fornecer ao usuário?
6. Supondo que seu programa faça uma divisão por zero, responda:
a) O que acontecerá com seu programa?
b) Como o SO saberá disso?
c) O que será feito pelo sistema operacional para tratar isso?
d) Como deve ser feita a implementação dessa rotina no sistema operacional?
7. Um garoto loga em um computador da faculdade e fala que vai "sacanear" seu colega, logando
pela rede no computador que ele está e finalizando alguns processos.
Porém, sabe-se que o mesmo não possui permissões suficientes para isso. Assim, ao tentar fazer
isso, a segurança do SO não deixará.
a) Explique como é esse processo de segurança realizado pelo SO.
b) E se ele possuir a senha de administrador, ele conseguirá fazer o que deseja? Por que?
8. O SO deve fornecer a contabilidade do sistema computacional presente. O que é isso? Dê
exemplos.
9. Qual a funcionalidade de um SHELL (interpretador) em um SO?
10. Em uma chamada de sistema, como podem ser passados os parâmetros à função que tratará a
chamada?
a) Quais os tipos de chamadas de sistema existentes?
b) Dê um exemplo de cada uma.
11. O que são programas de sistema e programas de usuário?
Sistemas Operacionais – Prof. Msc. Jacson Rodrigues
pág. 2
Como são divididos os programas de sistema?
Dê exemplos de programas de sistemas para cada uma dessas divisões.
No Windows, costumeiramente utilizamos CTRL+ALT+DEL. O programa que aparece fornece
quais tipos de informações do sistema operacional? e quais chamadas?
12. Por que a implementação de um SO não é solucionável?
Por que sistemas operacionais possuem programas tão diferentes, porém, com as mesmas
funcionalidades aos usuários?
13. Quais os objetivos da implementação de um SO? Qual o mais importante? Por quê?
14. O que é política e mecanismo? Dê um exemplo fora da computação sobre isso.
15. Um sistema operacional é dividido em camadas. Explique o porquê disso e como essa divisão
facilita a implementação do SO.
16. Suponha que sua equipe está construindo um SO. Depois de muito tempo árduo de
programação, certas funções “param” de funcionar quando o HD está mais cheio.
Qual é o problema e qual a melhor forma de resolvê-lo?
17. Em um hardware velho não existia o bit de modo kernel e modo usuário.
Isso trazia alguma desvantagem ao SO? Por que?
18. Sobre microkernel:
a) O que é?
b) Qual sua forma de funcionamento?
c) Quais seus benefícios e desvantagens?
19. Sobre kernel modular,
a) O que é?
b) Qual sua forma de funcionamento?
c) Quais seus benefícios e desvantagens?
20. O que é uma máquina virtual? Dê exemplos.
a) É possível executar dentro de uma máquina virtual:
1. um sistema linux que execute uma máquina virtual com um sistema windows?
2. um sistema windows que execute uma máquina virtual com um sistema windows que
execute uma máquina virtual com sistema linux?
3. um sistema windows que execute uma máquina virtual com um sistema windows que
execute uma máquina virtual com sistema linux capaz de executar programas windows?
4. Por quê?
21. Descreva a hierarquia criada por uma máquina virtual.
Em quais trabalhos pode-se utilizar máquinas virtuais?
Como funciona a Java Virtual Machine (JVM)?
22. Como ocorre a inicialização do SO? Onde um gestor de inicialização, como o GRUB, interfere
nessa inicialização?
Sistemas Operacionais – Prof. Msc. Jacson Rodrigues
pág. 3
Capítulo 3
1. O que é tempo compartilhado? Qual a diferença entre Job, tarefa e processo?
2. Um processo possui um contador de programa, uma pilha e uma seção de dados. O que é isso e
o que é armazenado na pilha e na seção de dados?
3. Quais os estados de um processo e como é o percusso dos processos por esses estados? Também
desenhe seu diagrama.
4. O que é um PCB? Qual sua importância quanto a gerência de processos realizada pelo SO?
Quais os dados que ele mantém? O que é troca de contexto e como ele é utilizado nesse
momento?
5. Como ocorre a migração dos processos entre a fila de processos novos, a fila de processos
prontos e a fila de dispositivos no escalonamento de processos?
6. O que é e como funciona a fila de E/S?
7. Se uma folha começou a ser impressa e parou na metade de sua impressão, o problema é do
editor de textos, do driver, da impressora ou do SO? Por quê?
8. O que são escalonadores? Descreva suas tarefas.
9. O que são processos com E/S predominante e de CPU predominante? Dê exemplos.
Como gerenciá-los para ter uma melhor performance do sistema?
10. Como ocorre a criação de processos?
11. Como é o comportamento da função fork e exec? Ilustre a memória para melhor explicar seu
comportamento. Dê exemplos da utilização de fork e exec nos sistemas operacionais.
12. Como terminar um processo? Quais os privilégios que o pai possui sobre o processo filho?
13. O que são processos independentes e processos cooperantes? Dê exemplos.
14. Descreva o problema do consumidor e produtor. Como resolvê-lo com cooperação?
15. O que é memória compartilhada? O que é IPC?
16. O que é comunicação direta e indireta entre processos? Dê exemplos de programas que utilizam
uma dessas comunicações.
17. No contexto de comunicação de um SO, o que é caixa postal?
18. O que é sincronização bloqueante e não bloqueante e quando cada uma deve ser utilizada? Dê
exemplos de casos que necessitam da utilização de cada uma.
19. O que é buffer de tamanho 0 (zero), de tamanho limitado e de tamanho ilimitado? Dê um
exemplo de programa para cada um dos casos.
20. Como ocorre a comunicação entre cliente e servidor? O que é um socket?
21. O que é RPC? Dê um exemplo de sua utilização.
22. Supondo que em um laboratório: os nomes e senhas de usuários são fornecidos pelo servidor A;
os arquivos do diretório pessoal são fornecidos pelo servidor B; e os desktops fornecem as
interfaces de comunicação com um usuário. Responda:
a) Descreva quais as tarefas de comunicação e gerência realizados pelo SO para que você
utilize esses computadores desktop.
b) Os servidores poderiam ser de sistemas operacionais diferentes? Por quê?
Sistemas Operacionais – Prof. Msc. Jacson Rodrigues
pág. 4
Download