Estruturas de Sistemas Operacionais Sistema Monolítico
Por: Gabriel Amaral • 1/3/2019 • Pesquisas Acadêmicas • 497 Palavras (2 Páginas) • 384 Visualizações
Estruturas de Sistemas Operacionais - Sistema Monolítico
Sistemas Operacionais podem ser estruturados de diferentes formas, entre todas trataremos dos sistemas monolíticos.[1]
Nesse tipo de estrutura o sistema é dito como uma coleção de rotinas, onde cada rotina pode chamar qualquer outra sempre que necessário.
O sistema é estruturado de forma que as rotinas podem interagir livremente umas com as outras.
Quando esta técnica é utilizada, cada rotina de sistema possui uma interface bem definida em termos de parâmetros e resultados. Essa é a forma de como o computador se comunica com o sistema.
As rotinas podem ser executadas em modo usuário ou modo núcleo (modo Kernel).
O modo usuário limita as ações para garantir as seguranças e não comprometer nenhuma parte do sistema, deste modo é mais difícil um aplicativo violar a privacidade de outro.
Já o modo núcleo conhecido como privilegiado por ter acesso completo ao computador.
Os serviços do sistema operacional que podem ser executado em modo núcleo são:
Gerenciamento de processos;
Gerenciamento de memória;
Gerenciamento de sistemas de arquivos;
O computador executa todas as aplicações em modo Kernel, mas para isso é necessário que as rotinas enviadas em modo usuário sejam carregadas, validadas e consideradas seguras. Se um dos passos falhar, o sistema envia uma exceção e nega a execução da operação.
Desta forma se for enviado um comando do modo usuário para o modo Kernel e este se nega a executar, ele responde a linguagem que deve tratar o erro. Esse é o conceito de system call.
O conceito de realizar chamadas no sistema para que ele avalie se a execução de um processo é segura ou não. Erros e intenções maliciosas devem ser barradas.
Desvantagens
Como todos os módulos e rotinas executam no mesmo espaço de endereçamento, um bug em um dos módulos pode derrubar o sistema inteiro.
- O sistema pode parar em função de um erro;
- As interfaces e os níveis de funcionalidade não são bem separados, nem estão unificados. O excesso de liberdade torna o sistema vulnerável;
- Dificuldade em executar alterações no próprio núcleo, pois as dependências e pontos de interação dos componentes podem não ser evidentes.
- É difícil identificar a origem de um problema ou erro, pois seus componentes estão todos no mesmo lugar.
- Se um componente do núcleo apresentar um erro, esse problema pode se alastrar rapidamente e levar o sistema ao colapso.
- Pequenas alterações na estrutura de dados de um componente, se acessados diretamente, podem ter um impacto inesperado em outros componentes.
Vantagens
Se a implementação do sistema está completa e confiável, a forte integração interna dos componentes permite que detalhes de baixo nível do hardware sejam efetivamente explorados, resultando em alta eficiência.
- A grande vantagem de sistemas operacionais monolíticos é o desempenho, já que a forte integração interna de seus componentes lhe permite que detalhes de baixo nível do hardware sejam efetivamente explorados.
- A arquitetura possui intercomunicação direta e isso favorece no tempo de resposta do sistema operacional.
- A interação direta entre os componentes torna o sistema mais compacto.
- Os componentes do núcleo pode acessar os demais sem qualquer tipo impedimento.
...