Sistemas Operacionais – Aula...

40
Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11 Sistemas Operacionais – Aula 2 1/38 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE

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 22

O que fazer com essa apresentação

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 / Primórdios / Estática

18/38

Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11

Memória / Dinâmica

19/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

Linker

Linker

32/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

Anderson Moreira Sistemas Operacionais – Aula 2

Dúvidas?

junho de 11

Anderson Moreira Sistemas Operacionais – Aula 2 junho de 11

Não percam no próximo episódio!

Estrutura dos Sistemas Operacionais;

E muito mais!

Dúvidas?

38/38