O documento discute a estrutura dos sistemas operacionais. Apresenta o kernel como o conjunto de rotinas e serviços oferecidos pelo sistema operacional. Descreve os modos de acesso kernel e usuário e o mecanismo de system calls. Explora diferentes arquiteturas de kernel, incluindo monolítica, em camadas e microkernel, assim como o modelo de máquina virtual.
2. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Na aula anterior...
Concorrência
2
3. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Mundo 6 - Estrutura do Sistema Operacional
3
Estrutura do Sistema Operacional
4. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
O que vamos aprender?
System calls
Modos de acesso
Arquitetura monolítica
Arquitetura em camadas
Arquitetura microkernel
Máquina virtual
4
6. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
6
O sistema operacional oferece um conjunto de rotinas e serviços, que são
chamados Núcleo, ou Kernel
Terra ÁtomoCélula
7. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
7
Diferente de uma aplicação convencional, a execução das
rotinas de um sistema operacional acontecem de maneira
concorrente, sem uma ordem e dissociada do tempo.
8. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
8
AplicaçãoDave
HardwareSistema
Operacional
9. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
9
Tratamento de Interrupções e Exceções;
Criação e Eliminação de Processos e Threads;
Sincronização e Comunicação entre Processos e Threads;
Escalonamento e Controle dos Processos e Threads;
Gerencia de Memória;
Gerencia do Sistema de Arquivos;
Gerencia de Dispositivos E/S;
Suporte a Redes Locais e Distribuídas;
Contabilização do Uso do Sistema;
Auditoria e Segurança do Sistema;
10. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
10
Como os recursos são compartilhados por N aplicações,
o núcleo deve garantir que as
operações não afetem a integridade de um sistema
11. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
11
Quando a aplicação está em modo usuário, acessa a um conjunto restrito de
comandos, já no modo kernel o acesso é ilimitado
Kernel Usuário
12. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
12
Desabilitar todas as interrupções
Consultar a data e hora do sistema
Alterar a data e hora do sistema
Alterar informações residentes no núcleo
Somar duas variáveis declaradas dentro do programa
Realizar desvio p/ uma instrução dentro do próprio programa
Acessar diretamente posições no disco
13. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
13
As vezes acontece de brechas
darem poderes excessivos aos
aplicativos em modo usuário
14. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
14
System Call
Aplicação Biblioteca Hardware
Núcleo do
Sistema Operacional
Núcleo do
Sistema Operacional
15. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
15
Todo o controle de execução de rotinas do sistema operacional é
realizado pelo mecanismo de SystemCalls
Caso uma instrução privilegiada acesse diretamente o hardware sem passar por
uma system call, o Hardware a Bloqueia
29. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
29
Quando um computador é ligado, o bootLoader que está na
ROM da máquina é ativado e chama o POST
Em seguida, é verificado se em alguma unidade de armazenamento
possui um sistema operacional. Caso encontre, um conjunto de
instruções é carregado para a memória em um setor específico
chamado de Setor de Boot.
30. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Kernel
30
O sistema operacional também possui o
processo de desligamento onde o uma série de
passos ordenados são executados para garantir
que não haverá perda de dados.
32. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Arquiteturas do Kernel
32
Arquitetura monolítica
Vários módulos compilados
separadamente e depois linkados,
formando um grande e único
programa executável.
Modo kernel
aplicação aplicação
Modo usuário
System call
Hardware
33. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Arquiteturas do Kernel
33
Arquitetura do
OpenVMS
34. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Arquiteturas do Kernel
34
Arquitetura
de camadas
Com o aumento da complexidade, os kernels passaram a organizar seu
código em camadas, usando técnicas de programação estruturada e modular
Guest Power User Administrator
Kernel
Usuário
35. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Arquiteturas do Kernel
35
Arquitetura de Microkernel
Hoje a tendência é a de que o núcleo seja o menor e mais simples possível,
de forma que os serviços são providos por processos separados.
A aplicação que consome o serviço é chamada “cliente” e o processo
que a responde é chamado “servidor”.
36. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Arquiteturas do Kernel
36
Ao utilizar o modelo
cliente/servidor, não
importa se o servidor está
no mesmo computador
ou distribuído.
Modo kernel
Modo usuário
Microkernel
mensagem
mensagem
Hardware
37. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Arquiteturas do Kernel
37
Máquinas Virtuais
O Modelo de Máquina Virtual cria um nível intermediário entre o
Hardware e o Sistema Operacional chamado
“Gerencia de Máquina Virtual”
38. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Arquiteturas do Kernel
38
Ap1
VM1
VM2
VMn
Gerência de Máquinas Virtuais
Hardware
SO1
HV1
Ap2
SO2
HV2
Apn
SOn
HVn
Máquina Virtual Java
Hardware
Sistema Operacional
Aplicação
39. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Material: https://sites.google.com/site/leinylsonnassau
Aula adaptada do material de:
Sistemas Operacionais, Anhaguera - Prof. Charles Fortes
Arquitetura de Sistemas Operacionais, Machado e Maia
39
40. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Nesta aula aprendemos...
40
System calls
Modos de acesso
Arquitetura monolítica
Arquitetura em camadas
Arquitetura microkernel
Máquina virtual
41. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Na próxima aula veremos...
Thread e Processos
42
42. Sistemas Operacionais - Aula 06: Estrutura do Sistema Operacional
Alguma Dúvida?
43
leinylson@gmail.com