Você está na página 1de 6

Estrutura do Sistema Operacional

Um sistema tão grande e complexo quanto um sistema operacional
moderno deve ser cuidadosamente construido para que funcione bem e
posssa ser facilmente modificado.

Uma abordagem comum é dividir a tarefa em pequenos componentes em
vez de ter um sistema monolítico.

• Sistemas monolíticos – Não há nenhuma estrutura, o SO é escrito
como uma coleção de procedimentos.

• Sistemas em camadas - Hierarquias de camadas construídas uma
sobre a outra.

• Máquinas virtuais - Camada idêntica ao hardware que executa vários
sistemas operacionais.

• Modelo cliente-servidor - Remover código para camadas mais altas.
Gerenciar processo cliente e processo servidor.

• Multiprogramação (Sistema multiprogramado)
 Diversos programas são mantidos na memória ao mesmo tempo.
 Pode-se ter, por exemplo, a execução ao mesmo tempo do
programa 1 que espera por uma solicitação de E/S e do programa
2 que necessita apenas de cálculos do processador.
 Pseudo-paralelismo: Vários programas são executados em uma
unidade de tempo (sistema com um processador) dando a
sensação de que são executados ao mesmo tempo.
 Paralelismo real: sistema multiprocessado onde cada processador
executa um programa.
Sistemas Operacionais – Aula 3 18

Exemplo MS-DOS. É escrito pra prover maior funcionalidade em menor espaço. Sistemas Operacionais – Aula 3 19 . Não é dividido em módulos. tais sistemas operacionais começaram como sistemas pequenos. crescendo além do seu escopo original. UNIX O sistema operacional UNIX original possuia estrutura limitada pelas funcionalidades do hardware.Estrutura simples Existem vários sistemas comerciais que não possuem uma estrutura bem definida. Frequentemente. O SO UNIX consiste em duas partes separadas: • Programas de sistema • Kernel Tudo o que está abaixo da interface de chamadas do sistema e acima do hardware físico é o Kernel. simples e limitados.

é preciso haver um planejamento cuidadoso. O Kernel fornece sistema de arquivos. Como uma camada só pode usar as camadas que estão em um nível inferior. A camada inferior (camada 0) é o hardware. Sistemas Operacionais – Aula 3 20 . As camadas são selecionadas de forma que cada uma utilize as funções (operações) e serviços apenas das camadas de nível mais baixo. Abordagem em camadas A modularização de um sistema pode ser feita de muitas formas. escalonamento de CPU. a camada superior (camada N) é a interface de usuário. na qual o sistema operacional é dividido em uma série de camadas (níveis). gerência de memória e outras funções do SO através de chamadas de sistema. cada qual construída sobre camadas inferiores. A principal vantagem da abordagem em camadas é a modularidade. A principal dificuldade da abordagem em camadas está na definição adequada das várias camadas. um método é a abordagem em camadas.

Menos camadas com mais funcionalidades estão sendo projetadas. O resultado é um kernel menor. Microkernels Esse método estrutura o sistema operacional removendo todos os componentes não-essencias do kernel e implementando-os como programas de sistema e de nível de usuário. fornecendo a maior parte das vantagens do código modularizado e evitando os difíceis problemas da definição e interação em camadas. Um último problema com implementações em camada é que elas tendem a ser menos eficientes que outros tipos. Sistemas Operacionais – Aula 3 21 . Essas limitações causaram alguma reação contra a estrutura em camadas nos últimos anos. Os benefícios da abordagem do microkernel incluem a facilidade de expandir o sistema operacional.

não exigem modificação do kernel. porque o microkernel é um kernel menor. em vez de kernel. Ela trata o hardware e o kernel do SO como se ambos estivessem no mesmo nível. O microkernel também fornece mais segurança e confiabilidade. Se um serviço falhar. as alteraçoes tendem a ser menores. Quando o kernel precisa ser modificado. fornece uma interface idêntica ao hardware subjacente. consequetemente. em vez disso. pois a maior parte dos serviços estão sendo executados como processos de usuário. (a) máquina não-virtual (b) máquina virtual Sistemas Operacionais – Aula 3 22 . Todos os novos serviços são adicionados ao espaço de usuário e. A abordagem de máquina virtual não fornece funcionalidade adicional. o resto do sistema operacional permanece inalterado. Máquinas Virtuais Uma máquina virtual leva a abordagem em camadas a sua conclusão lógica.

Benefícios: o O conceito de máquina virtual fornece proteção completa dos recursos do sistema uma vez que cada máquina virtual é isolada de todas as outras máquinas virtuais. O desenvolvimento do sistema é feito na máquina virtual. Embora o conceito de máquina virtual seja útil. não permite compartilhamento direto dos recursos. Este isolamento. Usando as técnicas de escalonamento de CPU e de memória virtual. o Um sistema de máquina virtual é um veículo perfeito para pesquisa e desenvolvimento de sistemas operacionais. ele é difícil de implementar. em vez de na máquina física. Sistemas Operacionais – Aula 3 23 . entretanto. Muito trabalho é necessário para fornecer uma duplicata exata da máquina subjacente. um sistema operacional pode criar a ilusão de que um processo tem seu próprio processador com sua própria memória (virtual). sem perturbar as operações normais do sistema.