aula 03 - cap. 2 - conceitos de hardware e software [modo ... · à memória principal, porém seu...

18
1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 03 Conceitos básicos de Sistemas Operacionais Hardware Software Concorrência 2

Upload: nguyenngoc

Post on 15-Oct-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

1

Sistemas OperacionaisProf. Esp. André Luís BeliniBacharel em Sistemas de InformaçõesMBA em Gestão Estratégica de Negócios

Aula 03

• Conceitos básicos de Sistemas Operacionais• Hardware • Software• Concorrência

2

2

Hardware

• Um sistema computacional é um conjunto de circuitoseletrônicos interligados, formado por processadores, memórias, registradores, barramentos, monitores de vídeo, impressoras, mouse, discos magnéticos, além de outros dispositivos físicos (hardware).

• Todos esses dispositivos manipulam dados na forma digital, o que proporciona uma maneira confiável de representação e transmissão de dados.

3

Processador

• O processador, também denominado Unidade Central de Processamento (UCP ou CPU), gerencia todo o sistema computacional controlando as operaçõesrealizadas por cada unidade funcional.

• A principal função do processador é controlar e executarinstruções presentes na memória principal, através de operações básicas como somar, subtrair, comparar e movimentar dados.

4

3

5

Sistema Computacional

MemóriaPrincipal

Dispositivosde E/S

Processador / UCP

Unidade Lógicae Aritmética

Registradores

Unidade deControle

• Cada processador é composto por uma unidade decontrole, unidade lógica e aritmética e registradores.

• A unidade de controle (UC) é responsável por gerenciaras atividades de todos os componentes docomputador.

• A unidade lógica e aritmética (ULA), é responsável pelarealização de operações lógicas (testes ecomparações) e aritméticas (somas e subtrações)

• A sincronização de todas as funções do processador érealizada através de um sinal de clock, que é gerado apartir de um cristal de quartzo que, devidamentepolarizado, oscila em uma determinada frequênciaestável e bem determinada.

6

4

Registradores

• Registradores são dispositivos com a função principal dearmazenar dados temporariamente.

• O conjunto de registradores funciona como umamemória de alta velocidade interna do processador,porém com uma capacidade de armazenamentoreduzida e custo maior que o da memória principal.

• O número de registradores e sua capacidade dearmazenamento variam em função da arquitetura decada processador.

• Alguns registradores podem ser manipulados porinstruções (Registradores de uso geral), enquantooutros são responsáveis por armazenar instruções decontrole do processador e do S.O. (Registradores deuso específico)

7

Registradores de uso específico

• Contador de Instruções (CI) ou Program Counter (PC):contém o endereço da próxima instrução a serrealizada. Toda vez que o processador busca uma novainstrução, este registrador é atualizado com o endereçode memória da instrução seguinte a ser executada.

• Apontador de Pilha (AP) ou Stack Pointer (SP): contémo endereço de memória do topo da pilha, que é aestrutura onde o S.O. mantém informações sobreprogramas que estão sendo executados e tiveramque ser interrompidos.

• Registradores de Status ou Program Status Word(PSW): responsável por armazenar informaçõessobre a execução de instruções, como a ocorrênciade overflow

8

5

Memória Principal

• Memória principal, primária ou real é o local onde sãoarmazenados instruções e dados.

• A memória é composta por unidades de acessochamadas células, sendo cada célula composta por umdeterminado número de bits.

• O bit é a unidade básica de medida, podendo assumir ovalor lógico 0 ou 1

• O acesso ao conteúdo de uma célula é realizado atravésda especificação de um número, chamado endereço.

• O endereço é uma referência única que podemosfazer a uma célula de memória.

• Quando um programa deseja ler ou escrever um dadoem uma célula, deve primeiro especificar qual oendereço desejado.

9

10

Memória Principal com 64 Kbytes

célula = 8 bits

endere

ços

0

2 -116

2

1

instrução ou dado

6

• A especificação do endereço é realizada através de umregistrador denominado Registrador de Endereço deMemória (MAR)

• Outro registrador usado em operações com a memória éo Registrador de Dados de Memória (MBR)

• Este registrador (MBR) é utilizado para guardar oconteúdo de uma ou mais células de memória, apósuma operação de leitura, ou para guardar o dado queserá transferido para a memória em uma operação degravação.

11

Memória Cache

• A memória cache é uma memória volátil e de altavelocidade, porém com pequena capacidade dearmazenamento.

• O tempo de acesso a um dado nela contido é muitomenor que se o mesmo estivesse na memória principal.

• O propósito do uso da memória chace é minimizar adisparidade existente entre a velocidade com que oprocessador executa instruções e a velocidade com quedados são lidos e gravados na memória principal.

• A capacidade de armazenamento das memórias cacheé limitada em função do seu alto custo.

12

7

Localidade

• Localidade é a tendência do processador, ao longo daexecução de um programa, referenciar instruções edados na memória principal, localizados em endereçospróximos.

• Esta tendência é justificada pela alta incidência deestruturas de repetição e acesso a estruturas de dadoscomo vetores e tabelas.

13

Memória Secundária

• A memória secundária é um meio permanente, isto é,não volátil de armazenamento de programas e dados.Enquanto a memória principal precisa estar sempreenergizada para manter suas informações, a memóriasecundária não precisa de alimentação.

• O acesso à memória secundária é lento, se comparadoà memória principal, porém seu custo é baixo e suacapacidade de armazenamento é bem superior.

• Exemplos: Hard disk, fitas magnéticas, cds, dvds, pendrives, etc.

14

8

Dispositivos de Entrada e Saída (E/S)

• Os dispositivos de Entrada e Saída (E/S) são utilizadospara permitir a comunicação entre o sistemacomputacional e o mundo externo, e podem serdivididos em duas categorias: os que são utilizadoscomo memória secundária e os que servem de interfaceusuário-máquina.

• Dispositivos utilizados como memória secundária:discos, fitas, pen drives, etc.

• Dispositivos utilizados como interface de comunicação:teclados, monitores, impressoras, etc.

15

16

Relação entre Dispositivos de Armazenamento

maiorcapacidade de

armazenamento

maior custo evelocidadede acesso

Memória Secundária

Memória Cache

Memória Principal

Registradores

9

Barramento

• Barramento ou bus é um meio de comunicaçãocompartilhado que permite a comunicação entre asunidades funcionais de um sistema computacional.

• Através dos condutores (barramentos), informaçõescomo dados, endereços e sinais de controle trafegamentre processadores, memórias e dispositivos de E/S.

• Em geral, um barramento possui linhas de controle elinhas de dados.

• Linhas de controle: informações de sinalização (tipo deoperação a ser realizada).

• Linhas de dados: informações como instruções(operandos e endereços)

17

Subdivisão dos barramentos

• Barramento processador-memória: curta extensão e altavelocidade, para que sejam otimizadas a transferênciade informação entre processadores e memórias.

• Barramento de E/S: possuem extensão maior, são maislentos e permitem a conexão de diferentes dispositivos.

• Barramento de backplane: normalmente utilizados emarquiteturas de alto desempenho. Sua principalvantagem é reduzir o número de adaptadores existentesno barramento processador-memória, otimizando odesempenho.

18

10

19

Barramentos Processador-Memória e de E/S

Barramento processador-memória

Barr

am

en

to d

e E/

S

Barr

am

en

to d

e E/

S

Adaptador Adaptador

MemóriaPrincipal

UCP

20

Barramento de Backplane

Barramento processador-memória

Barr

am

ento

de E

/S

Barr

am

ento

de E

/S

Adaptador Adaptador

MemóriaPrincipalUCP

Adaptador

Barr

am

ento

de

ba

ckp

lan

e

11

Pipelining

• Pipelining é uma técnica que permite ao processadorexecutar múltiplas instruções paralelamente em estágiosdiferentes (semelhante a uma linha de montagem).

• O pipelining pode ser empregado em sistemas com umou mais processadores, em diversos níveis, e tem sido atécnica de paralelismo mais utilizada para aumentar odesempenho dos sistemas computacionais.

21

22

Arquitetura Pipeline com 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

12

Arquiteturas RISC e CISC

• A linguagem de máquina de um computador é alinguagem de programação que realmente é entendidapelo processador.

• Cada processador possui um conjunto definido deinstruções de máquina, definidos pelo seu fabricante.

• As instruções de máquina fazem referências a detalhes,como registradores, modos de endereçamento e tiposde dados, que caracterizam um processador e suasfuncionalidades.

• Um programa em linguagem de máquina pode serdiretamente executado pelo processador, nãorequerendo qualquer tipo de tradução ou relocação.

23

• RISC (Reduced Instruction Set Computer): secaracteriza por possuir poucas instruções de máquina,em geral, bastante simples, que são executadasdiretamente pelo hardware.

• CISC (Complex Instruction Set Computer): possueminstruções complexas que são interpretadas pormicroprogramas. O número de registradores é pequeno,e qualquer instrução pode referenciar a memóriaprincipal

24

13

25

Arquitetura RISC x Arquitetura CISC

Utiltários

Circuitos Eletrônicos

Microprogramação

Linguagem de Máquina

Arq

uitet

ura

RIS

C

Sistema Operacional

Aplicativos

Análise de desempenho

• Fazem parte dos critérios de análise de desempenho deum processador:

• Intervalo de tempo entre os pulsos de um sinal de clock,conhecido como ciclo de clock;

• A frequência do clock é o inverso do ciclo de clock eindica o número de pulsos elétricos gerados em umsegundo.

• A medida da frequência é dada em hertz (Hz) ou seusmúltiplos: kHz, MHz.

• O desempenho de um processador pode ser avaliadopela comparação dos tempos que processadoresdistintos levam para executar um mesmo programa.Esse tempo é chamado de tempo de UCP.

26

14

Software

• Para que o hardware tenha utilidade prática, deve existirum conjunto de programas utilizado como interface entreas necessidades do usuário e as capacidades dohardware.

• Utilitários: softwares diretamente relacionados com osserviços complementares do S.O., tais como:compiladores, linkers e depuradores.

• Os softwares desenvolvidos pelos usuários sãodenominados aplicativos ou apenas aplicações.

27

Tradutor

• É o utilitário responsável por fazer a conversão entre umprograma de alto nível (linguagem usada naprogramação de softwares aplicativos), para alinguagem de máquina (instruções interpretadasdiretamente pelo hardware, como por exemplo, alinguagem Assembly.

• O módulo gerado pelo tradutor é denominado demódulo-objeto, que, apesar de estar em código demáquina, na maioria das vezes não pode ser aindaexecutado. Isso ocorre em função das sub-rotinasexternas, e, nesse caso, o tradutor não tem comoassociar o programa principal às sub-rotinas chamadas.

• O linker é o utilitário responsável por fazer essaassociação.

28

15

• Montador (assembler) é o utilitário responsável porproduzir um programa-fonte em linguagem demontagem em um programa-objeto não executável(módulo-objeto).

• A linguagem de montagem é particular para cadaprocessador, assim como a linguagem de máquina, oque não permite que programas assembly possam serportados entre máquinas diferentes.

• Compilador: é o utilitário responsável por gerar, a partirde um programa escrito em linguagem de alto nível, umprograma em linguagem de máquina não executável.

29

30

Tradutor

programa fonte programa objetoTradutor

Compilador

16

Interpretador

• O interpretador é considerado um tradutor que não geramódulo-objeto. A partir de um programa-fonte escrito emlinguagem de alto nível, o interpretador, durante aexecução do programa, traduz cada instrução e aexecuta imediatamente.

• Desvantagem: tempo gasto na tradução das instruçõesde um programa toda vez que este for executado.

31

Linker

• O linker ou editor de ligação é o utilitário responsável porgerar, a partir de um ou mais módulos-objeto, um únicoprograma executável.

32

17

Loader

• Loader ou carregador é o utilitário responsável porcarregar na memória principal um programa para serexecutado.

• Código executável absoluto: o loader necessitaconhecer o endereço de memória inicial e o tamanho domódulo para realizar o carregamento.

• Código executável realocável: o programa pode sercarregado de qualquer posição, e o loader éresponsável pela relocação no momento docarregamento.

33

Depurador

• O depurador (debugger) é o utilitário que permite aousuário acompanhar toda a execução de um programa afim de detectar erros na sua lógica. Este utilitário ofereceao usuário recursos como:

• Acompanhar a execução de um programa, instrução ainstrução;

• Possibilitar a visualização e alteração do conteúdo dasvariáveis;

• Implementar pontos de parada (breakpoint);• Enviar mensagens toda vez que o conteúdo de uma

viarável for modificado (watchpoint)

34

18

35

Ativação do Sistema

Disco MemóriaPrincipal

boot

SistemaOperacional

Área doSistema

Operacional

Prof. André Luís Belini E-mail: [email protected]

Blog: http://profandreluisbelini.blogspot.com/