Arquitetura de
Sistemas
Operacionais
Professor Sandro Teixeira Pinto E-mail: sandro.pinto@unifil.br
Hardware
Hardware ou sistema computacional é um conjunto de circuitos eletrônicos
interligados, formados por processadores, memórias, registradores, barramentos,
monitores de vídeo, impressoras, mouse, discos magnéticos, além de outros
dispositivos físicos.
Hardware
Todos os sistemas computacionais são agrupados em três subsistemas básicos chamados de:
Unidades funcionais
• Processador
• Memória principal
• Dispositivos de entrada e saída
Hardware - Processador
Também denominado unidade central de
processamento(UCP), gerencia todo o sistema computacional controlando as operações
realizadas por cada unidade funcional.
A principal função do processador é controlar e executar instruções presentes na memória
principal, através de operações básicas como somar, subtrair, comparar e movimentar dados.
Hardware - Processador
Cada processador é composto por :
• Unidade de controle – UC
• Unidade Lógica Aritmética – ULA
• Registradores
Hardware – Processador
UC – responsável por gerenciar as atividades de todos os componentes do computador. ULA – responsável pela realização de
operações lógicas ( testes e comparações) e aritméticas (somas e subtrações).
Registradores – Função principal de armazenar dados temporariamente.
Hardware – Processador-
Registradores
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).São três os principais:
Hardware – Processador-
Registradores
CI – contador de instruções – contém o endereço da próxima instrução que o processador deve buscar e executar.
AP – apontador da pilha – Contém o endereço de memória sobre programas que estão sendo
executados e tiveram que serem interrompidos. Registrador de status – é responsável por armazenar
informações sobre execução de instruções.
Hardware – Memória Principal
A memória principal ou real é o local onde são armazenados instruções e dados. A memória é composta por unidades de acesso chamadas de células, sendo cada célula composta por um determinado número de 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 podemos fazer a uma célula de memória.
Hardware – Memória Principal
A especificação do endereço é realizada através de um registrador denominado:
Registrador de Endereço de memória(memory Address register – MAR).Usado pela UC.
O número de células endereçadas na memória principal é limitado pelo tamanho do MAR.
Hardware – Memória Principal
Outro registrador usado em operações com a
memória é o registrador de dados da memória: MBR= (memory buffer register)
Este registador é usado para guardar o conteúdo de uma ou mais células de memória, após uma
operação de leitura, ou guardar o dado que será transferido para memória em uma operação de gravação.
Hardware – Memória Principal
A memória principal pode ser classificada em função de sua volatilidade, que é a
capacidade de a memória preservar o seu conteúdo mesmo sem um fonte de
alimentação ativa.
RAM – ( Random Access Memory )-voláteis ROM – ( Read Only Memory ) - não voláteis
Hardware – Memória Cache
Os dois quadrados citados como L1 e L2 são a cache. A memória cache hoje é composta por dois níveis separados de cache: a cache primária (L1) e a cache secundária (L2) que estão presentes em todos os processadores atuais.
Hardware – Memória Cache
A hierarquia da cache em múltiplos níveis é uma solução para aumentar o desempenho no
funcionamento das memórias caches. O nível de cache mais alto é chamado de L1(level 1), com baixa capacidade de armazenamento porém com altíssima velocidade de acesso.O segundo nível, L2, possui maior capacidade de armazenamento porém com velocidade de acesso inferior a L1.
Cache L3
Otimizações internas à CPU - quad-core nativo
PC I / P C I-e PCI / P C I-e Chipset FSB Chipset HyperTransport
Arquitetura convencional Arquitetura AMD64
Controle de memória Controle de memória Interface Hyper Transport Núcleo 1 Núcleo2 Núcleo 1 Cache L2 CROSSBAR Núcleo 3 Núcleo4 Cache L2 Cache L2 Núcleo 2 Cache L2 Núcleo 3 Cache L2 Núcleo 4 Cache L2
Hardware – Memória Secundária
A memória secundária é um meio permamente, isto é, não volátil de armazenamento de programas e dados.
Acesso a 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.
Exemplos: Fita magnética, disco magnético e o disco óptico.
Hardware – Memória Secundária
Hardware – Dispositivos de E/S
2.2.5
Estes dispositivos são utilizados para permitir a comunicação entre o sistema operacional e o mundo externo, e podem ser divididos em duas categorias:
• Memórias secundárias
Hardware – Barramentos
2.2.6
Barramento ou Bus é um meio de
comunicação compartilhado que permite a comunicação entre as unidades funcionais de um sistema computacional.
Os barramentos são classificados em três tipos: barramentos processador-memória, barramentos E/S e barramentos Backplane.
Hardware – Barramentos
Hardware – Barramentos
Hardware – Barramentos
Hardware – Pipelining
2.2.7
É uma técnica que permite ao processador executar múltiplas instruções paralelamente em estágios diferentes. O conceito de processamento pipeline se assemelha muito a uma linha de montagem, onde uma tarefa é dividida em uma sequência de subtarefas, executadas dentro da linha de
execução.
Enquanto uma instrução está na execução outra está na fase de busca simultaneamente.
Hardware – Pipelining
Hardware – Arquiteturas
RISC e CISC
2.2.8
• A linguagem de máquina de um computador é a
linguagem de programação que é realmente entendida pelo processador. Cada processador possui um conjunto definido de instruções de máquina, definido pelo seu fabricante.As
instruções de máquina fazem referência a detalhes, como registradores, modos de endereçamento e
tipos de dados, que caracterizam um processador e suas funcionalidades.
Hardware – Arquiteturas
RISC e CISC
2.2.8 • 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.
Dica: operações Rápidas
Hardware – Arquiteturas
RISC e CISC
2.2.8 • Um processador com arquitetura CISC (
Complex Instruction Set Computer) se caracteriza por possuir instruções
complexas, que são interpretadas por microprogramas.
Dica: operações Complexas
Hardware – Arquiteturas
RISC e CISC
Hardware – Arquiteturas
RISC e CISC
2.2.8
Nos processadores RISC um programa em linguagem de máquina é executado diretamente pelo hardware.No CISC existe um nível intermediário que é a microprogramação.
Hardware – Análise de
Desempenho
2.2.9
Para avaliar o desempenho de processadores, diversas variáveis devem ser consideradas entre as quais o intervalo de tempo entre
pulsos de um sinal de clock, conhecido como ciclo de clock.
A frequência do clock é o intervalo do ciclo de clock e indica o número de pulsos elétricos gerados em um segundo, HZ.
Hardware – Análise de
Desempenho
2.2.9
Existe um técnica conhecida como
Benchmark, que permite a análise de desempenho comparativa entre
sistemas operacionais.Nesta técnica,
um conjunto de programas é executado em cada sistema avaliado e o tempo de execução comparado.
Hardware – Análise de
Desempenho
• Clock (ou Freqüência) interno:
Determina quantos ciclos por segundo (HZ) serão efetuados dentro do processador. Este clock é diretamente proporcional à
quantidade de operações por segundo que um processador é capaz de executar.
O clock chega, atualmente à casa dos GHZ( bilhões de ciclos por segundo)
Software
Para que o Hardware tenha utilidade prática, deve existir um conjunto de programas
utilizado como interface entre as
necessidades do usuário e as capacidades do hardware.
Software - Tradutor
O Tradutor é um software de conversão para traduzir os programas escritos em algumas linguagens para serem executadas pelo
processador.
Software - Tradutor
Dependendo do tipo do programa-fonte,
existem dois tipos distintos de tradutores que geram módulos- objeto:montador e compilador.
Software – Tradutor - Montador
O montador (assembler) é o utilitário
responsável por traduzir um programa-fonte em linguagem de montagem em um
programa-objeto não executável(módulo- objeto).
Software – Tradutor -
Compilador
O compilador é o utilitário responsável por gerar, a partir de um programa escrito em uma linguagem de alto nível, um programa em linguagem de máquina não executável.
Software – 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.
Exemplo: Basic e o Perl
Software – Linker
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.
Software – Loader
O Loader ou carregador é o utilitário responsável por carregar na memória
principal um programa para ser executado. É classificado nos tipos absoluto ou relocável.
Software – Loader
No Loader absoluto, é necessário conhecer o endereço de memória inicial e o tamanho do módulo para realizar o carregamento.
No Loader relocável, o programa pode ser
carregado em qualquer posição de memória.
Software – Depurador
É 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.