Sistemas
Operacionais
Marcos Laureano
1/25
Roteiro
•
•
•
•
•
•
Hardware
Estrutura de um sistema operacional
Interrupções
Proteção do núcleo
Níveis de privilégio
Chamadas de sistema
2/25
Hardware
• Mono-processadores atuais seguem um
padrão definido na década de 40 por
János (John) Von Neumann
– Arquitetura Von Neumann
• Programa armazenado
– Programa a ser executado reside na memória
junto com os dados
3/25
1
Estrutura de um Sistema
Operacional
Aplicativos
Programas
Utilitários
Nível sistema
Núcleo
Código de
Inicialização
Software
Nível usuário
Drivers de
Dispositivo
Controladora de Dispositivos
Hardware
Dispositivos físicos
4/25
Hardware
Processador / UCP
Unidade Lógica
e Aritmética
Unidade de
Controle
Memória
Principal
Registradores
Dispositivos
de E/ S
5/25
Processador
• É o núcleo do sistema de computação.
• Responsável por continuamente ler as
instruções e dados da memória ou de
periféricos, processá-los e enviar os
resultados de volta a memória ou outros
periféricos.
6/25
2
Processador
• Unidade Central de Processamento (UCP
ou CPU)
• Unidade de Controle (UC)
• Unidade Lógica e Aritmética (ULA)
• Clock
– Memórias de alta velocidade
7/25
Barramento
• Ocorre todas as transferências de dados.
• Barramento de endereços
– Indica a posição de memória (ou dispositivo) a
acessar
• Barramento de controle
– Indica a operação a efetuar (leitura ou escrita)
• Barramento de dados
– Transporta a informação indicada entre o
processador e a memória ou controlador de
dispositivo
8/25
Barramento
Memória
Principal
UCP
Barr amento processador-memória
Adaptador
Barramento de E/ S
Barramento de E/ S
Adaptador
9/25
3
MMU
• Memory Management Unit (Unidade de
Gerência de Memória)
• Responsável por analisar cada endereço
solicitado pelo processador, validá-los,
efetuar conversões de endereçamento
necessárias e executar a operação
solicitada pelo processador
– leitura ou escrita de uma posição de memória
10/25
Memória
Registradores
Memória Cache
maior
capacidade de
armazenamento
Memória Principal
maior custo e
velocidade
de acesso
Memória Secundária
11/25
Dispositivos
• Memória secundária
– Discos
– Fitas magnéticas
• Interface usuário-máquina
– Teclados
– Impressoras
• Outros dispositivos
– Placa de vídeo
– Dispositivos USB’s
• São acessados através de circuitos específicos
denominados controladores
12/25
4
Arquitetura de um Computador
Memória
Processador
MMU
Mouse
Teclado
Controladora
USB
Monitor
Unidade
de disco
Conexão
de rede
Controladora
de vídeo
Controladora
de disco
Controladora
de rede
dados
endereços
13/25
controle
Interrupções
• Quando um controlador de periférico
possui uma informação importante para
fornecer ao processador
– Aguarda até que o processador o consulte
– Notifica o processador através do barramento
de controle
• Requisição de interrupção (IRQ – Interrupt
ReQuest)
14/25
Interrupção
1. O processador está executando um programa qualquer (em outras
palavras, um fluxo de execução);
2. Um pacote vindo da rede é recebido pela placa Ethernet;
3. A placa envia uma solicitação de interrupção (IRQ) ao processador;
4. O processamento é desviado do programa em execução para a
rotina de tratamento da interrupção
5. A rotina de tratamento é executada para receber as informações da
placa de rede (via barramentos de dados e de endereços) e
atualizar as estruturas de dados do sistema operacional;
6. A rotina de tratamento da interrupção é finalizada e o processador
retorna à execução do programa que havia sido interrompido.
15/25
5
Interrupção
memória
1
4
Programa em
execução
5
6
Rotina de
tratamento da
interrupção
2
Processador
dados
Controladora
de rede
MMU
5
endereços
16/25
controle
3
Proteção ao Núcleo
• Certas instruções não podem estar
disponíveis para as aplicações, pois isso
poderia ocasionar um sério problema de
integridade no sistema.
– Por exemplo, um acesso ao disco rígido para
gravação de um arquivo.
17/25
Níveis de privilégio
• Então, existe 2 tipos de
instruções: instruções
privilegiadas e instruções
não-privilegiadas.
• O processador
implementa 2 modos de
acesso: modo usuário e o
modo kernel (ou
supervisor).
Aplicação
3
Não utilizado
2
Não utilizado
1
Sistema Operacional
0
CPU Intel x86
18/25
6
Separação entre núcleo e as
aplicações
Nível
usuário
Aplicação
Aplicação
Aplicação
Aplicação
Núcleo
Nível
núcleo
Hardware
19/25
Chamadas de Sistema
• São portas de entrada para se ter acesso
ao núcleo do sistema operacional.
• Exemplo: quando o usuário deseja algum
serviço, realiza uma chamada a uma de
suas rotinas através de system calls
(chamadas ao sistema).
• Para cada serviço existe um system call
associada e cada sistema operacional tem
o seu próprio conjunto de chamadas.
20/25
System Calls
Aplicação
System Call
Núcleo
Núcleo
Hardware
21/25
7
Syscalls - Grupos de Função
• Gerência de Processos
– Criação e eliminação de processos, alteração das
características do processo e sincronização e
comunicação entre processos.
• Gerência de memória
– Alocação e desalocação de memória.
• Gerência de entrada/saída
– Operações de entrada e saída e manipulação de
arquivos e diretórios.
22/25
Chamada a uma rotina de acesso
23/25
Application Programming Interface
• Conjunto de chamadas de sistema
oferecidas por um núcleo é chamada de
API
– API Win32 (Windows)
– POSIX (Unix/Linux)
24/25
8
Dúvidas
• “O Mundo está cheio de apáticos, mas eu
não ligo.” (anônimo)
25/25
9
Download

Aula 05 - Marcos Laureano