Estrutura do Sistema Operacional
De Aulas
Conteúdo integrante da disciplina de Sistemas Operacionais
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.
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.
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.
Sistemas Monolíticos
- Mais comum de ser encontrada
- Rotinas interagem livremente umas com as outras
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
Sistema de Máquina Virtual
Máquina Virtual Java
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.
Lista de Exercícios
- O que é e qual a função do Núcleo (Kernel) de um Sistema Operacional?
- Cite e descreva as principais rotinas que o sistema operacional executa.
- O que são Chamadas de Sistema (System Calls) e qual a sua utilidade para o Sistema Operacional?
- Apresente e descreva o grupo de funções das System Calls.
- O que são instruções privilegiadas e não privilegiadas?
- Descreva a organização dos Sistemas Monolíticos. Apresente um esquema gráfico.
- Descreva a organização dos Sistemas em Camadas. Apresente um esquema gráfico.
- Descreva a organização dos Sistemas Cliente-Servidor. Apresente um esquema gráfico.