Arquitetura de sistemas operacionais
1. Arquitetura Monolítica
Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande e único programa executável, onde os módulos podem interagir livremente.
Os primeiros sistemas operacionais foram desenvolvidos com base neste modelo, o que tornava seu desenvolvimento e, principalmente sua manutenção bastante difíceis.
Devido a sua simplicidade e bom desempenho, a estrutura monolítica foi adotada no projeto do MS-DOS e nos primeiros sistemas Unix.
Todos os componentes do núcleo operam em modo núcleo e se inter-relacionam conforme suas necessidades, sem restrições de acesso entre si, pois o código no nível núcleo tem acesso pleno a todos os recursos e áreas de memória.
Ex: MS-DOS
Vantagens
Rapidez de execução e simplicidade de implementação
Desvantagens
Limitação quanto a inovações futuras e dificuldade de manutenção
2. Arquitetura de Camadas
Na arquitetura de camadas, o sistema é dividido em níveis sobrepostos. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores.
A vantagem da estruturação em camadas é isolar as funções do sistema operacional, facilitando sua manutenção e depuração, além de criar uma hierarquia de níveis de modos de acesso, protegendo as camadas mais internas. Uma desvantagem para o modelo de camadas é o desempenho. Cada nova camada implica uma mudança no modo de acesso.
Ex: Maioria das versões do Windows 2000 em diante e versões do Unix
Vantagens:
- Separação de código relativo à interface com o usuário, comunicação, negócio e dados;
- Permite a mudança de implementação de uma camada sem afetar a outra, desde que a interface seja mantida entre as mesmas;
- Possibilita que uma camada trabalhe com diferentes versões de outra camada
Desvantagem:
- Aumento no número de