• Nenhum resultado encontrado

Aula 2 - Processador_Concorrencia

N/A
N/A
Protected

Academic year: 2021

Share "Aula 2 - Processador_Concorrencia"

Copied!
55
0
0

Texto

(1)
(2)

Vocês Lembram o que e SO?

(3)

Realizar um estudo comparativo entre 2

sistemas operacionais de mesmo

segmento presentes no mercado;

Apresentar Vantagens;

Apresentar Desvantagens ;

Uma Opinião Critica.

(4)

Grupos de no máximo 4 pessoas;

7 minutos por grupo;

Apresentação Próxima Aula dia

(5)

PROCESSADOR

Também denominado unidade central de processamento (UCP), gerencia todo o sistema computacional controlando as operações realizadas por cada unidade funcional.

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

A unidade de controle (UC) é responsável por gerenciar as

atividades de todos os componentes do computador, como a gravação de dados em disco ou a busca de instruções na memória.

(6)

A sincronização de todas as funções do processador e realizada através de um sinal de clock. Este sinal é um pulso gerado siclicamente (inicio, meio e fim) que altera variáveis de estado do processador. O sinal de clock é gerado a partir de um cristal de quartzo que, devidamente polarizado, oscila em uma determinada frequência estável e bem determinado.

(7)

PROCESSADOR

Os registradores são dispositivos com a função principal de

armazenar dados temporariamente. O conjunto de registradores funciona como uma memória de alta velocidade interna do

processador, porém com uma capacidade de armazenamento reduzida e custo maior que o da memória principal.

Alguns registradores podem ser manipulados diretamente por instruções (registradores de uso geral), enquanto outros são

responsáveis por armazenar informações de controle do processador e do sistema operacional (registradores de uso específico). Entre os registradores de uso específico, merecem destaque:

(8)

> o contador de instruções (CI) ou program counter (PC) contém o endereço da próxima instrução que o processador deve buscar e executar;

> o apontador da pilha (AP) ou stack pointer (SP) contém o

endereço de memória do topo da pilha, ,que é a estrutura de dados onde o sistema mantém informações sobre programas que estão sendo executados e tiveram que ser interrompidas;

> o registrador de status ou program status word (PSW) é responsável por armazenar informações sobre a execução de instruções, como a ocorrência de overflow.

(9)

MEMÓRIA PRINCIPAL

A memória principal, primária ou real é o local onde são armazenados instruções e dados, composta por unidades de acesso chamadas

células, sendo cada célula composta por um determinado número de bits (Unidade básica de memória, sendo 0 ou 1).

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

especificação de um número chamado endereço, que é uma referência única que podemos fazer a uma célula de memória.

A especificação do endereço é realizada através de um registrador denominado registrador de endereço de memória (memory address register – MAR).

(10)

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

registrador de dados da memória (memory buffer register – MBR). Este registrador é utilizado para guardar o conteúdo de uma ou mais células de memória, após uma operação de leitura, ou para guardar o dado que será transferido para a memória em uma operação de gravação.

A memória principal pode ser classificada em função de sua volatilidade.

RAM – (Random Access Memory) – são voláteis ROM – (Read-Only Memory) – não voláteis

(11)

MEMÓRIA CACHE

É uma memória volátil de ala velocidade, porém com pequena

capacidade de armazenamento. O tempo de acesso a um dado nela contido é muito menor que se o mesmo estivesse na memória

principal. O propósito da memória cache e diminuir a disparidade de velocidade de acesso entre o processador e a memória principal.

Um processador pode ser projetado com diversos níveis de cache, conforme especificação do fabricante. Como exemplos, o processador da Motorola Power PC G4 possui cache de nível 2, enquanto o

(12)

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 sempre energizada para manter suas informações, a

memória secundária não precisa de alimentação.

Caracterizam-se por ter capacidade de armazenamento superior ao da memória principal e o custo relativamente baixo, porém o tempo de acesso à memória secundária é bem superior ao da memória principal.

(13)

BARRAMENTO

O barramento ou bus é um meio de comunicação compartilhado que permite a comunicação entre as unidades funcionais de um sistema computacional. Através de condutores, informações como dados,

endereços e sinais de controle trafegam entre processadores, memórias e dispositivos de E/S.

(14)

BARRAMENTO

Os barramentos são classificados em três tipos:

> Barramento processador-memória: são de curta extensão e alta velocidade para que seja otimizada a transferência de

informação entre o processador e a memória.

> Barramento de E/S: Possuem maior extensão, são mais lentos e permitem a conexão de diferentes dispositivos.

> Barramento de backplane: Este faz a função de integrar os outros dois barramentos.

(15)

PIPELINING

Pipelining é uma técnica que permite ao processador

executar múltiplas instruções paralelamente em estágios

diferentes. O conceito de pipeline se assemelha muito a

uma linha de montagem, onde uma tarefa é dividida em

uma sequência de subtarefas, executadas dentro de uma

linha de produção.

(16)

PIPELINING

O processador, através de suas várias unidades funcionais de pipeline, funciona de forma a permitir que, enquanto uma instrução se encontra em fase de execução, uma outra instrução possa estar na fase de busca simultaneamente.

O pipelining pode ser 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

(17)

ARQUITETURA RISC e CISC

A linguagem de máquina de um computador é a linguagem que é realmente entendida pelo processador. Cada processador possui um conjunto de instruções de máquina, definido por seu fabricante, que fazem referências a detalhes, como registradores, modos de

endereçamento e tipos de dados, que caracterizam um processador e suas funcionalidades.

Um programa em linguagem de máquina pode ser diretamente executado por um processador, não requerendo qualquer tipo de tradução ou relocação. Quando escrito em linguagem de máquina de um determinado processador, um programa não pode ser executado em outra máquina de arquitetura diferente.

(18)

ARQUITETURA RISC e CISC

Um processador com arquitetura RISC (Reduced

Instruction Set Computer) se caracteriza por possuir

poucas instruções de máquina, em geral bastante simples,

que são executadas diretamente pelo hardware. (Fácil

implementação do pipeline por ter muitos registradores).

(19)

ARQUITETURA RISC e CISC

Os computadores com arquitetura CISC (Complex

Instruction Set Computers) já possuem instruções

complexas que são interpretadas por microprogramas.

(Difícil implementação do pipeline por ter poucos

(20)

ANÁLISE DE DESEMPENHO

Para avaliar o desempenho de processadores, diversas variáveis devem ser consideradas, entre as quais o intervalo de tempo entre os pulsos de um sinal de clock, conhecido como ciclo de clock.

A frequência de clock é o inverso do ciclo de clock e indica o número de pulsos elétricos gerados em um segundo.

O desempenho de um processador poder avaliado pela comparação dos tempos que processadores distintos levam para executar um mesmo programa, denominado tempo de UCP, que leva em consideração apenas o tempo para executar as instruções pelo processador, não incluindo a espera em operações de E/S.

(21)

TRADUTOR

Nos primeiros sistemas computacionais, o ato de programar era bastante complicado, já que o programador deveria possuir conhecimento da

arquitetura da máquina e programar em painéis através de fios. Esses programas eram desenvolvidos em linguagem de máquina e carregados diretamente na memória principal para execução.

(22)

Com o surgimento das primeiras linguagens de montagem ou assembly e das

linguagens de alto nível, o programador deixou de se preocupar com muitos aspectos pertinentes aos hardware, como em qual região da memória o programa deveria ser carregado ou quais endereços de memória seriam reservados para as variáveis.

Apesar das inúmeras vantagens proporcionadas pelas linguagens de montagem e de alto nível, os programas escritos nessas linguagens não estão prontos para ser

diretamente executados pelo processador (programas-fonte). Para isso eles precisão passar por uma etapa de conversão, onde toda representação simbólica das instruções é traduzida para código de máquina. Esta conversão é realizada por um utilitário

(23)

INTERPRETADOR

É considerado um tradutor que não gera módulo-objeto, a partir de um programa-fonte escrito em linguagem de alto nível, o interpretador, durante a execução do programa, traduz cada instrução e a executa imediatamente.

A maior desvantagem na utilização de interpretadores é o tempo gasto na tradução das instruções de um programa toda vez que este for executado, já que não existe a geração de um código executável.

LINKER

O linker ou editor de ligação é o utilitário responsável por gerar, a partir de um ou mais módulos-objeto, um único programa executável. Suas funções básicas são resolver todas as referências simbólicas existentes entre os módulos e reservar memória para a

(24)

LOADER

O loader ou carregador é o utilitário responsável por carregar na memória principal um programa para ser executado. O procedimento de carga varia com o código gerado pelo liker e, em função deste, o loader é classificado como sendo do tipo absoluto ou

relocável.

Absoluto: O loader necessita conhecer o endereço de memória inicial e o tamanho do módulo para realizar o carregamento, então, transfere o programa da memória

secundária para a memória principal e inicia sua execução.

Relocável: O programa pode ser carregado em qualquer posição de memória, e o loader é responsável pela relocação no momento do carregamento.

(25)

DEPURADOR

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

> acompanhar a execução do programa instrução por instrução; > possibilitar a alteração e a visualização do conteúdo de variáveis; > implementar pontos de parada dentro do programa (breakpointer); > etc.

(26)

o Sistemas Monoprogramáveis:

 Apenas um programa sendo executado a cada vez  Execução de um novo programa deve esperar o

encerramento do programa sendo executado

o Sistemas Multiprogramáveis:

 Permite a concorrência dos programas

 Execução de novos programas inicia-se durante a

(27)

 Sist. Monoprogramável x Multiprogramável

o Vantagens dos Sistemas Multiprogramáveis:

 Tempo total de execução de vários programas

torna-se menor

 Uso mais racional dos recursos

o Melhor aproveitamento do espaço de memória o Aproveitamento do processador durante

operações de E/S

o Cada programa (processo) ocupa uma fatia de

(28)

2

(a) Sistema Monoprogramável

tempo tempo

E/ S E/ S

UCP livre UCP 1 1

1

(29)

 Sist. Monoprogramável x Multiprogramável

Comparação entre monoprogramação e multiprogramação

Monoprogramação Multiprogramação Utilização de CPU 17% 33% Utilização da Memória 30% 67% Utilização do disco 33% 67% Utilização de Impressora 33% 67% Tempo total de processamento 30 min 15 min

(30)

Qual a vantagem então dos sistemas,

Multiprogramaveis?

Por que diminuir o tempo total de

processamento pode ser considerado

uma coisa boa?

(31)

 Sist. Monoprogramável x Multiprogramável o Troca de contexto:

 Mudança de um processo para outro faz com que

todo o conteúdo dos registradores seja trocado (estado do sistema)

 Quando um processo retorna à sua execução, todo o

contexto imediatamente anterior à sua saída deve ser recuperado

(32)

fornecer ao processador, ele tem duas

alternativas de comunicação:

1

– Aguardar até que o processador o

consulte

OBS: pode ser demorado caso o processador esteja

ocupado com outras tarefas (o que geralmente ocorre).

2

– Notificando o processador enviando

a ele uma requisição de INTERRUPÇÃO

(exceções).

(33)

 Interrupção e Exceção

o Durante a execução de um programa, alguns eventos

inesperados podem ocorrer, ocasionando um desvio forçado no fluxo de execução

 Sinalização de operação de E/S de dispositivo

externo (interrupção)

 Problemas decorrentes da execução de instruções

do programa (exceção)

o Ao final de cada instrução, a UC verifica a ocorrência

de interrupção ou exceção

o Processador interrompe o programa em execução para

(34)
(35)

 Interrupção e Exceção

o Mecanismo de interrupção

 Sinal de interrupção gerado para o processador  Processador termina a instrução corrente e

identifica qual interrupção foi gerada

 Registradores PC e de status são salvos, PC recebe

endereço inicial da rotina de tratamento

 Rotina de tratamento salva demais conteúdos de

registradores na pilha de controle e é executada

 Após o término, todos os registradores são

(36)

o Para cada tipo de interrupção existe uma rotina de

tratamento associada para a qual o fluxo de execução é desviado

o Dois métodos para tratamento de interrupções  Vetor de interrupção

o Contém o endereço inicial de todas as rotinas

de tratamento p/ cada tipo de evento

 A partir de um registrador de status

o Uma única rotina que verifica o tipo de evento e

(37)

 Interrupção e Exceção

o Interrupções são decorrentes de eventos assíncronos,

sem relação com o programa corrente

 Podem ocorrer múltiplas vezes num mesmo

intervalo de tempo (simultaneamente)

 Rotina de tratamento pode desabilitar tratamento

das demais interrupções

o Interrupções mascaráveis

 Demais interrupções podem ser enfileiradas

(38)

o Exceções são eventos síncronos, resultado direto da

execução do programa corrente

 Divisão por zero

 Overflow em operação aritmética

o São previsíveis e só podem ocorrer um de cada vez o Tratamento equivalente ao da interrupção

o Rotina de tratamento para uma determinada exceção

(39)

39

Definição : “São desvios forçados no fluxo de execução de um

programa.

>Podem ocorrer devido a eventos:

Externos:

Evento externo ao Sistema Operacional

Sinalização de algum dispositivo de Hardware.

Causados pelo usuário ou operador do sistema

Pode ser:

Temporária: o operador da um pause (HOLD ou STOP) na execução do programa,

executa um outro programa e ao final retorna a execução do programa interrompido. • Definitiva: queda de luz.

(40)

40

programa.

Ex: Solicitação do próprio programa por I/O ou

porque o programa demorou muito tempo para

ser executado.

Também pode ser:

Temporárias: para e retorna após um processamento de um I/O, por

exemplo.

Definitiva: Para mas não retorna devido a um erros como divisão por zero

(41)
(42)

42

Interrupção de HARDWARE:

Ocorre em decorrência a um dispositivo de hardware

externo ao processador ou algum temporizador.

Exemplos:

mouse, teclado, dispositivos de E/S

(43)

43

Interrupção por Excessão:

Ocorre em consequência de algum erro durante a

execução de algum programa. Podem ser:

Erros aritméticos: Ex: divisões por zero..., overflow

(erros de acesso à memória), estouro de buffer....

Erros relacionados à segurança: Ex: tentativa de acesso

ilegal à memória, tentativa de execução de instrução

privilegiada do administrador do sistema.

(44)

44

É quando um programa ou aplicativo solicita ao

processador algum recurso de hardware.

Exemplos: Leitura de gravação de arquivos, leitura do

teclado, impressão na tela, etc...

(45)
(46)

o Antes, instruções de E/S específicas para cada periférico

eram executadas pela CPU

o Surgimento do controlador de dispositivo desonerou o

processador e permitiu maior agilidade

o Processador não mais se comunica diretamente com o

dispositivo, somente via controlador

 Instruções de E/S mais simplificadas

 Inicialmente operava em modo busy-wait,

posteriormente fazendo polling nos dispositivos, finalmente se valendo de interrupção para avisar término da operação de E/S

(47)

Memória Principal UCP Controlador Dispositivos de E/ S  Operações de Entrada/Saída

(48)

o Transferência de grande volume de dados entre

controladora e MP onera por demais o processador

o Solução usando DMA – Direct Memory Access

 Permite que dados sejam transferidos entre

controladoras e MP sem intervenção do processador, exceto no início e no final

 Área de memória usada pelo controlador de DMA é

chamada buffer de entrada/saída

 Controle de barramento assumido

temporariamente pelo DMA, processador limitado a acessar caches

(49)

 Canal de E/S

o Introduzido pela IBM no sistema 7094

o Canal de E/S é um processador com capacidade de

executar programas de E/S e controle total dos dispositivos

o Instruções de E/S armazenadas na MP ou no canal de

E/S, porém executadas pelo canal de E/S

 Processador instrui o canal de E/S a executar um

programa de canal, responsável por especificar dispositivos, buffers e ações

 Ao final da transferência, gera interrupção o Pode controlar múltiplos dispositivos de E/S

(50)

Memória Principal UCP Canal de E/ S Controlador Dispositivos de E/ S Controlador Dispositivos de E/ S

(51)

 Buffering

o Consiste em utilizar uma área na memória principal para

transferência de dados entre dispositivos de E/S e a MP

o Numa operação de leitura do dispositivo:

 Dado é transferido para buffer sem onerar o

processador, dispositivo fica liberado após conclusão

o Numa operação de gravação p/o dispositivo:

 Dado é escrito rapidamente no buffer, liberando o

processador para outras atividades enquanto este é gravado no dispositivo.

(52)

Memória Principal UCP Buffer gravação gravação leitura leitura Controlador

(53)

 Buffering

o Unidade de transferência é o registro, cujo tamanho

depende do tipo de dispositivo

 Vários registros podem ser armazenados num buffer  Buffer conterá dados lidos mas ainda não

processados, ou dados processados mas ainda não gravados

o Buffering minimiza problemas decorrentes da

disparidade de velocidades, compatibilizando tempos de acesso de maneira que processador e dispositivo de E/S não fiquem ociosos

(54)

o Simultaneous Peripheral Operation On-line, introduzido

no fim dos anos 1950

o Técnica usa uma área do disco (arquivo) para buffering

de impressão

o Tudo que é submetido para impressão vai para o

arquivo de spool, liberando o programa de origem

o SO é quem gerencia os jobs de impressão

Programa Arquivo Impressora

de Spool

Sistema Operacional

(55)

Reentrância  Capacidade de um código executável ser compartilhado por diversos usuários, exigindo que apenas uma cópia do programa esteja na memória.

Memória Principal código reentrante área de dados do usuário A

usuário A usuário C

usuário B usuário D

área de dados do usuário B área de dados do usuário C área de dados do usuário D

Referências

Documentos relacionados

xii) número de alunos matriculados classificados de acordo com a renda per capita familiar. b) encaminhem à Setec/MEC, até o dia 31 de janeiro de cada exercício, para a alimentação de

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron & Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

A partir das hipóteses presentes na literatura referente ao efeito incremental e à importância da majoração da inércia das vigas de transição para obter valores de esforços para

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

Outros problemas observados foram o do espaço físico das empresas serem muito restritos ao número de funcionários, a iluminação não atender às normas, o ruído em certas