Você está na página 1de 49

Captulo

Conceitos de hardware
e software

Sumrio
2.1
2.2
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.3.8
2.3.9
2.4
2.4.1
2.4.2

Introduo
Evoluo de dispositivos de hardware
Componentes de hardware
Placas principais
Processadores
Relgios
Hierarquia da memria
Memria principal
Armazenamento secundrio
Barramentos
Acesso direto memria (Direct Memory Access DMA)
Dispositivos perifricos
Suporte de hardware para sistemas operacionais
Processador
Temporizadores e relgios

2006 by Pearson Education. Todos os direitos reservados.

Captulo

Conceitos de hardware
e software

Sumrio
2.4.3
2.4.4
2.5
2.6
2.6.1
2.6.2
2.6.3
2.6.4
2.6.5
2.7
2.8
2.8.1
2.8.2
2.8.3
2.9
2.10

(continuao)

Autocarregamento (Bootstrapping)
Plug and play
Caching e buffer
Viso geral do software
Linguagem de mquina e linguagem de montagem
Interpretadores e compiladores
Linguagens de alto nvel
Programao estruturada
Programao orientada a objeto
Interfaces de programao de aplicao (APIs)
Compilao, ligao e carregamento
Compilao
Ligao
Carregamento
Firmware
Middleware

2006 by Pearson Education. Todos os direitos reservados.

Objetivos
n Este captulo apresenta:
Os componentes de hardware que devem ser gerenciados por
um sistema operacional.
Como o hardware evoluiu para suportar funes de sistemas
operacionais.
Como otimizar o desempenho de vrios dispositivos de
hardware.
O conceito de interface de programao de aplicao (API).
O processo de compilao, ligao e carregamento.

2006 by Pearson Education. Todos os direitos reservados.

2.1 Introduo
n Um sistema operacional primariamente um
gerenciador de recursos
Seu projeto deve estar intimamente ligado aos recursos de
software e hardware que precisa gerenciar.

processadores
memria
armazenamento secundrio (como os discos rgidos)
outros dispositivos de E/S
processos
threads
arquivos
bancos de dados

2006 by Pearson Education. Todos os direitos reservados.

2.2 Evoluo de dispositivos de hardware


n Os sistemas operacionais, em sua maioria, no
dependem de configuraes de hardware
Os sistemas operacionais usam drivers de dispositivo para
executar operaes de E/S especficas ao dispositivo.
Por exemplo, os dispositivos plug-and-play, ao serem conectados,
instruem o sistema operacional sobre o driver que deve usar, sem
solicitar para isso nenhuma interveno do usurio.

2006 by Pearson Education. Todos os direitos reservados.

2.2 Evoluo de dispositivos de hardware

Figura 2.1 Nmero de transistores plotado contra o tempo para processadores Intel.

2006 by Pearson Education. Todos os direitos reservados.

2.3 Componentes de hardware

O hardware de um computador consiste em:


processador(es)
memria principal
dispositivos de entrada/sada

2006 by Pearson Education. Todos os direitos reservados.

2.3.1 Placas principais

n Placa de circuito impresso


Componente de hardware que fornece conexes eltricas entre
dispositivos.
A placa principal (placa-me) o PCB central em um sistema.
Dispositivos como processadores e memria principal so
encaixados nessa placa.
Incluem chips para realizar operaes de baixo nvel (por exemplo,
BIOS).

2006 by Pearson Education. Todos os direitos reservados.

2.3.2 Processadores

n O processador um hardware que executa linguagem


de mquina.
A CPU executa as instrues de um programa.
O co-processador executa instrues especficas.
Ex.: co-processador grfico ou de udio

Os registradores so memrias de alta velocidade localizadas


em um processador.
Os dados precisam estar nos registradores para que os
processadores possam trabalhar com eles.
O comprimento da instruo o tamanho de uma instruo em
linguagem de mquina.
Alguns processadores suportam vrios comprimentos de
instruo.

2006 by Pearson Education. Todos os direitos reservados.

2.3.2 Processadores
Figura 2.2 Componentes do processador.

2006 by Pearson Education. Todos os direitos reservados.

2.3.3 Relgios

n O tempo do computador medido em ciclos.


Oscilao completa de um sinal eltrico.
Fornecido por um gerador de relgio do sistema.
A velocidade do processador medida em GHz (bilhes de
ciclos por segundo).
A velocidade dos computadores de mesa modernos chega a centenas
de megahertz ou a vrios gigahertz.

2006 by Pearson Education. Todos os direitos reservados.

2.3.4 Hierarquia da memria


n A hierarquia da memria um esquema de
categorizao da memria.
A memria mais rpida e cara est no topo da hierarquia,
enquanto a mais lenta e barata est na base.

Registradores
Cache L1
Cache L2
Memria principal
Memria secundria e terciria (CDs, DVDs e unidades de disco
flexvel)

A memria principal de um sistema o armazenamento de


dados de nvel mais baixo da hierarquia da memria que o
processador pode se referir diretamente.
Voltil perde o contedo quando o fornecimento de energia so
sistema interrompido.

2006 by Pearson Education. Todos os direitos reservados.

2.3.4 Hierarquia da memria


Figura 2.3 Hierarquia da memria.

2006 by Pearson Education. Todos os direitos reservados.

2.3.5 Memria principal

n A memria principal consiste na memria voltil de


acesso aleatrio (RAM).
Os processos podem acessar localizaes de dados em qualquer
seqncia.
Dentre as formas comuns de RAM, incluem-se:
RAM dinmica (DRAM) requer circuito de renovao;
RAM esttica (SRAM) no requer circuito de renovao.

A largura de banda a quantidade de dados que pode ser


transferida por unidade de tempo.

2006 by Pearson Education. Todos os direitos reservados.

2.3.6 Armazenamento secundrio

n O armazenamento secundrio armazena grande


quantidade de dados permanentes a um baixo custo.
Acessar dados em um disco rgido mais vagaroso que na
memria principal.
Movimento mecnico do cabeote de leitura/gravao.
Latncia rotacional.
Tempo de transferncia.

O armazenamento secundrio removvel facilita o backup e a


tranferncia de dados.

CDs (CD-R, CD-RW)


DVDs (DVD-R, DVD+R)
Discos Zip
Discos flexveis
Cartes de memria Flash
Fitas

2006 by Pearson Education. Todos os direitos reservados.

2.3.7 Barramentos

n Um barramento um conjunto de pistas.


As pistas so conexes eltricas que que transportam
informaes entre dispositivos de hardware.
Uma porta um barramento que conecta exatamente dois
dispositivos.
Um canal de E/S um barramento compartilhado por vrios
dispositivos para executar operaes de E/S.
Tratamento de E/S independentemente dos processadores principais
do sistema.

Exemplo, o barramento frontal (FSB) conecta processadores


memria principal.

2006 by Pearson Education. Todos os direitos reservados.

2.3.8 Acesso direto memria (DMA)

n O DMA melhora a transferncia de dados entre a


memria e os dispositivos de E/S.
Dispositivos e controladores transferem dados para e da
memria principal diretamente.
O processador fica livre para executar instrues de
instructions.
O canal DMA usa um controlador de E/S para gerenciar a
transferncia de dados.
Notifica o processador quando uma operao de E/S concluda.

Melhora o desempenho em sistemas que realizam grande


quantidade de operaes de E/S (por exemplo, computadores
de grande porte e servidores).

2006 by Pearson Education. Todos os direitos reservados.

2.3.8 Acesso direto memria (DMA)


Figura 2.4 Acesso direto memria (DMA).

2006 by Pearson Education. Todos os direitos reservados.

2.3.9 Dispositivos perifricos


Figura 2.5 Dispositivos perifricos.

2006 by Pearson Education. Todos os direitos reservados.

2.3.9 Dispositivos perifricos

n Dispositivos perifricos
Qualquer dispositivo de hardware no requerido por um
computador para executar instrues de software.
Os dispositivos internos so referidos como dispositivos
perifricos integrados.
Placas de interface de rede, modems, placas de som.
Unidades de disco rgido, CD e DVD.

Dispositivos de caracteres que transferem dados: um caractere


por vez.
Teclados e mouses

Podem ser conectados a um computador por meio de portas e


outros barramentos.
Portas seriais, portas paralelas, USB, portas IEEE 1394 e SCSI

2006 by Pearson Education. Todos os direitos reservados.

2.4 Suporte de hardware para sistemas operacionais


n As arquiteturas de computador contm:
Recursos que executam funes de sistemas operacionais
rapidamente em hardware para melhorar o desempenho.
Recursos que habilitam o sistema operacional a impor rgida
proteo.

2006 by Pearson Education. Todos os direitos reservados.

2.4.1 Processador

n O processador implementa mecanismos de proteo


do sistema operacional.
Evita que os processos acessem instrues privilegiadas ou
memria.
Os sistemas de computador geralmente dispem de diferentes
modos de execuo:
Modo usurio (estado usurio ou estado-problema)
O usurio pode executar apenas um subconjunto de instrues.

Modo ncleo (estado supervisor)


O processador pode acessar instrues privilegiadas e recursos em
nome dos processos.

2006 by Pearson Education. Todos os direitos reservados.

2.4.1 Processador

n Proteo e gerenciamento da memria


Impede que processos acessem memria que no lhes foi
designada.
implementada por meio de registradores de processador que
somente podem ser modificados com instrues privilegiadas.

n Interrupes e excees
Quando ocorre um evento, a maioria dos dispositivos envia ao
processador um sinal denominado interrupo.
As excees so interrupes geradas em resposta a erros.
O sistema operacional pode responder a uma interrupo
notificando os processos que esto espera desses eventos.

2006 by Pearson Education. Todos os direitos reservados.

2.4.2 Temporizadores e relgios

n Temporizadores
O temporizador de intervalo gera periodicamente uma
interrupo.
Os sistemas operacionais usam temporizadores de intervalo
para impedir que processos monopolizem o processador.

n Relgios
Oferecem uma medida de continuidade.
Um relgio de 24 horas habilita o sistema operacional a
determinar a hora e a data atuais.

2006 by Pearson Education. Todos os direitos reservados.

2.4.3 Autocarregamento (Bootstrapping)


n Autocarregamento: carregamento inicial dos
componentes do sistema operacional na memria
executado pelo BIOS (Basic Input/Output System) do
computador.
Inicializa o hardware do sistema.
Carrega instrues na memria principal provenientes de uma rea
do armazenamento secundrio denominada setor de inicializao
(boot sector).

Se o sistema no for carregado, o usurio no poder acessar


nenhum hardware do computador.

2006 by Pearson Education. Todos os direitos reservados.

2.4.3 Autocarregamento (Bootstrapping)

Figura 2.6 Autocarregamento.

2006 by Pearson Education. Todos os direitos reservados.

2.4.4 Plug and Play

n Tecnologia Plug-and-Play
Permite que os sistemas operacionais configurem e usem um
hardware recm-instalado, sem precisar interagir com o
usurio.
Para suportar a tecnologia plug-and-play, um dispositivo de
hardware deve:
Identificar-se exclusivamente no sistema operacional.
Comunicar-se com o sistema operacional para indicar os recursos e
servios que requer para funcionar adequadamente.
Identificar o driver correspondente que permite que o dispositivo seja
configurado (por exemplo, que se atribua o dispositivo a um canal
DMA).

2006 by Pearson Education. Todos os direitos reservados.

2.5 Caching e buffer

n Caches
So memrias relativamente rpidas.
Mantm uma cpia dos dados que sero acessados logo em
seguida.
Aumentam a velocidade de execuo do programa.
Exemplos incluem:
Caches L1 e L2 do processador.
A memria principal pode ser considerada um cache para unidades
de disco rgido e outros dispositivos de armazenamento secundrio.

2006 by Pearson Education. Todos os direitos reservados.

2.5 Caching e buffer

n Buffers
rea de armazenamento temporrio que guarda dados durante
transferncias de E/S.
So usados principalmente para:
Coordenar comunicaes entre dispositivos que funcionam em
diferentes velocidades.
Armazenar dados para processamento assncrono.
Permitir que alguns sinais sejam emitidos assincronamente.

n Spooling
Tcnica de buffer por meio da qual um dispositivo
intermedirio, como um disco, interposto entre um processo e
um dispositivo de E/S de baixa velocidade.
Permite que os processos solicitem operaes a um dispositivo
perifrico sem que esse dispositivo esteja preparado para
atender a essa solicitao.

2006 by Pearson Education. Todos os direitos reservados.

2.6 Viso geral do software


n Linguagens de programao
Algumas so compreendidas diretamente pelos computadores,
outras exigem traduo.
Em geral, so classificadas como:
Linguagem de mquina
Linguagem de montagem ou
Linguagem de alto nvel

2006 by Pearson Education. Todos os direitos reservados.

2.6.1 Linguagem de mquina e linguagem de montagem


n Linguagem de mquina

definida pelo projeto de hardware do computador.


Em geral consiste em cadeias de nmeros (reduzidos a 1s e 0s)
que instruem os computadores a executar suas operaes mais
elementares.
Um computador s entende sua prpria linguagem de mquina.

n Linguagem de montagem

Representa instrues em linguagem de mquina por meio de


abreviaturas da lngua inglesa.
Os montadores convertem a linguagem de montagem em
linguagem de mquina.
Agiliza a programao e reduz a possibilidade de erros.

2006 by Pearson Education. Todos os direitos reservados.

2.6.2 Interpretadores e compiladores

n Linguagens de alto nvel


As instrues se assemelham ao ingls do dia-a-dia.
Executam tarefas mais substanciais com uma quantidade menor
de comandos.
Requerem compiladores e interpretadores.

n Compilador
Programa de traduo que converte programas em linguagem
de alto nvel em linguagem de mquina.

n Interpretador
Programa que executa diretamente o cdigo-fonte ou um
cdigo reduzido a uma linguagem de baixo nvel que no o
cdigo de mquina.

2006 by Pearson Education. Todos os direitos reservados.

2.6.3 Linguagens de alto nvel

n Linguagens de alto nvel mais conhecidas


Em geral so processuais e orientadas a objeto.
Fortran
Usada para aplicaes cientficas e de engenharia.

COBOL
Usada para aplicaes de negcios que processam grande volume de
dados.

C
Linguagem de desenvolvimento do sistema operacional UNIX.

C++/Java
Linguagens populares orientadas a objeto.

C#
Linguagem de desenvolvimento orientada a objeto para a
plataforma .NET.

2006 by Pearson Education. Todos os direitos reservados.

2.6.4 Programao estruturada

n Abordagem disciplinada para a criao de programas


Programas que sejam claros, provavelmente corretos e fceis
de modificar.
Dentre as linguagens de programao estruturada incluem-se:
Pascal
Desenvolvida para ensinar programao estruturada.

Ada
Desenvolvida pelo Departamento de Defesa dos Estados
Unidos.

Fortran

2006 by Pearson Education. Todos os direitos reservados.

2.6.5 Programao orientada a objeto

n Objetos
Um software reutilizvel (qualquer substantivo pode ser
representado).
Fceis de modificar e compreender.
Tm propriedades (por exemplo, cor) e executam aes (por
exemplo, mover).

n Classes
So tipos de objetos relacionados.
Especificam o formato geral de um objeto e os atributos e aes
disponveis a esse objeto.

n Programao orientada a objeto


Concentra-se em comportamentos e interaes, no na
implementao.
C++, Java e C# so linguagens orientadas a objeto muito
conhecidas.

2006 by Pearson Education. Todos os direitos reservados.

2.7 Interfaces de programao de aplicao (APIs)


n Um conjunto de rotinas
Os programadores usam rotinas para solicitar servios do
sistema operacional.
Os programas solicitam funes da API, que ento podem
acessar o sistema operacional por meio de chamadas ao
sistema.
Exemplos de API:
Padro POSIX (Portable Operating System Interface)
API do Windows

2006 by Pearson Education. Todos os direitos reservados.

2.7 Interfaces de programao de aplicao (APIs)


Figura 2.7 Interface de programao de aplicao (API).

2006 by Pearson Education. Todos os direitos reservados.

2.8 Compilao, ligao e carregamento


n Para que um programa em linguagem de
programao de alto nvel possa ser executado,
necessrio:
Traduzi-lo para linguagem de mquina.
Lig-lo a vrios outros programas em linguagem de mquina
dos quais ele dependa.
Carreg-lo na memria.

2006 by Pearson Education. Todos os direitos reservados.

2.8.1 Compilao
n Traduo de cdigo de alto nvel para cdigo de
mquina

Aceita o cdigo-fonte como entrada e retorna um cdigo-objeto.


As fases da compilao incluem:
Analisador de lxico (lexer)

Separa os caracteres do fonte de um programa em smbolos


(tokens).

Analisador sinttico (parser)

Agrupa os smbolos em comandos sintaticamente corretos.

Gerador de cdigo intermedirio

Converte a estrutura sinttica em uma cadeia de instrues simples.

Optimizador

Melhora a eficincia de execuo do cdigo e reduz os requisitos de


memria do programa.

Gerador de cdigo

Produz o arquivo-objeto contendo as instrues em linguagem de


mquina.

2006 by Pearson Education. Todos os direitos reservados.

2.8.1 Compilao
Figura 2.8 Fases da compilao.

2006 by Pearson Education. Todos os direitos reservados.

2.8.2 Ligao

n Ligadores
Criam uma nica unidade executvel.
Integram mdulos previamente compilados, denominados
bibliotecas, referidos por um programa.
Atribuem endereos relativos a diferentes programas ou
unidades de dados.
Resolvem todas as referncias externas entre subprogramas.
Produzem um mdulo integrado denominado mdulo de carga.
A ligao pode ser realizada em tempo de compilao, antes do
carregamento, em tempo de carregamento ou em tempo de
execuo.

2006 by Pearson Education. Todos os direitos reservados.

2.8.2 Ligao
Figura 2.9 Mdulo-objeto.

2006 by Pearson Education. Todos os direitos reservados.

2.8.2 Ligao
Figura 2.10 Processo de ligao.

2006 by Pearson Education. Todos os direitos reservados.

2.8.2 Ligao
Figura 2.11 Resoluo de smbolos.

2006 by Pearson Education. Todos os direitos reservados.

2.8.3 Carregamento

n Carregadores
Convertem endereos relativos em endereos fsicos.
Colocam cada instruo e dado na memria principal.

n Tcnicas de carregamento de um programa na


memria
Carregamento absoluto
Coloca o programa nos endereos especificados pelo programador ou
compilador (supondo que esses endereos estejam disponveis).

Carregamento realocvel
Realoca os endereos do programa de modo que correspondam sua
localizao real na memria.

Carregamento dinmico
Carrega mdulos de programa na primeira utilizao.

2006 by Pearson Education. Todos os direitos reservados.

2.8.3 Carregamento
Figura 2.12 Carregamento.

2006 by Pearson Education. Todos os direitos reservados.

2.8.3 Carregamento
Figura 2.13 Compilao, ligao e carregamento.

2006 by Pearson Education. Todos os direitos reservados.

2.9 Firmware
n O firmware contm instrues executveis
armazenadas na memria persistente ligada a um
dispositivo.
programado com microprogramao.
Uma camada de programao abaixo da linguagem de mquina de
um computador.
Microcdigo
Instruo simples, fundamental, necessria para implementar todas
as operaes em linguagem de mquina.

2006 by Pearson Education. Todos os direitos reservados.

2.10 Middleware
n Middleware um software para sistemas distribudos
Permite interaes entre vrios processos executados em um
ou mais computadores interligados na rede.
Facilita a operao em sistemas heterogneos distribudos.
Simplifica o desenvolvimento de aplicaes.
Exemplo, Conectividade aberta para banco de dados (Open
DataBase Connectivity ODBC).
Permite que as aplicaes acessem um banco de dados por meio de
um middleware denominado unidade de ODBC.

2006 by Pearson Education. Todos os direitos reservados.