Transcript
Page 1: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 1

Arquitetura de Sistemas Operacionais

Paulo Fonseca

Conceitos de Hardware e Software

Page 2: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 2

Sumário

• Hardware– Processador, memória principal, cache e

memória secundária– Dispositivos de E/S e barramento– Pipelining e arquiteturas RISC e CISC– 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

Page 3: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 3

Arquitetura do Sistema

Sistemas

de

Banco

Navegadores

Web

Reserva

de

Passagens

Compiladores

Interpretadores

de

Comando

Editores

SISTEMA OPERACIONAL

Dispositivos Físicos

Micro Arquitetura

Linguagem de Máquina

HARDWARE

APLICATIVOS

PROGRAMAS

DO

SISTEMA

Page 4: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 4

Processador / UCP

Registradores

Unidade Lógica

e Aritmética

(ULA)

Unidade de

ProcessamentoMemória

Principal

Dispositivos

de E/S

Page 5: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 5

Processador

• Unidade Central de Processamento

(UCP)

• Unicade de Controle (UC)

• Unidade Lógica e Aritmética (ULA)

• Clock

• Registradores

• CI ou PC

•AP ou SP

• PSW (registrador de status)

Page 6: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 6

Memória Principal

Memória principal - ou primária, ou real, é o local onde são

armazenados instruções e dados. A memória é composta por

unidades de acesso chamadas células que, por sua vez, são

compostas de um conjunto de bits. Atualmente, usa-se o byte

(com oito bits) como tamanho da célula porém, anteriormente, já

foram utilizados tamanhos de 16, 32 e até 60 bits.

O acesso ao conteúdo de uma célula é realizado através da

especificação de um número chamado endereço. O endereço é

uma referência única que se pode fazer a uma célula de memória.

Para se acessar uma célula deve-se primeiro especificar qual

deverá ser o endereço desejado para depois realizar a operação

respectiva (leitura ou escrita).

Page 7: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 7

10

2

2n -1

célula

Memória PrincipalA memória principal, primária ou secundária é o local onde

são armazenados instruções e dados.

A memória é composta por unidades de acesso chamadas

células, sendo que cada célula é composta por um determinado

número de bits.

1 2 3 4 5 6 7 8

bits

A quantidade de bits determina o tamanho da palavra

(ex. 8 bits, 16 bits, 32 bits e até mesmo 60 bits)

Endereços

O acesso ao conteúdo de uma

célula é realizado através da

especificação de um número

chamado endereço.

Page 8: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 8

Memória Principal

A especificação do endereço é feito através do registrador de endereço

de memória (memory address register - MAR). Pelo conteúdo deste

registrador, a UC sabe qual a célula de memória a ser acessada.

Outro registrador usado em operações com memória é o registrador de

dados da memória (memory buffer register - MBR), usado para

guardar o conteúdo de uma ou mais células de memória.

O número de células endereçadas na memória principal é limitado pelo

tamanho do MAR.

Se o MAR possuir n bits, só se poderá endereçar, no máximo, 2n

células.

A memória pode ser classificada em função de sua volatilidade, que é a

capacidade da memória preservar o seu conteúdo mesmo sem uma

fonte de alimentação ativa.

Page 9: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 9

Memória Cache

Memória cache – é uma memória volátil de alta velocidade, porém

com pequena capacidade de armazenamento.

O tempo de acesso a um dado nela contido é muito menor que se

estivesse na memória principal.

A memória cache armazena uma pequena parte do conteúdo da

memória principal.

Toda vez que o processador faz referência a um dado armazenado na

memória, é verificado, primeiramente, se ele se encontra na memória

cache.

Caso positivo (cache hit) não há necessidade de acesso à memória

principal, diminuindo assim o tempo de acesso.

Se o dado não está na cache, o acesso à memória principal é

obrigatório (cache miss).

Neste caso, o processador, a partir do endereço especificado transfere

um bloco de dados da memória principal para a cache.

Page 10: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 10

Memória secundária

Memória secundária – é um meio permanente, isto é, não-

volátil de armazenamento de programas e dados.

O acesso à memória secundária é lento, se comparado com o

acesso à memória principal, porém seu custo é baixo e sua

capacidade de armazenamento é bem superior.

Enquanto a unidade de acesso à memória secundária é da ordem

de milissegundos, o acesso à memória principal é de

nanossegundos.

Na figura seguinte, ilustra-se a relação entre os diversos tipos de

memória apresentados, comparando custo, velocidade e

capacidade de armazenamento.

Page 11: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 11

Memória

Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico

Disco Rígido

RAM

Cache

Registradores

Rápidos: 1nseg.

Componentes internos à

CPU

Capacidade: < 1Kb

Controlados por software

Page 12: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 12

Memória

Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico

Disco Rígido

RAM

Cache

RegistradoresRápida: 2nseg

Capacidade: <8Mb

Controlada por hardware

Page 13: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 13

Memória

Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico

Disco Rígido

RAM

Cache

RegistradoresRandom Access Memory

Rápida: 10nseg

Capacidade: 512MB-8GB

Volátil

Page 14: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 14

Memória

Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico

Disco Rígido

RAM

Cache

Registradores

Mais lento: 10mseg

Capacidade: 320GB – 1TB

Velocidades: 5400, 7200 ou

10800 rpm

Page 15: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 15

Memória

Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico

Disco Rígido

RAM

Cache

Registradores Backup

Capacidade: 20-100Gb (fita);

750Mb (disco ótico)

Page 16: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 16

Memória

Fita Magnética e Disco ÓticoFita Magnética/Disco Ótico

Disco Rígido

RAM

Cache

Registradores

Velocidade

de Acesso

Capacidade

de armazenamento

Page 17: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 17

Dispositivos de E/S

• Memória secundária

• Discos

• Fitas magnéticas

• Interface usuário-máquina

• Teclados

• Monitores

• Impressoras

• Plotters

Page 18: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 18

Barramentos

Um barramento de sistema consiste, tipicamente, de 50 a 100

linhas separadas.

A cada linha é atribuído um significado ou função particular.

Embora haja muitos tipos de barramentos, em qualquer

barramento as linhas podem ser classificadas em três grupos

funcionais (:): dados,

Dados

Endereços

Controle

Page 19: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 19

Alguns tipos de barramentos

• CPU-Memória– geralmente específicos

– curtos

– alta velocidade

• Barramentos de I/O– longo

– muitos dispositivos

– não tem interface direta com a memória

– pode ser padronizado

• Backplane– objetivo: barramento padrão para permitir a

interconexão de vários tipos de dispositivos

– pode ser padronizado

Page 20: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 20

Barram

en

tos

• aspectos de importância

• baixo custo

• flexibilidade

• gargalos

Page 21: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 21

Barramentos - exemplos

BarramentoCapacidade de transferência Velocidade de transferência Taxa de transferência

ISA XT 8 bits 8 MHz 8 MB/s

ISA AT 16 bits 8 MHz 8 MB/s*

VLB 32 bitsClock externo da CPU (Local

Bus)4 x Clock externo

PCI 64 bits 33 MHz 132 MB/s

Page 22: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 22

Diversos tipos de barramentos

– Cache

– Local

– Memória

– ISA (Industry Standard Architecture)

• Velocidade de 8,33Mhz;

• Taxa de Transferência de 2bytes (16 bits) por ciclo – 16,67Mb/seg

– PCI (Peripheral Component Interconnect)

• Sucessor do ISA;

• Intel;

• Velocidade de 66Mhz;

• Taxa de Transferência de 8bytes (64 bits) por ciclo – 528Mb/seg;

Page 23: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 23

Barramento

– SCSI (Small Computer System Interface);

• Alta performance – servidores;

• Taxa de Transferência de 160Mb/seg;

• Comum em máquinas Macintosh;

– IDE (Integrated Drive Eletronics);

• Usado para discos e CDROMs;

– USB (Universal Serial Bus);

• Taxa de Transferência de 1,5Mb/seg;

– AGP (Accelerated Graphics Port);

• Alta taxa de transferência;

• 3-D;

– VESA (Video Electronics Standards Association)

• usado para vídeo;

Page 24: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 24

Pipeline é Natural!

Exemplo da Lavanderia:

A B C DAna, Bernardo, Cátia e Davi têm cada um uma trouxa de roupas para lavar, secar e dobrar;

Lavagem leva 30 minutos;

Secagem leva 40 minutos;

Dobragem leva 20 minutos.

Page 25: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 25

Lavanderia Seqüencial

Lavanderia seqüencial: 6 horas para 4 cargas

Se aprendessem pipeline, quanto tempo levaria?

O

r

d

e

m

d

a

s

t

a

r

e

f

a

s

A

B

C

D

30 40 20 30 40 20 30 40 20 30 40 20

18 19 20 21 22 23 Meia noite

Tempo

Page 26: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 26

Lavanderia Seqüencial

Lavanderia seqüencial: 6 horas para 4 cargas

Se aprendessem pipeline, quanto tempo levaria?

O

r

d

e

m

d

a

s

t

a

r

e

f

a

s

A

B

C

D

30 40 20 30 40 20 30 40 20 30 40 20

18 19 20 21 22 23 Meia noite

Tempo

Page 27: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 27

Definições para Pipelines• Pipeline = em inglês, tubo, oleoduto

instruções entram numa ponta e são processadas na ordem de entrada

• Tubo é dividido em:

estágios ou segmentos

• Tempo que uma instrução fica no tubo:

latência

• Número de instruções executadas na unidade de tempo

desempenho ou “throughput”.

• Tempo que uma instrução permanece em um estágio

ciclo de máquinanormalmente, igual a um ciclo de relógio (excepcionalmente dois);

Page 28: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 28

Pipelining

Pipelining é uma técnica que permite ao processador

executar múltiplas instruções paralelamente em

estágios diferentes.

Se assemelha muito ao de uma linha de produção.

É empregado em sistemas com um ou mais

processadores, em diversos níveis, e tem sido a

técnica de paralelismo mais utilizada para aumentar o

desempenho dos sistemas computacionais.

Page 29: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 29

Arq. Pipeling em 4 estágios

tempo

Instr.1P1

Unidade de

Busca da

instrução

t0

Instr.2

Instr.1P2

Analisador

Da

instrução

t1

Instr.3

Instr.2

Instr.1P3

Unidade de

Busca dos

dados

t2

Instr.4

Instr.3

Instr.2

Instr.1P4

Unidade de

Execução da

instrução

t3

Instr.5

Instr.4

Instr.3

Instr.2

t4

Instr.6

Instr.5

Instr.4

Instr.3

t5

Instr.7

Instr.6

Instr.5

Instr.4

t6

Page 30: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 30

Linguagem de máquina

A linguagem de máquina de um computador é a linguagem de

programação entendida pelo processador.

Cada processador possui um conjunto definido de instruções de

máquina, definido pelo seu fabricante.

As instruções de máquinas fazem referências a detalhes, como

registradores, modos de endereçamento e tipos de dados, que

caracterizam um processador e suas funcionalidades.

Um programa escrito em linguagem de máquina para

um determinado processador não pode ser executado

em outra máquina com uma arquitetura diferente,

O conjunto de instruções de um processador é característica

específica da arquitetura.

Page 31: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 31

Arquitetura RISC

Um processador com arquitetura RISC ( Reduced Instruction

Set Computer) se caracteriza por:

possuir poucas instruções de máquinas, em geral

bastante simples, executadas diretamente pelo hardware.

Arquitetura CISC

Os processadores com arquitetura CISC (Complex Instruction

Set Computers) se carcteriza por:

possuir instruções complexas que são interpretadas

por microprogramas.

Page 32: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 32

Arquitetura RISCxCISCArquitetura RISC Arquitetura CISC

Poucas Instruções Muitas Instruções

Instruções executas pelo

hardware

Instruções executadas por

microcódigos

Instruções com formato

fixo

Instruções com diversos

formatos

Instruções utilizam poucos

ciclos de máquinas

Instruções utilizam

múltiplos ciclos

Instruções com pouco

modos de endereçamento

Instruções com diversos

modos de endereçamento

Arquitetura com muitos

registradores

Arquitetura com poucos

registradores

Arquitetura pipeling Pouco uso da técnica de

pipelinigEx.

SP

AR

C (

Su

n),

RS

-60

00 (

IBM

), P

A-R

ISC

(H

P),

Alp

ha

AX

P (

Co

mp

aq

) e

Rx

00

0 (

MIP

S).

Ex

. V

AX

(D

EC

), P

enti

um

(In

tel)

e 6

8xx

x

(Mo

toro

la).

Page 33: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 33

Máquinas de Níveis?

Linguagem de máquina

Linguagem de máquina

Microprogramação

Circuitos Eletrônicos Circuitos Eletrônicos

Utilitários Utilitários

Sistema Operacional Sistema Operacional

Aplicações Aplicações

Arquitetura RISC Arquitetura CISC

Page 34: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 34

Software

Para que o hardware tenha utilidade pública, deve

existir um conjunto de programas, utilizado como

interface entre as necessidades do usuário e as

capacidades do hardware. O uso de softwares

adequados às diversas tarefas e aplicações torna o

trabalho dos usuários muito mais simples e eficiente.

Usaremos o termo utilitário para fazer referência a

softwares relacionados mais diretamente com serviços

complementares do SO, como compiladores, linkers e

depuradores. Softwares desenvolvidos por usuários

serão denominados aplicativos ou aplicações.

Page 35: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 35

Tradutor

Tradutor: montador e compilador

programa fonte programa objetoTradutor

Compilador

Page 36: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 36

Interpretador

Tradutor que não gera módulo-

objeto

Traduz cada comando e executa

Desvantagem: tempo na tradução

Vantagem: dados dinâmicos

Exemplos: Basic e Perl

Page 37: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 37

Linker

Linker

Page 38: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 38

Loader

• Carregar na memória principal um

programa para ser executado

• Loader absoluto

• Loader relocável

Page 39: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 39

Depurador

• Permite acompanhar a execução de

um programa e detectar erros

• Visualização e alteração de variáveis

• Breakpoints

• Watchpoints

Page 40: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 40

Interpretador de comandos ou SHELL

• Interpretador de comandos ou shell

permite ao usuário interagir com o

sistema

• Linguagem de controle são os

comandos disponíveis pelo

interpretador

Page 41: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 41

Ativação/Desativação do SO

•Ativação do sistema - inicialmente, todo o código do

SO reside na memória secundária, como disco e fitas.

• Toda a vez que um computador é ligado, o SO tem que ser carregado na

memória principal.

• Esse procedimento, denominado ativação do sistema (boot), é realizado por

um programa localizado em um bloco específico do disco (boot block). O

procedimento de ativação varia em função do equipamento, podendo ser

realizado através do telcado, de um terminal ou no painel do gabinete do

processador .

Além da carga do SO, a ativação do sistema também consiste na execução de

arquivos de inicialização. Nestes arquivos são especificados procedimentos de

customização e configuração de hardware e software específicos para cada

ambiente.

Na maioria dos sistemas, também existe o processo de desativação

(shutdown). Este procedimento permite que as aplicações e componentes do

SO sejam desativados de forma ordenada, garantindo sua integridade.

Page 42: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 42

Ativação/Desativação do SO

• Ativação do sistema

Disco MemóriaPrincipal

boot

SistemaOperacional

Área doSistema

Operacional

Page 43: Apostila 2   conceitos de hardware e software

Conceito de Hardware e Software 43

Colaborações?

Críticas??

Dúvidas???

Sugestões????

Xingamentos?????