Вы находитесь на странице: 1из 46

Universidade Tecnológica Federal do Paraná – UTFPR

Coordenação de Ciência da Computação - COCIC


Engenharia Eletrônica

Sistemas Operacionais
Prof. Rogério A. Gonçalves
rogerioag@utfpr.edu.br

Material adaptado para LT37D - 2019/2


1. Principais elementos e mecanismo geral
– Funcionalidades básicas e funcionalidades específicas
– Interface hardware/software
– Utilitários, tradutores, linkers
– Carregamento de transferência de controle

2. Tipos de sistemas operacionais


– Monoprogramado
– Lote
– Multiprogramado (interrupção, buffering, spooling)

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.

3 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

Funções Específicas
• Gerenciamento de I/O
• Gerenciamento de Arquivos
• Gerenciamento de Processos
• Gerenciamento de Memória
• Proteção do Sistema

4 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

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…

 Por baixo destes aplicativos e utilitários pode haver


uma interface amigável.

 Esta interface atuará sobre o sistema operacional (shell


+ kernel) que por sua vez utilizará recursos da BIOS.

6 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

Interface Hardware/Software
 Todas estas camadas por sua vez serão de fato
executadas pela unidade de controle (microprograma).

 Por último, estão os dispositivos físicos de entrada e


saída, registradores e memória.

7 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

Resumo
 O hardware executa o Startup, que já está em
posição pré-definida da memória ROM.

 O Startup busca o BOOT que deve estar em uma


posição pré-definida do disco e transfere o controle
para ele.

 O BOOT busca e transfere o controle para o SO.

 O SO busca e transfere o controle para a Aplicação.

8 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

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

9 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

Tradutores

Tradutor
Programa Programa
na linguagem na linguagem
A B

10 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

Linker

MÓDULO
OBJETO

PROG
LINKER EXEC

MÓDULO
OBJETO

Faz a ligação de um ou mais objetos em um executável.


11 LT37D – Sistemas Operacionais 16/08/2019
1. Principais elementos e mecanismo geral

Linker

MÓDULO
OBJETO

PROG
LINKER EXEC

MÓDULO
OBJETO

12 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

Linker

MÓDULO
OBJETO

PROG
LINKER EXEC

MÓDULO
OBJETO

13 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

Linker

MÓDULO
OBJETO

PROG
LINKER EXEC

MÓDULO
OBJETO

14 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral

Linker

MÓDULO
OBJETO

PROG
LINKER EXEC

MÓDULO
OBJETO

Faz a ligação de um ou mais objetos em um executável.


15 LT37D – Sistemas Operacionais 16/08/2019
1. Principais elementos e mecanismo geral
– Funcionalidades básicas e funcionalidades específicas
– Interface hardware/software
– Utilitários, tradutores, linkers
– Carregamento de transferência de controle

2. Tipos de sistemas operacionais


– Monoprogramado
– Lote
– Multiprogramado (interrupção, buffering, spooling)

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

17 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

 SO em Lote

Antigo sistema em lote


– traz os cartões para o 1401
– lê os cartões para a fita
– coloca a fita no 7094 que executa o processamento
– coloca a fita no 1401 que imprime a saída
18 LT37D – Sistemas Operacionais 16/08/2019
2. Tipos de sistemas operacionais

 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

19 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

SO Multiprogramado com Compartilhamento de


Tempo

computador
central
polling

terminais

20 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais


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...

21 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

 SO Multiprocessado (Multiprogramado para


Multiprocessador)
– Vários processadores
– Troca de mensagens
– Mono ou multiprogramação em cada
processador
– Paralelismo físico ou real
– Fracamente ou fortemente acoplado

22 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

Fracamente Acoplado

linha de
comunicação

CPU E/S E/S CPU

MEM MEM
privada privada

23 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

Fortemente Acoplado

linha de
comunicação

CPU E/S E/S CPU

memória
MEM MEM
compartilhada

24 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

Sistema Operacional Multiprogramado

 Estruturado em Camadas

Aplicação
Sistema Operacional
Núcleo
Hardware

25 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

Monoprogramados: Desvantagem

processos

P2

P1

tempo

atividade
ociosidade

26 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

Multiprogramados: Vantagem

processos

P2

P1

tempo

atividade
ociosidade

27 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

Fatores Importantes para a Multiprogramação


 Interrupção (trap ou via hardware)

Programa
Interrupção
Interrupção de
de Software
Hardware

Dispositivos Rotina de
CPU
de E/S Tratamento

28 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

Fatores Importantes para a Multiprogramação

 Buffering
MEM

E E
CPU buffer E/S

S S

29 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

Fatores Importantes para a Multiprogramação

 Spooling
(Simultaneous Peripherical Operating On Line)
Arquivo
de spool
Impressão

Programa Sistema
Operacional

30 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

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.

33 LT37D – Sistemas Operacionais 16/08/2019


2. Tipos de sistemas operacionais

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.

34 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral
– Funcionalidades básicas e funcionalidades específicas
– Interface hardware/software
– Utilitários, tradutores, linkers
– Carregamento de transferência de controle

2. Tipos de sistemas operacionais


– Monoprogramado
– Lote
– Multiprogramado (interrupção, buffering, spooling)

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

36 LT37D – Sistemas Operacionais 16/08/2019


3. Estrutura e organização

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.

37 LT37D – Sistemas Operacionais 16/08/2019


3. Estrutura e organização

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

40 LT37D – Sistemas Operacionais 16/08/2019


3. Estrutura e organização

Sistemas micro-núcleo (micro kernel)


• Uma tendência dos sistemas operacionais
é tornar o núcleo menor e mais simples
possível e para implementar esta ideia o
sistema é dividido em processos.
• Sempre que uma aplicação deseja algum
serviço ela solicita ao processo
responsável.
• Estabelece-se uma relação cliente-
servidor.

41 LT37D – Sistemas Operacionais 16/08/2019


3. Estrutura e organização

Sistemas micro-núcleo (micro kernel)


• A utilização deste modelo permite que os
servidores executem em modo usuário.
• Apenas o núcleo do sistema, responsável
pela comunicação entre clientes e
servidores, executa no modo kernel.
• O sistema operacional passa a ser de mais
fácil manutenção.
• Não importa se está executando em um
único processador, em múltiplos
processadores (fortemente acoplado) ou em
sistema distribuído (fracamente acoplado).
42 LT37D – Sistemas Operacionais 16/08/2019
3. Estrutura e organização

Sistemas micro-núcleo (micro kernel)


• Em ambiente distribuído permite que um
cliente solicite um serviço e a resposta seja
processada remotamente.
• Sua implementação é difícil e mais
usualmente é implantado uma combinação
do modelo de camadas com o cliente-
servidor.
• O núcleo do sistema passa a incorporar o
escalonamento e gerência de memória
além das funções de device drivers.

43 LT37D – Sistemas Operacionais 16/08/2019


3. Estrutura e organização

Sistemas micro-núcleo (micro kernel)

44 LT37D – Sistemas Operacionais 16/08/2019


3. Estrutura e organização

Máquinas Virtuais

45 LT37D – Sistemas Operacionais 16/08/2019


1. Principais elementos e mecanismo geral
– Funcionalidades básicas e funcionalidades específicas
– Interface hardware/software
– Utilitários, tradutores, linkers
– Carregamento de transferência de controle

2. Tipos de sistemas operacionais


– Monoprogramado
– Lote
– Multiprogramado (interrupção, buffering, spooling)

3. Estrutura e organização
– Sistemas em camadas
– Sistemas monolíticos
– Sistemas micro-núcleo
– Máquinas virtuais

Вам также может понравиться