Академический Документы
Профессиональный Документы
Культура Документы
Sistemas Operacionais
Prof. Rogério A. Gonçalves
rogerioag@utfpr.edu.br
3. Estrutura e organização
– Sistemas em camadas
– Sistemas monolíticos
– Sistemas micro-núcleo
– Máquinas virtuais
1. Principais elementos e mecanismo geral
Funcionalidades Básicas
Gerenciar os vários recursos disponíveis no sistema,
para atender da maneira mais eficiente possível o
usuário.
Gerenciar a execução dos programas do usuário,
visando o melhor desempenho do sistema como um
todo.
Funções Específicas
• Gerenciamento de I/O
• Gerenciamento de Arquivos
• Gerenciamento de Processos
• Gerenciamento de Memória
• Proteção do Sistema
Interface Hardware/Software
Usuário
Aplicativos
Utilitários
Interface Shell
SO → Kernel
BIOS → Startup
Unidade de Controle
Memória, Registradores,
Portas de E/S
5 LT37D – Sistemas Operacionais 16/08/2019
1. Principais elementos e mecanismo geral
Interface Hardware/Software
O usuário interage com aplicativos desenvolvidos por
programadores que fazem uso de utilitários tais como
editores, compiladores, interpretadores, montadores
etc…
Interface Hardware/Software
Todas estas camadas por sua vez serão de fato
executadas pela unidade de controle (microprograma).
Resumo
O hardware executa o Startup, que já está em
posição pré-definida da memória ROM.
Utilitários
• São também chamados de Toolkits ou
ferramentas
• São programas que auxiliam o usuário na
construção de aplicações.
• Alguns bastantes utilizados são:
– Tradutores
– Compiladores
– Linkers
– Depuradores
Tradutores
Tradutor
Programa Programa
na linguagem na linguagem
A B
Linker
MÓDULO
OBJETO
PROG
LINKER EXEC
MÓDULO
OBJETO
Linker
MÓDULO
OBJETO
PROG
LINKER EXEC
MÓDULO
OBJETO
Linker
MÓDULO
OBJETO
PROG
LINKER EXEC
MÓDULO
OBJETO
Linker
MÓDULO
OBJETO
PROG
LINKER EXEC
MÓDULO
OBJETO
Linker
MÓDULO
OBJETO
PROG
LINKER EXEC
MÓDULO
OBJETO
3. Estrutura e organização
– Sistemas em camadas
– Sistemas monolíticos
– Sistemas micro-núcleo
– Máquinas virtuais
2. Tipos de sistemas operacionais
SO Monoprogramado (Monotarefa)
– Um processador
– Um processo
– Um usuário
– CPU ociosa durante E/S
– Simples implementação
SO em Lote
SO Multiprogramado (Multitarefa)
Um ou mais processadores
Um ou mais processos
Um ou mais usuários
Não fica ocioso durante E/S
Implementação Mais Complexa
Conceito de Time-slice
computador
central
polling
terminais
SO Multiprogramado para Tempo Real
– Tempo de resposta rígido
– Muito usado em controle de processos
– Menos time-slice e mais prioridade
– Processos ativados por sensores
– Aplicação: usinas, refinarias, tráfego aéreo
etc...
Fracamente Acoplado
linha de
comunicação
MEM MEM
privada privada
Fortemente Acoplado
linha de
comunicação
memória
MEM MEM
compartilhada
Estruturado em Camadas
Aplicação
Sistema Operacional
Núcleo
Hardware
Monoprogramados: Desvantagem
processos
P2
P1
tempo
atividade
ociosidade
Multiprogramados: Vantagem
processos
P2
P1
tempo
atividade
ociosidade
Programa
Interrupção
Interrupção de
de Software
Hardware
Dispositivos Rotina de
CPU
de E/S Tratamento
Buffering
MEM
E E
CPU buffer E/S
S S
Spooling
(Simultaneous Peripherical Operating On Line)
Arquivo
de spool
Impressão
Programa Sistema
Operacional
Interrupções
As interrupções habilitam o software a responder a sinais do
hardware.
■ Podem ser iniciadas por um processo em execução.
● A interrupção é denominada desvio (trap).
● É considerada síncrona em relação à operação do processo.
● Por exemplo, quando um processo tenta realizar uma ação ilegal, como
dividir por zero ou referir-se a uma memória protegida.
■ Podem ser iniciadas por algum evento que pode ou não estar
relacionado ao processo em execução.
● Nesse caso, é considerada assíncrona em relação à operação do
processo.
● Por exemplo, quando uma tecla é pressionada no teclado ou o mouse é
movido.
■ Pouco esforço
A sondagem (polling) é uma abordagem alternativa.
■ O processador solicita repetidamente o status de cada dispositivo.
■ Visto que a complexidade do sistema aumenta, o esforço também
aumenta.
31 LT37D – Sistemas Operacionais 16/08/2019
2. Tipos de sistemas operacionais
Processamento de Interrupções
Tratamento de interrupções
■ Assim que recebe uma interrupção, o processador
conclui a execução da instrução corrente e faz uma
pausa no processo corrente.
■ Em seguida, o processador executa uma das funções
de tratamento de interrupção do núcleo.
■ O tratador de interrupção determina como o sistema
deve responder.
■ Os tratadores de interrupção são armazenados em
um conjunto de ponteiros denominado vetor de
interrupção.
■ Após a conclusão do tratador de interrupção, o
processo interrompido é restaurado e executado ou o
32
processo seguinte é executado.
LT37D – Sistemas Operacionais 16/08/2019
2. Tipos de sistemas operacionais
Processamento de Interrupções
Figura 3.7 Tratamento de interrupções.
Classes de Interrupções
As interrupções suportadas dependem da arquitetura do
sistema.
■ A especificação IA-32 distingue os dois tipos de sinal que
um processador pode receber:
● Interrupções
→Notificam o processador de que ocorreu um evento
ou que o status de um dispositivo externo mudou.
→São geradas por dispositivos externos a um
processador.
● Exceções
→Indicam que ocorreu um erro, seja no hardware,
seja em decorrência de uma instrução de software.
→São classificadas como falhas, desvios ou abortos.
3. Estrutura e organização
– Sistemas em camadas
– Sistemas monolíticos
– Sistemas micro-núcleo
– Máquinas virtuais
3. Estrutura e organização
• Sistemas em camadas
• Sistemas monolíticos
• Sistemas micro-núcleo
• Máquinas virtuais
Sistema em Camadas
• Divide o sistema operacional em camadas
sobrepostas.
• Cada módulo oferece um conjunto de
funções que pode ser usado por outros
módulos.
• A vantagem da estruturação em camadas é
isolar o sistema operacional
– facilitando sua alteração e depuração
– cria uma hierarquia de níveis de modos,
protegendo as camadas mais internas.
Sistema em Camadas
• O empilhamento de várias camadas de
software faz com que cada pedido de uma
aplicação demore mais tempo para chegar
até o dispositivo periférico ou recurso a ser
acessado, prejudicando o desempenho do
sistema.
• Como dividir as funcionalidades em
camadas horizontais de abstração
crescente?
– funcionalidades são inter-dependentes,
embora tratem muitas vezes de recursos
distintos.
38 LT37D – Sistemas Operacionais 16/08/2019
3. Estrutura e organização
Sistema Monolítico
• A organização mais comum é aquela que
estrutura o sistema como um conjunto de
rotinas que podem interagir livremente
umas com as outras.
• Pode ser comparada com uma aplicação
formada por vários procedimentos que são
compilados separadamente e depois
“linkados”, formando um grande e único
programa executável.
– Grande desempenho
– Uma falha pode paralisar todo o núcleo
39 LT37D – Sistemas Operacionais 16/08/2019
3. Estrutura e organização
Sistema Monolítico
Máquinas Virtuais
3. Estrutura e organização
– Sistemas em camadas
– Sistemas monolíticos
– Sistemas micro-núcleo
– Máquinas virtuais