Você está na página 1de 4

Sistemas Operacionais - Exercícios - Estrutura do Sistema Operacional

1. O que é o núcleo do sistema e quais são suas principais funções?

O núcleo do sistema é basicamente um conjunto de rotinas, que estão disponíveis para ser
usado pelo usuário e às suas aplicações. E as suas principais funções são:
Criação e eliminação de processos e threads; Sincronização e comunicação entre processos
e threads; Gerencia do sistema de arquivos; Segurança e auditoria do sistema;
Contabilização de uso do sistema; Tratamento de interrupções e exceções; Gerencia de
memória; Gerencia de dispositivos de entrada e saída; Suporte a redes locais e distribuídas;

2. O que são instruções privilegiadas e não privilegiadas? Qual a relação dessas


instruções com os modos de acesso?
O processador se comunica com o sistema operacional através de funções, que podem ser
executadas basicamente em dois modos: kernel e usuário.

O modo kernel é conhecido como instrução privilegiada por ter acesso a todo conjunto de
instruções do processador, ou seja, a todas as partes do hardware. Já o modo usuário, é
conhecida como instrução não-privilegiada que limita as ações para garantir a segurança e
não comprometer nenhuma parte do próprio sistema. Portanto neste modo, é mais difícil
de um aplicativo violar a privacidade de outro.

Este mecanismo, garante que nenhuma parte da memória será violada por outro aplicativo.

3. Explique como funciona a mudança de modos de acesso e dê um exemplo de


como um programa faz uso desse mecanismo.

O processador executa todas as operações em modo kernel, mas para isso, é necessário
que as rotinas enviadas em modo usuário sejam carregadas e validadas e consideradas
seguras. Se algum dos passos falhar, o sistema operacional impede a execução da rotina e
sinaliza que a execução não é possível.
Por exemplo, se desejo salvar um arquivo, usando uma linguagem de alto-nível como
python, ruby e mando salvar, o sistema, em modo usuário tenta salvar, se o arquivo
comprometer a integridade do sistema operacional de alguma forma, então o sistema
lançara uma exceção, e não permitirá a alteração. A linguagem que programou esta
execução também receberá uma exceção mapeada para linguagem, que é resultado da
exceção lançada pelo modo kernel.
Desta forma, toda a vez que uma aplicação do usuário chamar uma rotina do sistema
operacional o mecanismo de “system call” é ativado e ele verifica se a aplicação do usuário
possui os privilégios necessários para executar a rotina desejada.

4. Como o kernel do sistema operacional pode ser protegido pelo mecanismo de


modos de acesso?
Pelo modo usuário. Como dito na questão 2, todos os comandos não privilegiados podem
ser executados. Todos os aplicativos são executados no modo usuário, porém é enviada as
instruções para o modo kernel que avaliam a segurança e garantia da execução protegida
de cada “system call”.
Esta forma de chamadas identifica se o aplicativo possui permissão para executar o
comando.

5. Por que as rotinas do sistema operacional possuem instruções privilegiadas?


Devido a operações delicadas e que devem ser executadas com segurança. Para evitar erros
e intenções maliciosas, apenas o sistema operacional consegue fazer isso, e só realmente
faz se estiver seguro.

6. O que é uma system call e qual sua importância para a segurança do sistema?
Como as system calls são utilizadas por um programa?
O system Call ou “syscall”, é um mecanismo que chama o controle de execução das rotinas
do sistema operacional,  o sistema operacional recebe um comando e possíveis
parâmetros. Como resposta, recebe um outro código, que pode indicar sucesso, falha ou
até mesmo o resultado do próprio comando.
No processo de receber o comando, o sistema identifica o aplicativo que fez a chamada e
verifica a sua permissão para execução do comando. Dada a permissão executa e retorna o
resultado.

7. Quais das instruções a seguir devem ser executas apenas em modo kernel?
Desabilitar todas as interrupções, consultar a data e a hora do sistema, alterar a
data e a hora do sistema, alterar informações residentes no núcleo do sistema,
somar duas variáveis declaradas dentro do programa, realizar um desvio para
uma instrução dentro do próprio programa e acessar diretamente posições no
disco.
1 - Desabilitar todas as interrupções;
3 - Alterar a data e a hora do sistema;
6 - Realizar um desvio para uma instrução dentro do próprio programa e acessar
diretamente posições no disco.

8. Pesquise comandos disponíveis em linguagens de controle de sistemas


operacionais.
Windows Linux

Dir: Lista um conteúdo de um diretório ps: lista processos do sistema operacional

cd: Altera o diretório default ls: lista conteúdos e diretórios

type: Exibe o conteúdo de um arquivo cat: concatena e imprime arquivos

del: Elimina Arquivos : concatena um comando a outro

mkdir: Cria um diretório touch: altera a data de modificação de um


arquivo

9. Explique o processo de ativação (boot) do sistema operacional.


O processo de ativação (boot) do sistema é iniciado automaticamente quando o
computador é ligado e inicialmente executa um programa chamado boot loader que é
executado a partir da memória ROM

10. Compare as arquiteturas monolítica e de camadas. Quais as vantagens e


desvantagens de cada arquitetura?

Na Arquitetura monolítica os componentes do sistema são compilados em módulos


separados e depois linkados em um único programa executável. É mais complexa, e
assim é mais difícil a manutenção.

Na Arquitetura em camadas o sistema operacional é formado por níveis ou camadas


onde as camadas inferior oferecem serviços às camadas superiores. Hierarquia no
modo de acesso, se tornando mais seguro.

11. Quais as vantagens do modelo de máquina virtual?


Permite executar uma instrução sobre um computador virtual, desta forma não
prejudica o hardware real. Sendo que um computador real pode conter várias
máquinas virtuais, qualquer comando não prejudica as outras máquinas virtuais,
apenas a que está em execução.

12. Como funciona o modelo cliente-servidor na arquitetura microkernel? Quais as


vantagens e desvantagens dessa arquitetura?
Funciona como um sistema de chamadas cliente-servidor. O cliente, que pode ser um
usuário ou recurso do sistema, faz uma chamada e o sistema verifica a possibilidade de
execução ou não do comando.

Como vantagem, o sistema desabilita e recusa as chamadas comprometedoras e


disponibiliza mais recursos para as que possuem.
Como desvantagem, o sistema possui problemas com acesso a certas partes diretas do
hardware, que seriam necessárias.

13. Por que a programação orientada a objetos é o caminho natural para o projeto
de sistemas operacionais?
Pois de comum acordo orientação a objetos é mais fácil de pôr em prática. Através
deste tipo de programação é possível simplificar os módulos programáveis e reutilizar
os recursos existentes.

Você também pode gostar