Você está na página 1de 4

1- Quais são as duas principais funções de um sistema operacional?

Ser uma máquina estendida: Fornece a programadores de aplicativos (e programas aplicativos)


um conjunto de recursos abstratos limpo em vez de recursos confusos de hardware; e
gerenciar esses recursos de hardware.

2- Na Seção 1.4, nove tipos diferentes de sistemas operacionais são descritos. Dê uma
lista das aplicações para cada um desses sistemas (uma para cada tipo de sistema
operacional). (Livro texto: TANENBAUM, Andrew S. Sistemas operacionais
modernos).

- Sistemas operacionais de computadores de grande porte: OS/390.

- Sistemas operacionais de servidores: Solaris.

- Sistemas operacionais de multiprocessadores: Windows.

- Sistemas operacionais de computadores pessoais: Linux.

- Sistemas operacionais de computadores portáteis: Android.

- Sistemas operacionais embarcados: Embedded Linux.

- Sistemas operacionais de nós sensores (sensor-node): TinyOS.

- Sistemas operacionais de tempo real: eCos.

- Sistemas operacionais de cartões inteligentes (smartcard): Muitas vezes são sistemas


proprietários. Alguns cartões inteligentes são orientados a Java.

3- Qual é a diferença entre sistemas de compartilhamento de tempo e de


multiprogramação?

Multiprogramação é uma técnica que divide memória em várias partes, com uma tarefa
diferente em cada partição, para maximizar o uso da CPU. Por exemplo, enquanto uma tarefa
ficava esperando pelo término da E/S, outra podia usar a CPU.

O compartilhamento de tempo é uma variante da multiprogramação, na qual cada usuário tem


um terminal on-line. Permite que vários usuários executem através de uma divisão de tempo
de uso do processador em intervalos curtos.

4- Instruções relacionadas ao acesso a dispositivos de E/S são tipicamente instruções


privilegiadas, isto é, podem ser executadas em modo núcleo, mas não em modo
usuário. Dê uma razão de por que essas instruções são privilegiadas.

As instruções são privilegiadas para proteger os dispositivos de E/S da ação direta do usuário.
Uma questão de segurança e integridade do sistema.
5- Qual é a diferença entre modo núcleo e modo usuário? Explique como ter dois
modos distintos ajuda no projeto de um sistema operacional.

- Modo núcleo: tem acesso completo a todo o hardware e pode executar qualquer instrução
que a máquina for capaz de executar.

- Modo usuário: apenas um subconjunto das instruções da máquina está disponível.

A distinção serve para proteger o hardware da ação direta do usuário.

6- Afirmação: “Um software é um produto definido como código compilado que pode
ser executado por um sistema operacional, já um processo é a execução do
software”. A afirmação acima está CERTA ou ERRADA? Justifique.

Certa. As definições fazem sentido. O software é um algoritmo (código) que define como o
hardware será usado para um fim. Já o processo é como uma instância desse algoritmo, uma
execução de fato desse código, utilizando o hardware de fato.

7- Um processo que usa a impressora está em sua região crítica? Justifique.

Sim, pois para imprimir, o diretório de spool, que é memória compartilhada, deve ser acessada
pelo processo.

8- Explique como aconteceria um DeadLock entre dois processos e um Scanner.

Dois processos querem cada um gravar um documento escaneado em um disco Blu-ray. O


processo A solicita permissão para usar o scanner e ela lhe é concedida. O processo B é
programado diferentemente e solicita o gravador Blu-ray primeiro e ele também lhe é
concedido. Agora A pede pelo gravador Blu-ray, mas a solicitação é suspensa até que B o
libere. Infelizmente, em vez de liberar o gravador Blu-ray, B pede pelo scanner. A essa altura
ambos os processos estão bloqueados e assim permanecerão para sempre.

9- A arquitetura dos sistemas computacionais é dividida em camadas que facilitam a


compreensão da funcionalidade, uma divisão de camadas é apresentada abaixo.
Estas camadas estão classificas como “Programação de Aplicação”, “Programação de
Sistema” e “Hardware”. Pede-se para relacionar as camadas abaixo com a
classificação acima, para isso escolha uma opção da listagem a baixo da tabela.

1 Sistema bancário Reserva de passagens aéreas Visualizador Web


2 Compiladores Editores Interpretador de comandos
3 Sistema Operacional
4 Linguagem de máquina
5 Microarquitetura
6 Dispositivos físicos
Listagem de Opções:
a) Hardware: 6, 5; Programação de Sistema: 4, 3; Programação de Aplicação: 2, 1
X b) Hardware: 6, 5, 4; Programação de Sistema: 3, 2; Programação de Aplicação: 1
c) Hardware: 6, 5; Programação de Sistema: 4, 3, 2; Programação de Aplicação: 1
d) Hardware: 6, 5; Programação de Sistema: 4 ; Programação de Aplicação: 3, 2, 1
10- Um sistema operacional é uma “maquina estendida” e um “gerenciador de recurso”.
Explique com suas palavras como você utiliza a “máquina estendida” e o
“gerenciador de recursos”.
Máquina estendida: Abstrai detalhes complexos dos recursos de hardware para exibir uma
interface mais simples ao usuário.

Gerenciador de recursos: Aloca tempo e espaço nos recursos de hardware para cada
programa.

11- Descreva as vantagens relacionando os modelos a e b na figura abaixo. (a vantagem de um


pode ser uma desvantagem do outro).

(a) Calcular o endereço virtual do processo exige saber apenas onde a área de paginação
do processo começa, tendo em vista que as páginas são armazenadas nele
contiguamente na ordem do seu número de página virtual. Uma página que está na
memória sempre tem uma cópia sombreada no disco, mas essa cópia pode estar
desatualizada se a página foi modificada desde que foi carregada.
(b) As páginas estarão sempre atualizadas e a quantidade de espaço de disco necessário é
reduzida, mas as páginas não tem endereço fixos no disco.

12- Segundo a figura abaixo escolha a opção correta na listagem.

Listagem:
a) 1: O que deve ser feito;
2: Sinaliza que terminou a tarefa e os dados foram copiados;
3: Sinaliza se o tratador de interrupção está preparado para aceitar a interrupção usando o
barramento entre CPU e Memória (arquitetura nova);
4: Sinaliza se o tratador de interrupção está preparado para aceitar a interrupção usando o
barramento comum entre todos os dispositivos (arquitetura antiga);
X b) 1: O que deve ser feito;
2: Sinaliza que terminou a tarefa e os dados foram copiados;
3: Sinaliza se o tratador de interrupção está preparado para aceitar a interrupção;
4: Controlador das interrupções põe o número do dispositivo no barramento para que a CPU
saiba;
c) 1: Os dados são copiados para registradores;
2: Sinaliza que terminou a tarefa e os dados foram copiados;
3: Sinaliza se o tratador de interrupção está preparado para aceitar a interrupção usando o
barramento entre CPU e Memória (arquitetura nova);
4: Sinaliza se o tratador de interrupção está preparado para aceitar a interrupção usando o
barramento comum entre todos os dispositivos (arquitetura antiga);
d) 1: O que deve ser feito;
2: Aponta para a região no E/S que está os dados para o processador buscar;
3: Sinaliza se o tratador de interrupção está preparado para aceitar a interrupção usando o
barramento entre CPU e Memória (arquitetura nova);
4: Sinaliza se o tratador de interrupção está preparado para aceitar a interrupção usando o
barramento comum entre todos os dispositivos (arquitetura antiga);
e) 1: O que deve ser feito;
2: Sinaliza que terminou a tarefa e os dados foram copiados;
3: Sinaliza se o tratador de interrupção está preparado para aceitar a interrupção usando o
barramento entre CPU e Memória (arquitetura antiga);
4: Sinaliza se o tratador de interrupção está preparado para aceitar a interrupção usando o
barramento comum entre todos os dispositivos (arquitetura nova);

Você também pode gostar