As Sistemas Operacionais
Por: Matheus Alencar • 28/11/2017 • Projeto de pesquisa • 1.855 Palavras (8 Páginas) • 5.500 Visualizações
Sistemas Operacionais – Revisão
- O que é o núcleo do sistema e quais são suas principais funções?
O núcleo de sistema (ou kernel) é o conjunto de rotinas que oferece serviços ao usuário e às suas aplicações. Suas principais funções incluem: tratamento de interrupções/exceções; gerência de memória, gerência de arquivos; gerência de dispositivos de E/S; eriação, eliminação, e escalonamento de processos e threads.
- 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?
É a chamada que um processo faz quando ele solicita um serviço do núcleo do sistema. Quando ela é chamada, o programa que a invoca é interrompido, com sua informação salva para continuar sua execução. Quando a chamada termina, o programa resume de onde parou.
- O que são instruções privilegiadas e não privilegiadas? Qual a relação dessas instruções com os modos de acesso?
Instruções não privilegiadas ocorrem quando o processador trabalha em modo usuário, com menos instruções, já as instruções privilegiadas ocorrem quando o processador trabalha em modo kernel, , tendo acesso total às instruções do sistema.
Isso acontece porque um programa que tenha acesso a todo o núcleo pode danificar sua integridade, e os modos de acesso evitam esse risco.
- Explique como funciona a mudança de modos de acesso e dê um exemplo de como um programa faz uso desse mecanismo.
O modo de acesso de um determinado programa está determinado por um conjunto de bits, localizado no registrador de status do processador.
[Eu não achei nada sobre o programa usando o mecanismo de mudança de modos de estado.]
- Como o kernel do sistema operacional pode ser protegido pelo mecanismo de modos de acesso?
O modo usuário não permite que uma aplicação tenha acesso à áreas de memória onde o sistema operiacional está carregado. Para que isso aconteça, ele deverá estar funcionando em modo kernel.
- Compare as arquiteturas monolítica e de camadas. Quais as vantagens e desvantagens de cada arquitetura?
A vantagem da estrutura de camadas é o isolamento das funções do sistema operacional, criando uma hierarquia de níveis de modos de acesso. Já a vantagem da arquitetura analítica é o desempenho. Cada nova camada implica uma mudança no modo de acesso.
- Quais as vantagens do modelo de máquina virtual?
Além de independência entre VMs, e isolamento (que oferece segurança), máquinas virtuais oferecem: portabilidade de código; consolidação de servidores; aumento da disponibilidade; facilidade de escalabilidade; facilidade no desenvolvimento de software.
- Como funciona o modelo cliente-servidor na arquitetura microkernel? Quais suas vantagens e desvantagens dessa arquitetura?
Na arquitetura microkernel, os servidores funcionam em modo usuário, enquanto o núcleo do sistema, responsável pela comunicação entre clientes e servidores, funciona em modo kernel. Entre suas vantagens, está o fato de que o cliente ou servidor pode estar em qualquer tipo de sistema, que não fará diferença, assim como o isolamento das funções do sistema. Porém, sua implementação é difícil, devido à a problemas de desempenho e de processos que exigem acesso direto a hardware, não apoiados pelo modelo microkernel.
- Defina o conceito de processo?
Processo é o conjunto necessário de informações para que o sistema operacional implemente a concorrência de programas.
- Por que o conceito de processo é tão importante no projeto de sistemas multiprogramáveis?
Porque para o sistema multiprogramável funcionar, um processo é carregado para o processador, carregando as instruções de um programa, para que o programa continue. Esse processo é chamado de mudança de contexto.
- Quais partes compõem um processo?
Contexto de hardware, contexto de software, e espaço de endereçamento.
- O que é contexto de hardware de um processo e como é implementação da
troca de contexto?
Contexto de hardware é o que armazena os registradores gerais do processador. É ele quem controla a troca de contexto, onde o final de cada processo tem as instruções para o começo do próximo.
- Qual a função do contexto de software? Exemplifique cada grupo de informação.
A função do contexto de software é especificar limites e características dos recursos que podem ser alocados pelo processo. Seus grupos são:
Identificação - identificação de processo (PID); identificação de usuário (UID).
Quotas - número máximo de memória principal que o processo pode alocar; número máximo de arquivos abertos simultaneamente.
Privilégios – prioridade de execução; limites alocados na memória principal.
- O que é o espaço de endereçamento de um processo?
Espaço de endereçamento é a área de memória pertencente ao processo onde instruções e dados do programa são armazenados para execução.
- Defina os cinco estados possíveis do processo.
Execução (running) – Sendo processado pela CPU.
Pronto (ready) – Aguardando para ser executado.
Espera (wait) – Aguardando algum evento externo ou recurso para ser prosseguir.
Criação (new) – Esperando para ser colocado na lista de prontos.
Terminado (exit) – Não tem mais programas executando seu contexto.
- Dê um exemplo que apresenta todas as mudanças de estado de um processo, juntamente com o evento associado a cada mudança.
O processo é criado (new), e vai para a fila de prontos (ready), indo para execução (running) quando for sua vez, alternando entre espera (wait), pronto (ready) e voltando a executar (running), em loop, até todo o programa rodar, quando ele é terminado (exit).
...