Anda di halaman 1dari 53

CONCEITOS DE HARDWARE E SOFTWARE

Prof. Eng. Eduardo Juliano Alberti


(Adpatado de Prof. Alessandro Brawerman)

INTRODUO
O SO primariamente um gerenciador de recursos. Seu projeto deve estar ligado aos recursos de software e hardware que gerencia.
Processadores, memria, memria secundria, outros dispositivos de E/S, processos, threads, arquivos, BDs, ...

INTRODUO

medida que os computadores evoluem, os SOs devem se adaptar s tecnologias emergentes e manter a compatibilidade com os antigos.
SOs facilitam a programao de aplicaes pelo fato de os desenvolvedores poderem escrever softwares que requisitem servios e recursos ao SO.

INTRODUO

So as demandas crescentes por aplicaes que foram a evoluo da tecnologia da computao ou so os avanos dessas tecnologias que nos tentam a imaginar aplicaes novas e inovadoras?

EVOLUO DE DISPOSITIVOS DE HARDWARE


medida que o nmero de fabricantes de hardware e dispositivos prolifera, SOs tornavam-se mais complexos. Para facilitar a programao de sistemas e melhorar a extensibilidade, a maioria dos SOs independente da configurao de hardware particular de uma arquitetura.
Os SOs usam drivers de dispositivos para realizar operaes de E/S destes dispositivos.
5

EVOLUO DE DISPOSITIVOS DE HARDWARE

Habilita o SO a suportar um novo dispositivo usando apenas o driver de dispositivo apropriado, facilitando a extensibilidade do SO.
Drivers de dispositivos representam uma parte to integrada aos sistemas que compreendem aproximadamente 60% do cdigo-fonte do Linux.

EVOLUO DE DISPOSITIVOS DE HARDWARE

Dispositivos plug-and-play identificam-se para o sistema quando so conectados ao computador.


Ajuda o SO a selecionar e usar um driver de dispositivo apropriado com pouco ou nenhuma interao do usurio.

COMPONENTES DE HARDWARE

O hardware de um computador consiste em:


Processador(es) Memria principal Dispositivos de E/S

ARQUITETURA DE VON NEUMANN


Caracteriza-se pela possibilidade de um dispositivo armazenar seus programas no mesmo espao de memria que os dados, podendo assim manipular tais programas.

COMPONENTES DE UM PC
Monitor
Teclado Unidade de Disco Flexvel

Unidade de Disco Rgido

Memria

Controladora de Vdeo

Controladora de Teclado

Controladora de Disco Flexvel

Controladora de Disco Rgido

Barramento Bus

10

PLACAS PRINCIPAIS
Placas de circuito impresso (Printed Circuit Board - PCB) Tambm denominada Placa-me Habilitam a comunicao entre dispositivos diferentes. um componente de hardware que fornece conexes eltricas entre dispositivos em vrios lugares da placa.
11

PLACAS PRINCIPAIS
A placa principal (placa-me) a PCB central de um sistema. Encaixes nos quais outros componentes so inseridos.

Os encaixes fornecem acesso conexes eltricas entre os vrios componentes de hardware. Usurios podem personalizar seus computadores.
As diversas conexes eltricas microscpicas so denominadas pistas.

12

PLACAS PRINCIPAIS
Um grande conjunto de pistas forma um canal de comunicao de alta velocidade conhecido como barramento (bus). Inclui chips para realizar operaes de baixo nvel. O chip de sistema bsico de entrada/sada (Basic I/O System BIOS) armazena instrues para a inicializao e gerenciamento do hardware bsico.

13

PLACAS PRINCIPAIS

Tambm carrega na memria a poro inicial do SO denominada de autocarregamento (bootstrapping).

14

PROCESSADORES
Hardware que executa um fluxo de instrues em linguagem de mquina.
CPU executa as instrues do programa Co-processador executa instrues de propsito especial. Por exemplo, coprocessadores de grfico ou udio. Registradores so memria de alta velocidade. Os dados devem estar nos registradores antes do processador poder oper-los. O tamanho das intrues dependente da arquitetura. Alguns processadores podem suportar mltiplos tamanhos.

15

PROCESSADORES

16

PROCESSADORES

Registradores especiais:
Contador de programa, ou PC (aponta para a prxima instruo) Ponteiro de pilha, ou SC (aponta para o topo da pilha atual na memria) Palavra de estado do programa, ou PSW (contm bits de condies: prioridade, modo de execuo, etc.)

17

RELGIOS

O tempo do computador medido em ciclos, ou pulsos.


Uma oscilao completa de um sinal eltrico fornecido pelo gerador de relgio do sistema. O gerador do relgio especifica a frequncia com a qual os barramentos transferem dados, ciclos por segundo ou Hz.

Dispositivos usam multiplicadores ou divisores para definir sua velocidade.

18

RELGIOS

O barramento frontal (Frontside bus) conecta processadores a mdulos de memria e a outros dispositivos. Considere um barramento frontal de 200MHz:
Um processador de 2GHz usa um multiplicador de 10 para gerar seus ciclos. Uma placa de som de 66 MHz usa um divisor de 2,5 para gerar seus ciclos.

19

HIERARQUIA DE MEMRIA
A velocidade da memria limitada por dois conceitos: fsico e econmico. H um limite para a velocidade que um eltron pode viajar. A distncia tambm influencia no tempo. Esquema para categorizar memria.
Mais rpidas, caras e pequena capacidade no topo, mais lentas, baratas e grande capacidade na base. A memria principal o nvel mais baixo de dados que o processador acessa.
Voltil perde os dados sem energia eltrica.
Persistente no perdem os dados sem energia eltrica.
20

HIERARQUIA DE MEMRIA

21

MEMRIA PRINCIPAL
Memria voltil de acesso aleatrio (RAM Random Access Memory), processos podem acessar localizaes de dados em qualquer ordem. Diferente de uma fita magntica que armazena dados de maneira sequencial. Formas comuns incluem:
DRAM Dynamic RAM
Requer um circuito de renovao para ler os dados periodicamente, ou eles so perdidos.

22

MEMRIA PRINCIPAL
SRAM Static RAM
No precisa ser renovada para manter os dados armazenados. Usada em caches de processador mais rpida e cara.

medida que os fabricantes desenvolvem novas tecnologias de memria, a velocidade e a capacidade tendem a aumentar e o custo por unidade de armazenamento tende a diminuir.
Aumento da largura de banda (quantidade de dados por unidade de tempo) e diminuio da latncia (tempo entre o pedido e o incio do processo)
23

ARMAZENAMENTO SECUNDRIO
Armazena grande quantidade de dados, de forma persistente, a baixo custo.

Acessar dados dentro de um HD mais lento que na memria principal


Movimentos mecnicos de cabeotes de leitura/escrita. Latncia rotacional. Tempo de transferncia.

24

ARMAZENAMENTO SECUNDRIO

25

ARMAZENAMENTO SECUNDRIO

26

ARMAZENAMENTO SECUNDRIO
Alguns dispositivos de armazenamento secundrio gravam dados em meios de menor capacidade que podem ser removidos do computador.
Facilita o backup e a transferncia de dados entre computadores. Latncia mais alta que HDs.
CDs, DVDs, discos Zip, memria Flash, fitas, Pen-Drivers.

27

BARRAMENTOS
Conjunto de pistas (conexes eltricas) que transportam informaes entre dispositivos de hardware.

28

ACESSO DIRETO MEMRIA - DMA


DMA Direct Memory Access. Melhora a transferncia de dados entre a memria e os dispositivos de E/S.
Disposivitos e controladores transferem blocos de dados de e para a memria principal Libera o processador para executar instrues de software. Melhora a performance em sistemas que executam grandes nmeros de operaes de E/S (mainframes e servidores).

30

ACESSO DIRETO MEMRIA - DMA

31

DISPOSITIVOS PERIFRICOS
Qualquer dispositivo no necessrio para computadores executarem instrues de programa. Dispositivos internos so conhecidos como integrados:
Interface de rede, modems, placas de som, HD, CD e DVD.

Dispositivos de caractere transferem dados um caractere (bit) por vez.


Teclados e mouse.

32

DISPOSITIVOS PERIFRICOS

So conectados a um computador via portas e barramentos.


Portas seriais transferem um bit por vez. Mouse e teclado. Portas paralelas transferem vrios bits de dados por vez. Impressoras. Portas USB (Universal Serial Bus) e IEEE 1394 alta velocidade SCSI (Small Computer System Interface) interface paralela de altssima velocidade.

33

DISPOSITIVOS PERIFRICOS

34

DISPOSITIVOS PERIFRICOS

35

SUPORTE DE HARDWARE PARA SO

Arquiteturas de computador possuem:


Recursos que executam funes de SO rapidamente em hardware para melhorar o desempenho. Recursos que habilitam o SO a impor rgida proteo, melhorando a segurana e a integridade do sistema.

36

PROCESSADOR
Implementa mecanismos de proteo ao SO.
Bloqueia processos de acessarem instrues privilegiadas ou posies de memria que no lhe foram alocadas.

Sistemas de computador tm diversos modos de execuo.


Modo usurio
Usurio pode executar apenas um sub-conjunto de instrues.

Modo de ncleo ou Kernel mode


Processador pode acessar instrues privilegiadas e recursos para realizar tarefas em nome dos processos.

37

PROCESSADOR
Proteo e gerenciamento de memria
Bloqueia processos de acessarem posies de memria que no lhe foram alocadas. Usam registradores de limites que marcam o incio e fim do bloco de memria alocada.

Interrupes e excees
Dispositivos enviam um sinal chamado interrupo para o processador quando um evento ocorre. O SO pode responder a uma mudana no status de um dispositivo notificando os processos que esto espera desses eventos.

38

PROCESSADOR

Excees so interrupes geradas em resposta a erros, como falhas de hardware, erros de lgica e violaes de proteo. Em vez de provocar a falha do sistema, o processador invoca o SO para que este determine como ele deve reagir.

39

BOOTSTRAPPING
Autocarregamento
Carrega componentes iniciais do SO para a memria.

Executado pela BIOS


Inicializa o hardware do sistema Carrega instrues na memria principal em uma regio de armazenamento secundrio, o setor de inicializao - boot sector. Se o boot sector no for encontrado, o sistema no ser carregado.

40

BOOTSTRAPPING

41

PLUG-AND-PLAY
Permite o SO configurar novo hardware instalado sem a interao do usurio. Para dar suporte plug-and-play, um dispositivo de hardware deve ser capaz de:
Se identificar unicamente ao SO. Comunicar ao SO os recursos e servios que o dispositivo necessita para funcionar. Identificar o driver que suporta do dispositivo para permitir configurao via software.

42

CACHING E BUFFER

Caches
Memria relativamente rpida. Mantm cpias de dados que sero acessados e, breve. Aumenta velocidade de execuo de um programa. As entradas de cache devem ser gerenciadas para minimizar o nmero de vezes que os dados requeridos no esto na cache ausncia do cache (cache miss).

43

CACHING E BUFFER

Buffers
rea de armazenamento temporria que armazena dados durante operaes de E/S. Usado para
Coordenar comunicaes entre dispositivos operando em velocidades diferentes.

Armazenar dados para processos assncronos.

44

CACHING E BUFFER

Spooling
Operaes perifricas simultneas em linha Permite que o processo requisite operaes em um dispositivo perifrico sem exigir que o mesmo esteja pronto para atend-lo. Um processo pode tentar imprimir um documento, mas a impressora est ocupada. O processo grava o resultado no disco. Quando a impressora estiver disponvel os dados so impressos.

45

SOFTWARE

Linguagens de programao
Algumas so entendidas diretamente pelo computador, outras precisam de traduo. Classificadas em:
Linguagem de mquina. Linguagem de montagem. Linguagem de alto-nvel.

46

LINGUAGEM DE MQUINA
Definida pela arquitetura do hardware. Consiste de cadeias de nmeros (1s e 0s) que instruem os computadores a executarem operaes bsicas.

Um computador s pode entender sua prpria linguagem de mquina.

47

LINGUAGEM DE MONTAGEM

Traduz cdigo compilado para linguagem de mquina. Assembly


Aumenta velocidade de programao. Reduz erros em potencial.

48

INTERPRETADORES E COMPILADORES
Traduzem um programa-fonte escrito numa determinada linguagem para linguagem de mquina. Compiladores geram cdigo objeto. Interpretadores executam cdigo fonte diretamente.

Execuo de cdigo objeto sempre mais rpida que fonte.


49

LINGUAGEM DE ALTO-NVEL
Gramtica do nosso dia-a-dia. Procedurais ou orientadas a objeto.
Fortran
Usada por cientista e engenheiros

COBOL
Para aplicaes comerciais que manipulam grande volume de dados

C
Linguagem procedural popular

C++/Java, C#
Linguagens populares orientadas a objetos

50

EVOLUO DAS LINGUAGENS DE PROGRAMAO


C706 0000 0002

MOV X, 2

X=2
51

FIRMWARE
Possui instrues executveis armazenadas em memria persistente conectado ao dispositivo. Pode ser atualizado.

Existe uma interface para que possa ser administrado/configurado.

52

MIDDLEWARE
Middleware um software para sistemas distribudos.
Proporciona interaes entre mltiplos processos executando em 1 ou mais computadores em uma rede. Exemplo: Open DataBase Connectivity (ODBC)
Permite que aplicaes acessem bases de dados atravs de um middleware chamado ODBC driver

53

Anda mungkin juga menyukai