Sistemas
Operacionais
Capítulo 5
Estrutura do Sistema Operacional
5.1
– Introdução
-
Kernel -> conjunto de rotinas que oferecem serviços aos usuários
do sistema e suas aplicações, bem como a outras rotinas
do próprio sistema.
-
Principais rotinas:
-
tratamento de interrupções;
-
criação e eliminação de processos;
-
sincronização e comunicação entre
processos;
-
escalonamento e controle dos processos;
-
gerência da memória;
-
gerência do sistema de arquivos;
-
operações de entrada e saída;
-
contabilização e segurança do sisteama.
5.2 – System Calls (chamadas ao sistema)
-
Comunicação do usuário ou aplicação
com o núcleo do sistema operacional.
-
Para cada serviço existe uma system call.
-
System call X modularização.
-
Grupos de funções:
-
Gerência de processos:
-
Criação e eliminação de processos;
-
Alteração das características do processo;
-
Sincronização e comunicação entre
processos.
-
Gerência de memória:
-
Alocação e desalocação de memória
-
Gerência de entrada e saída:
-
Operações de entrada/saída;
-
Manipulação de Arquivos.
5.3 – Modos de Acesso
-
Restrição quanto à utilização
de algumas funções do sistema
-
Instruções privilegiadas
-
oferecem perigo ao sistema)
-
funcionam no modo kernel
-
acesso ao conjunto total de instruções do processador
-
Instruções não privilegiadas
-
não oferecem perigo ao sistema
-
funcionam no modo usuário
-
acesso à um número reduzido de instruções
-
A system call altera o modo de acesso do processador para o modo
kernel
-
Quando uma aplicação necessita de um serviço
de risco a um sistema, chama uma system call.
5.4 – Sistemas Monolíticos
-
Mais comum de ser encontrada
-
Rotinas interagem livremente umas com as outras
5.5 – Sistema em Camadas
-
Sistema operacional dividido entre camadas sobrepostas
-
Cada módulo possui um conjunto de funções que
podem ser utilizadas por outro módulo
-
Módulos de uma camada podem apenas fazer referência
a módulos das camadas inferiores
-
Camadas internas tem mais privilégios que as camadas externas
5.6 – Sistema Cliente-Servidor
-
Tendência de tornar o núcleo menor e mais simples possível.
-
Sistema dividido em processos, cada qual responsável por
um conjunto de serviços
-
Núcleo é responsável pela comunicação
entre clientes e servidores
-
Apenas núcleo executa no modo kernel
-
Caso um servidor dê problemas, não compromete o funcionamento
do resto do sistema
-
Mais fácil manutenção do Sistema Operacional
-
Permite que um cliente solicite um serviço e a resposta seja
processada remotamente
-
Na prática, implementação muito difícil
e combinada com o sistema em camadas.
[voltar]
|