Você está na página 1de 3

EXERCÍCIOS

1. O que diferencia o núcleo do restante do sistema operacional é que ele


é o coração do sistema operacional, responsável pela gerência dos recursos do
hardware usados pelas aplicações. Ele também implementa as principais abstrações
utilizadas pelos aplicativos e programas utilitários.

2. Não seria possível construir um sistema operacional seguro usando um


processador que não tenha níveis de privilégio, pois iria interferir nas configurações e
na gerência, o que poderia desestabilizar o sistema inteiro. Além disso, aplicações
com acesso pleno ao hardware seriam um risco à segurança, pois poderiam contornar
facilmente os mecanismos de controle de acesso aos recursos (tais como arquivos e
áreas de memória).

3. Os níveis intermediários de privilégio em processadores x86 podem ser


usados para: aumentar a segurança e a confiabilidade do sistema, permitir a
virtualização, facilitar a depuração e o desenvolvimento de software e atender às
necessidades de aplicações específicas. Embora a maioria dos sistemas operacionais
utilize apenas os níveis 0 e 3, os níveis intermediários podem oferecer uma série de
benefícios para diferentes casos de uso.

4. Interrupções: Eventos gerados por hardwares periféricos. São eventos


que ocorrem fora do controle do processador e requerem atenção imediata. Eles
interrompem temporariamente a execução normal do processador para lidar com
esses eventos. Exceções: Eventos gerados pelo processador, indicando uma
condição anormal que precisa ser tratada. Isso pode incluir tentativas de executar
instruções inválidas, acessar áreas de memória restritas ou operações matemáticas
impossíveis, como dividir por zero. Armadilhas (traps): Eventos gerados pelo
software. São instruções deliberadas inseridas no código de um programa para
interromper sua execução normal e transferir o controle para uma rotina específica,
geralmente para lidar com situações excepcionais ou solicitar serviços do sistema
operacional.
5. O comando fopen em linguagem C é uma função da biblioteca padrão
(stdio.h) e não uma chamada de sistema. Isso significa que fopen é implementado
como uma função normalmente fornecida por uma biblioteca de tempo de execução
C, não requerendo um acesso direto ao sistema operacional. A função fopen é usada
para abrir um arquivo e associá-lo a um fluxo (stream), permitindo que você leia ou
escreva dados no arquivo.

6. Operações não permitida em modo usuário:


(d) Ajustar o relógio do hardware: pode levar a inconsistências e instabilidade
no sistema.
(e) Ler o valor dos registradores do processador: pode comprometer a
segurança do sistema e revelar informações confidenciais.
(f) Mascarar interrupções: pode prejudicar o funcionamento do sistema e
impedir que ele responda a eventos importantes.

7. Ações que exigem chamadas de sistema:


(a) Ler o relógio de tempo real do hardware: O relógio é um recurso
gerenciado pelo núcleo, que fornece uma interface segura e consistente para acessá-
lo.
(b) Enviar um pacote através da rede: Envolve acesso à placa de rede e
protocolos de comunicação, gerenciados pelo núcleo. O processo precisa solicitar ao
núcleo a transferência do pacote e a respectiva comunicação.
(e) Remover um arquivo do disco: O disco é um recurso gerenciado pelo núcleo,
que controla o acesso e a manipulação de arquivos. A remoção de um arquivo exige
a comunicação com o núcleo para realizar a operação de forma segura e consistente.

Atividade 1
O utilitário date faz chamadas de sistema para obter a data e a hora atuais do
sistema operacional. Não é necessário para mapear memória ou carregar bibliotecas.
Ele solicita ao sistema operacional que forneça a data e a hora atuais, e as chamadas
de sistema são usadas para acessar essa informação.

Atividade 2
Sim, é possível observar uma relação entre as chamadas de biblioteca e as
chamadas de sistema. As chamadas de biblioteca muitas vezes são responsáveis por
encapsular chamadas de sistema mais baixo nível, fornecendo uma interface mais
amigável e portável para os programas.

Você também pode gostar