Professional Documents
Culture Documents
henke@redes.ufsm.br
‣ INTRODUÇÃO
↳ Histórico dos SOs
↳ Conceitos de SOs
↳ Chamadas de Sistema
↳ Estrutura de um SO
2
INTRODUÇÃO: Estrutura de um SO
Introdução – Estrutura de um SO
4
Estrutura de um S.O.
Um S.O. NÃO é um bloco único e fechado de
software executando sobre o hardware.
5
Estrutura de um S.O.
Os componentes são:
↳ Núcleo (Kernel)
↳ Drivers
↳ Código de inicialização
↳ Programas utilitários
6
Estrutura de um S.O.
Núcleo
↳ Coração de um S.O.
↳ Responsável pela gerência de recursos do
hardware usados pelas aplicações.
↳ Também implementa as principais
abstrações utilizadas
7
Estrutura de um S.O.
Drivers
↳ Módulos de código específicos para acessar
dispositivos físicos.
⇾Exemplos: drivers de disco rígidos IDE,
SCSI, portas USB, impressoras, placa de
vídeo.
↳ Tipicamente construído pelo fabricante do
hardware.
↳ Deve ser compilado para ser acoplado ao
S.O.
8
Estrutura de um S.O.
Códigos de inicialização
↳ Tem a função de executar uma série de
tarefas complexas para iniciar (ativar) o
hardware.
⇾Reconhecer os dispositivos instalados,
testá-los e configurá-los.
↳ Outra tarefa é carregar o núcleo do S.O. em
memória e iniciar sua operação
9
Estrutura de um S.O.
Programas utilitários
↳ Facilitam o uso do sistema computacional,
provendo funcionalidades complementares ao
núcleo.
⇾Formatação de discos e mídias,
configuração de dispositivos, manipulação
de arquivos, interpretar comandos, terminal,
interface gráfica, gerência de janelas....
10
Estrutura de um S.O.
11
Introdução – Estrutura de um SO
A partir de todos os componentes descritos
os SOs apresentam estruturas diferentes.
As estruturas abordados serão os seguintes:
Sistemas monolíticos
Sistemas em camadas
Micronúcleo
Modelo cliente-servidor
Máquinas virtuais
Exonúcleo
12
Introdução – Estrutura de um SO
SISTEMAS MONOLÍTICOS
15
Introdução – Estrutura de um SO
SISTEMAS MONOLÍTICOS
Carregado quando o
computador é iniciado
Executam as chamadas do
sistemas
18
Introdução – Estrutura de um SO
SISTEMAS CAMADAS
19
Introdução – Estrutura de um SO
SISTEMAS CAMADAS
20
Introdução – Estrutura de um SO
SISTEMAS CAMADAS
21
Introdução – Estrutura de um SO
MICRONÚCLEO
22
MICRONÚCLEO
Modo usuário com os
servidores, trabalho do
S.O.
24
Introdução – Estrutura de um SO
MODELO CLIENTE-SERVIDOR
25
Introdução – Estrutura de um SO
MODELO CLIENTE-SERVIDOR
26
Introdução – Estrutura de um SO
MODELO CLIENTE-SERVIDOR
27
Introdução – Estrutura de um SO
MÁQUINAS VIRTUAIS
29
Introdução – Estrutura de um SO
MÁQUINAS VIRTUAIS
Máquinas virtuais de sistema
↳ Suporte a um ou mais S.O. completos
↳ Exemplos: VMWare, Xen e VirtualBox
30
Introdução – Estrutura de um SO
MÁQUINAS VIRTUAIS
Divididas em VMs de aplicação ou de
sistema
Máquinas virtuais de aplicação
↳ Suporte a apenas um processo ou aplicação.
↳ Geralmente usadas por linguagens de programação
↳ Java, C#, Python, Perl, Lua e Ruby
31
Introdução – Estrutura de um SO
EXONÚCLEO
32
Introdução – Estrutura de um SO
EXONÚCLEO
Por exemplo:
↳ Cada maquina virtual pensa que tem seu próprio disco, com blocos
indo de 0 a um valor máximo, de modo que o monitor de maquina
virtual deve manter tabelas para remapear os endereços de disco.
34
Referências
35