Sistemas Operacionais – Aula...
Transcript of Sistemas Operacionais – Aula...
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Sistemas Operacionais – Aula 2
1/38
Anderson L. S. [email protected]
http://dase.ifpe.edu.br/~alsm
Curso de Análise e Desenvolvimento de Sistemas de Informação
Recife - PE
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Créditos
Professor: Anderson L. S. MoreiraDisciplina: Sistemas OperacionaisHome-page: http://dase.ifpe.edu.br/~alsm
Aula 2 que visa apresentar ao aluno conceitos de hardware e software passando as noções de memória, discos, dispositivos de E/S, entre outros.
2/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Agenda
Hardware Processador, memória principal, cache e
memória secundária Dispositivos de E/S e barramento Pipelining Análise de desempenho
Software Tradutor, interpretador e linker Loader e depurador Interpretador de comandos e linguagem de
controle Ativação/desativação do sistema
3/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Hardware
Sistema computacional
MemóriaPrincipal
Dispositivosde E/ S
Processador / UCP
Unidade Lógicae Aritmética
Registradores
Unidade deControle
4/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Processador
Unidade Central de Processamento (UCP)Unicade de Controle (UC)Unidade Lógica e Aritmética (ULA)ClockRegistradores CI ou PC AP ou SP PSW (registrador de status)
5/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Processador / Arquitetura Básica
Unidade de Controle e de Processamento;
Diferenças Unidade de
Processamento é genérica;
Unidade de controle não armazena algoritmo (memória).
Processor
Control unit Datapath
ULA
Registers
IRPC
Controller
Memory
I/O
Control/Status
6/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Operações de Processamento
Load Cópia de memória
em registradorOperação na ULA Valores em
Registradores são processados pela ULA e armazenados em registrador
Store Cópia de
registrador em memória
Processor
Control unit Datapath
ULA
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...
10
+1
11
11
7/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Unidade de Controle
Ciclo de Instrução – várias sub-operações (cada uma em um ciclo de relógio) Busca: armazena
instrução em IR, atualiza PC
Decodificação: determina o que a instrução significa
Busca de Operandos: cópia de dados da memória para registradores na unid. Processamento
Execução: Processa dados na ALU
Armazena resultados: escreve resultados de registrador na memória
Processor
Control unit Datapath
ULA
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...load R0, M[500] 500
501
100inc R1, R0101
store M[501], R1102
R0 R1
8/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Sub-operações da Unidade de Controle
Busca Cópia da
instrução em IR; PC: Contador de
programa aponta para próxima instrução;
IR: armazena instrução que foi buscada.
Processor
Control unit Datapath
ULA
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...load R0, M[500] 500
501
100inc R1, R0101
store M[501], R1102
R0 R1100 load R0, M[500]
9/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Sub-operações da Unidade de Controle
Decodificação Determina
significado da instrução;
Processor
Control unit Datapath
ULA
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...load R0, M[500] 500
501
100inc R1, R0101
store M[501], R1102
R0 R1100 load R0, M[500]
10/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Sub-operações da Unidade de Controle
Busca de Operandos Cópia de dados
da memória para registradores no datapath;
Processor
Control unit Datapath
ALU
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...load R0, M[500] 500
501
100inc R1, R0101
store M[501], R1102
R0 R1100 load R0, M[500]
10
11/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Sub-operações da Unidade de Controle
Execução Processa dados
na ALU (Para esta
instrução em particular nada acontece durante esta sub-operação)
Processor
Control unit Datapath
ALU
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...load R0, M[500] 500
501
100inc R1, R0101
store M[501], R1102
R0 R1100 load R0, M[500]
10
12/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Sub-operações da Unidade de Controle
Armazena resultados Escreve dado de
registrador em memória
(Para esta instrução em particular nada acontece durante esta sub-operação)
Processor
Control unit Datapath
ALU
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...load R0, M[500] 500
501
100inc R1, R0101
store M[501], R1102
R0 R1100 load R0, M[500]
10
13/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Ciclos de uma Instrução
Processor
Control unit Datapath
ALU
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...load R0, M[500] 500
501
100inc R1, R0101
store M[501], R1102
R0 R1
PC=100
10
Fetch ops
Exec. Store results
clk
Fetch
load R0, M[500]
Decode
100
14/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Ciclos de uma Instrução
Processor
Control unit Datapath
ALU
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...load R0, M[500] 500
501
100inc R1, R0101
store M[501], R1102
R0 R110
PC=100Fetch Decode Fetch
opsExec. Store
resultsclk
PC=101
inc R1, R0
Fetch Fetch ops
+1
11
Exec. Store results
clk
101
Decode
15/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Ciclos de uma Instrução
Processor
Control unit Datapath
ALU
Registers
IRPC
Controller
Memory
I/O
Control/Status
10...
...load R0, M[500] 500
501
100inc R1, R0101
store M[501], R1102
R0 R11110
PC=100Fetch Decode Fetch
opsExec. Store
resultsclk
PC=101Fetch Decode Fetch
opsExec. Store
resultsclk
PC=102store M[501], R1
Fetch Fetch ops
Exec.
11
Store results
clk
Decode
102
16/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Considerações da Arquitetura
Processador de N-bits ALU, registradores,
barramento, interface de memória N-bits
Comum em aplic. emb: 8-bit, 16-bit, 32-bit
Comum em Desktop/servidores: 32-bit, ou 64
Tamanho do PC determina espaço de endereçamento
Processor
Control unit Datapath
ALU
Registers
IRPC
Controller
Memory
I/O
Control/Status
17/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Memória Principal
Memória principal com 64 Kbytes
célula = 8 bits
ende
reço
s
0
2 -116
21
instrução ou dado
20/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Memória Cache
VolátilAlta velocidadePequena capacidadeAlto custoCache hit e cache miss
21/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Memória Secundária
Rel. dispositivos de armazenamento
maiorcapacidade de
armazenamento
maior custo evelocidadede acesso
Memória Secundária
Memória Cache
Memória Principal
Registradores
22/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Dispositivos de E/S
Memória secundária Discos Fitas magnéticas
Interface usuário-máquina Teclados Monitores Impressoras Plotters
23/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Barramento
Barramentos UCP-memória-E/S
Barramento processador-memória
Barr
amen
to d
e E/
S
Barr
amen
to d
e E/
S
Adaptador Adaptador
MemóriaPrincipalUCP
24/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Barramento
Barramento de backplane
Barramento processador-memória
Barr
amen
to d
e E/
S
Barr
amen
to d
e E/
S
Adaptador Adaptador
MemóriaPrincipalUCP
Adaptador
Barr
amen
tode
bac
kpla
ne
25/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Pipelining
Pipeline em quatro estágios
Unidade de busca dainstrução
P1 P4P3P2
Analisadorda
instrução
Unidade de busca dos
dados
Unidade de execução da
instrução
Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6 Instr.7
Instr.1 Instr.2 Instr.3 Instr.4 Instr.5 Instr.6
Instr.1 Instr.2 Instr.3 Instr.4 Instr.5
Instr.1 Instr.2 Instr.3 Instr.4
P1
P2
P3
P4
tempo
26/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Tradutor
Tradutor: montador e compilador
programa fonte programa objetoTradutor
Compilador
27/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Interpretador
Tradutor que não gera módulo-objetoTraduz cada comando e executaDesvantagem: tempo na traduçãoVantagem: dados dinâmicosExemplos: Basic e Perl
28/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Continuação
Interpretador: tradutor que funciona em tempo de execução. Estes programas traduzem programas codificados em linguagem de alto nível para um código intermediário e o coloca em execução.•Exemplos:
– o run do Pascal ou C;– Java: sistemas distribuídos, diferentes
equipamentos; (bytecode)» Cerca de 10 vezes mais lento que
um código compilado C++;» Pode ser interpretado em
plataformas diferentes;
Programa Fonte Código Intermediário em Execução
Interpretador
29/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Tradutor / Interpretador
Conceitos acerca da compilação: Tradutor: programa que transforma um programa
fonte escrito numa linguagem em um programa equivalente escrito em uma linguagem diferente;
Pré-processador: programa que transforma um programa escrito em uma linguagem estendida em um programa equivalente escrito em linguagem original;
Prog. Linguagem A Prog. Linguagem BTradutor
Prog. Linguagem Estendida
Prog. Linguagem OriginalPré-
processador
Compilador
30/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Montador
Montador: tradutor que transforma um programa escrito em uma linguagem simbólica (de baixo nível) em instruções equivalentes em linguagem de máquina;
Prog. Linguagem Simbólica
Instruções em Linguagem de
Máquina
Montador
Alto nívelSimbólica Instruções em Ling. de Máquina
b := a+2;MOV a, R1
ADD #2, R1
MOV R1, b
0001 0100 00000000
0011 0110 00000010
0010 0100 00000100
Compilação
Montagem
nx1 1x1
31/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Loader
Carregar na memória principal um programa para ser executadoLoader absolutoLoader relocável
33/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Depurador
Permite acompanhar a execução de um programa e detectar errosVisualização e alteração de variáveisBreakpointsWatchpoints
34/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Interpretador de Comandos
Interpretador de comandos ou shell permite ao usuário interagir com o sistemaLinguagem de controle são os comandos disponíveis pelo interpretador
35/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Interpretador de Comandos
Sistema Operacional
Interpretador de comandos
Outros módulos do SO
Programas Aplicativos
Executa programas Interpreta comandos
Cria arquivos Carrega programas
Outros comandos
Memória Principal
36/38
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11
Ativação/Desativação do SO
Ativação do sistema
Disco MemóriaPrincipal
boot
SistemaOperacional
Área doSistema
Operacional
37/38