Buscar

1-hardware-e-software

Prévia do material em texto

Centro Federal de Educação Tecnológica - CEFET/RJ
UnED Nova Friburgo
Curso Técnico de Informática
Prof. Thiago Delgado Pinto
SISTEMAS OPERACIONAIS
HARDWARE E SOFTWARE
Atualizado em 29/02/2012
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Arquitetura de Von Neumann
• Arquitetura de Harvard
• Arquitetura de Harvard Modificada
• Memória
• Unidade Central de Processamento
• Família de UCPs 80x86
• Registradores de 16 bits
• Registradores de 32 bits
• Endereçamento em Modo Real
• Endereçamento em Modo Protegido de 16 bits
• Endereçamento em Modo Protegido de 32 bits
• Interrupções
• Sistema Básico de Entrada e Saída (BIOS)
• Registro Mestre de Inicialização (MBR)
• Gerenciador de Inicialização (Boot Manager)
Prof. Thiago Delgado Pinto 2
Agenda
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Proposta por John von Neumann (1903-1957), 
em 1946, para o EDVAC1
Prof. Thiago Delgado Pinto 3
Arquitetura de Von Neumann [1/2]
ULA
Unidade de 
Controle
Memória
(dados e 
instruções)
Dispositivos
de E/S
1- Veja o original (Introduction to “The First Draft Report on the EDVAC") em:
<http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf>
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• A UCP pode ler uma instrução ou ler/gravar um 
dado da/na memória.
• Mas não pode fazer ambos simultaneamente, 
pois usa o mesmo barramento para instruções e 
dados.
• Apresenta um conjunto complexo de instruções
– Logo, usa microcontroladores CISC (Complex
Instruction Set Computer)
Prof. Thiago Delgado Pinto 4
Arquitetura de Von Neumann [2/2]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
• IBM System/360
• DEC PDP-11 e VAX
• Motorola 68x0/m68000/68000
– Apple Macintosh, Commodore Amiga, Sinclair GL, 
Atari ST, Atari Jaguar, Sega Mega Drive, Sega 
Saturn, SNK NeoGeo, Palm Pilot, além de estações 
de Trabalho Unix, Sun, NeXT e Silicon Graphics
• Intel 8086 em diante
Prof. Thiago Delgado Pinto 5
CISC – Exemplos de uso
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Idealizada por Haward Aiken, para o Harvard 
Mark I, em 1944
• Separa memória de dados e de instruções
Prof. Thiago Delgado Pinto 6
Arquitetura de Harvard [1/2]
ULA
Unidade de 
Controle
Memória
para dados
Dispositivos
de E/S
Memória 
para 
instruções
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Apresenta melhor desempenho que a de Von 
Neumann
– Pois pode ler uma instrução e ler/gravar um dado da/na 
memória simultaneamente
– Usa barramentos diferentes
• Enquanto uma instrução está sendo executada, outra 
está sendo lida, simultaneamente.
– Isto é chamado de Pipelining (canalização)
• Apresenta um conjunto simples de instruções
– Logo, usa microcontroladores RISC (Reduced Instruction
Set Computer)
Prof. Thiago Delgado Pinto 7
Arquitetura de Harvard [2/2]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• DEC Alpha
• AMD 29k
• ARC
• ARM
– Apple iPod, Apple iPhone, Apple iPod Touch, Apple iPad, PocketPC, RIM Blackberry, Microsoft 
Windows Mobile, Nintendo Game Boy Advance, NintendoDS, Android smartphones e tablets
• Atmel AVR
– Controles do Xbox, carros da BMW
• Blackfin
• MIPS
– Computadores Silicon Graphics, Sony Playstation 1/2/Portable, Nintendo 64
• HP PA-RISC
– Calculadoras, impressoras, etc.
• Power/PowerPC 
– Apple PowerPC, Nintendo Gamecube, Nintendo Wii, Microsoft Xbox 360, Sony Playstation 3, 
impressoras e carros
• Hitachi SuperH
– Sega Super32x, Sega Saturn, Sega Dreamcast
• Oracle SPARC
Prof. Thiago Delgado Pinto 8
RISC – Exemplos de uso
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Usa uma cache para instruções
• E outra cache para dados
• Não divide a memória
Prof. Thiago Delgado Pinto 9
Arquitetura de Harvard Modificada
ULA
Unidade de 
Controle
Cache de 
dados
Dispositivos
de E/S
Memória
(dados e 
instruções)
Cache de 
instruções
Cache L1 (Nível 1)
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Quando a UCP acessa as caches, age como uma 
máquina de Harvard
• Quando a UCP acessa a memória, age como uma 
máquina de Von Neumann
– Ao acessar a memória, não faz distinção entre 
instruções e dados
– Se um dado/instrução não está na sua respectiva 
cache, copia para a mesma
• Arquitetura bastante usada nas UCPs modernas
Prof. Thiago Delgado Pinto 10
Arquitetura de Harvard Modificada
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Sua unidade básica é o byte.
• Cada byte é rotulado com um número único 
chamado de endereço.
– Geralmente em base hexadecimal
• Valores são guardados como números
Prof. Thiago Delgado Pinto 11
Memória [1/2]
. . .54 68 69 61 67 6f 0
0 1 2 3 FABA FABB FABC ...
...
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• ASCII/ISO é o mais usado para caracteres
– Um byte por caractere (2^8=256 caracteres)
– 0..127 é padrão (ASCII)
• Caracteres de controle, alfabeto, números, símbolos, pontuação, etc.
– 128..255 varia conforme a região (ISO):
• Diacríticos*, símbolos especiais, etc.
– Exemplo: "A" é o representado como 4116 (ou 6510)
• Unicode vem gradualmente o substituindo
– Dois bytes por caractere (2^16=65536 caracteres)
– Permite representar o alfabeto de todos os países e outros 
caracteres especiais.
– Exemplo: "A" é representado como 004116 (ou 006510)
Prof. Thiago Delgado Pinto 12
Memória [2/2]
*=Um diacrítico é um sinal gráfico que se coloca sobre, sob ou através de uma letra para alterar o seu som (fonema). Exs: "ç", "é".
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
Prof. Thiago Delgado Pinto 13
ASCII + ISO/IEC 8859-1 (Latin 1)
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Instruções podem operar sobre dados.
• Estes dados devem estar numa memória 
especial, ainda mais rápida que a cache, 
chamada de registradores.
• O número de registradores é limitado.
– Logo, somente os dados atualmente em uso 
devem ser guardados neles.
Prof. Thiago Delgado Pinto 14
Unidade Central de Processamento [1/2]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Instruções estão em código de máquina, que são 
números.
– Isto simplifica a decodificação da instrução
• Cada número, obviamente, tem um significado
– Por exemplo, 03 equivale a operação de soma (add)
– O significado varia de acordo com a UCP !
• Obviamente, programar assim é tedioso
– Por isso, a linguagem Assembly foi criada
– Nela, é possível escrever código de forma textual
– Um programa irá traduzir-la para código de máquina
Prof. Thiago Delgado Pinto 15
Unidade Central de Processamento [2/2]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Possuem uma linguagem de máquina básica
• 8088 e 8086
– 14 registradores de 16 bits:
• AX, BX, CX, DX, SI, DI, BP, SP, CS, DS, SS, ES, IP e FLAGS
• Cada registrador (de 16 bits, ou seja, 2 bytes) tem:
– Um byte alto (high, ou simplesmente H)
– Um byte baixo (low, ou simplesmente L).
– Caso desejado, AX, por exemplo, pode ter seu byte alto acessado 
individualmente por AH e seu byte baixo acessado 
individualmente por AL
– Memória de programa dividida em segmentos de até 
64 K cada (16 bits, logo 2^16 = 64K)
– UCP suporta até 1MB de memória (RAM)
• Acesso em Modo Real (sem proteção entre programas !)
Prof. Thiago Delgado Pinto 16
Família de UCPs 80x86
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• 80286
– Foi usado nos computadores AT
– Acrescenta instruções na linguagem de máquina 
do 8088/86
– Mesmos registradores de 16 bits
• Agora em Modo Protegido
– Memória de programa continua dividida em 
segmentos de até 64K cada
– UCP suporta até 16 MB de memória
Prof. Thiago Delgado Pinto 17
Família de UCPs 80x86http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• 80386
– Estendeu alguns registradores para 32 bits (4 bytes)
• EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP, EIP, EFLAGS
• Os registradores agora acessam a parte baixa dos novos 
registradores (por exemplo, AX acessa os 16 bit baixos de 
EAX). Não há como acessar os 16 bit altos individualmente.
– Acrescentou dois registradores de 16 bits
• FS e GS (ambos semelhantes à ES)
– Memória de programa dividida em segmentos de até 
4 GB cada (32 bits logo 2^32 = 4 GB)
– UCP suporta até 4 GB de memória
Prof. Thiago Delgado Pinto 18
Família de UCPs 80x86
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• 80486, Pentium, Pentium Pro
– Poucas mudanças estruturais significativas
– Melhoria foi mais de desempenho
• Pentium MMX (MultiMedia eXtensions)
– Acrescentou instruções para acelerar operações 
gráficas comuns
• A partir daí as instruções MMX foram 
incorporadas aos processadores Intel
Prof. Thiago Delgado Pinto 19
Família de UCPs 80x86
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
Prof. Thiago Delgado Pinto 20
Registradores de 16 bits [1/2]
• AX, BX, CX e DX: De propósito geral, geralmente usados para troca de dados e 
operações aritméticas
• SI e DI: De índice, usados geralmente como ponteiros
• BP e SP: (Base Pointer e Stack Pointer) usados para apontar para dados na 
pilha (do código de máquina).
• CS, DS, SS e ES: (Code Segment, Data Segment, Stack Segment e Extra 
Segment) denotam qual segmento de memória está sendo usado pelo código 
do programa.
• IP: (Instruction Pointer) é usado com o CS para denotar a próxima instrução a 
ser executada. Normalmente, assim que uma instrução é executada, IP é 
avançado para o ponto da próxima instrução na memória.
• FLAGS: Armazena informações importantes sobre os resultados de execução 
da instrução anterior.
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
Prof. Thiago Delgado Pinto 21
Registradores de 16 bits [2/2]
16 bits
8 bits 8 bits
AX
AH AL
Exemplo:
8 bits High 8 bits Low
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
Prof. Thiago Delgado Pinto 22
Registradores de 32 bits
32 bits
16 bits 16 bits
8 bits 8 bits
EAX
? AX
AH AL
Exemplo:
8 bits 8 bits ? ?
? significa que o registrador não é
acessível diretamente.
16 bits High 16 bits Low
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Memória é limitada a 1 MB (2^20 bytes)
– Vai de 00000 à FFFFF
• Mas os registradores só tem 16 bytes !
– Como colocar um valor de 20 bytes num registrador 
de 16 bytes ?
– Não coloca. Usa dois... 
• Logo a memória é endereçada por dois 
registradores
– Um é o chamado de seletor
– E o outro de deslocamento (offset)
Prof. Thiago Delgado Pinto 23
Endereçamento em Modo Real [1/3]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Exemplo:
– Seletor = 047C e Deslocamento = 0048
– Na notação padrão é referenciado como 047C:0048
• Para calcular o endereço final de 2 bytes (32 bit), temos 
que somar ambos.
– Porém o byte à esquerda é alto, e deve ser multiplicado por 16
• Multiplicar por 16 em hexa é fácil
– Basta acrescentar um zero à direita ! (como x10 em base decimal)
• Logo:
 seletor * 16 + deslocamento 
 047C*16 + 0048 = 047C0 + 0048 = 04808
Prof. Thiago Delgado Pinto 24
Endereçamento em Modo Real [2/3]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Limitações
– Com 16 bits, só podemos referenciar 2^16 = 64 K
– Por isso o tamanho máximo de segmento (área da 
memória onde fica as instruções do programa) é 64K
– Assim, quando a execução muda de um segmento 
para o outro, o valor de CS deve ser mudado!
• Um problema similar ocorre para endereçamento dados e é 
preciso atualizar DS.
– Além disso, o endereço de um segmento não é único, 
o que pode complicar sua comparação
• 047C:0048 = 047D:0038 = 047E:0028 = 047B:0058
Prof. Thiago Delgado Pinto 25
Endereçamento em Modo Real [3/3]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• No Modo Real, o seletor é um número de um endereço 
físico da memória, do início de um segmento.
• No Modo Protegido, é usada uma técnica chamada de 
Memória Virtual2.
– Só mantém na memória os dados e instruções que os 
programas estão atualmente usando
– Segmentos não usados podem ser movidos para a 
memória secundária (disco) e obtidos quando preciso
– Quando o segmento volta do disco, pode ocupar um 
endereço diferente do que tinha originalmente
– Logo, o endereços dos segmentos não é fixo
Prof. Thiago Delgado Pinto 26
End. em Modo Protegido de 16 bits [1/3]
2- Estudaremos esse assunto futuramente, em Gerência de Memória Virtual
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• O seletor então será um índice de uma tabela de 
mapeamento, que guarda onde está fisicamente 
cada segmento.
• Essa tabela é mantida pelo Sistema Operacional.
• O programa em execução só conhece os índices
desta tabela, e não mais os endereços físicos dos 
segmentos.
Prof. Thiago Delgado Pinto 27
End. em Modo Protegido de 16 bits [2/3]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Limitações
– O limite de segmentos de 64 K ainda existe
Prof. Thiago Delgado Pinto 28
End. em Modo Protegido de 16 bits [3/3]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Com 32 bits, é possível endereçar até 4 GB (2^32)
• Nesta técnica de Memória Virtual, cada segmento 
pode ser dividido em páginas de tamanho fixo, 
usualmente 4 K.
• Agora, somente partes de um segmento (algumas 
de suas páginas) necessitam estar na memória de 
uma só vez, e não o segmento todo.
– Isso é prático, já que um segmento pode ter até 4 GB!
Prof. Thiago Delgado Pinto 29
End. em Modo Protegido de 32 bits [1/2]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• O Sistema Operacional gerenciará as páginas 
utilizadas pelo programa.
• A tabela de mapeamento endereçará essas 
páginas.
• O endereçamento do programa ocorrerá pelo 
índice dessa tabela (endereço virtual).
Prof. Thiago Delgado Pinto 30
End. em Modo Protegido de 32 bits [2/2]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Em certos momentos, o fluxo de um programa 
deve ser interrompido para processar eventos
que precisam ser respondidos prontamente.
• Por exemplo, quando o mouse é movido, seu 
hardware interrompe o programa atual, para que 
ele trate o seu movimento (cursor).
• Interrupções fazem o controle ser passado para 
uma tratadora de interrupção.
Prof. Thiago Delgado Pinto 31
Interrupções [1/7]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Uma tratadora de interrupção é uma rotina que 
processa a interrupção. 
• Uma tabela de vetores de interrupção reside no 
início da memória física.
• Cada vetor de interrupção contém o endereço do 
segmento onde está sua respectiva tratadora de 
interrupção.
• Cada tipo de interrupção é associado a um 
número inteiro, que é o índice desta tabela.
Prof. Thiago Delgado Pinto 32
Interrupções [2/7]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Há interrupções externas, geradas por 
hardware externo à CPU
– Por exemplo, a maioria dos dispositivos de E/S 
gera uma interrupção
• E há interrupções internas, geradas pela 
própria CPU, quando o motivo for
– Erro
– Instrução de Interrupção
Prof. Thiago Delgado Pinto 33
Interrupções [3/7]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Quando uma interrupção interna ocorre por 
motivo de erro, a chamamos de Trap.
– Geralmente uma trap faz a abortar o programa.
• Quando ocorre por uma instrução de 
interrupção, a chamamos de Interrupção de 
Software ou Exceção.
Prof. Thiago Delgado Pinto 34
Interrupções internas [4/7]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/Hardware e Software
Prof. Thiago Delgado Pinto 35
Interrupções internas – Tabela do Intel Pentium [5/7]
Número do Vetor Descrição
0 Erro de divisão
1 Exceção de depuração
2 Interrupção nula
3 Ponto de controle
4 Overflow detectado
5 Exceção de intervalo limite
6 Código do campo de operação (op) inválido
7 Dispositivo não disponível
8 Erro duplo
9 Segmento de sobrecarga do co-processador
10 Segmento de estado de tarefa inválido
11 Segmento não presente
12 Erro de pilha
13 Proteção geral
14 Erro de página
15 Endereço reservado (não utilizado)
16 Erro de ponto flutuante
17 Verificação de alinhamento
18 Verificação de máquina
19-31 Faixa reservada (não utilizada)
32-255 Interrupções mascaráveis
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Ao iniciar o tratamento da interrupção, a 
tratadora salva o valor dos registradores do 
programa em execução.
• Após o término da interrupção, ela restaura o 
valor dos registradores e retorna o controle (de 
execução) para o programa que a gerou.
• Quando ocorrem traps, geralmente o controle 
não é retornado para o programa e sua execução 
é interrompida abruptamente (abortada).
Prof. Thiago Delgado Pinto 36
Interrupções – tratadora [6/7]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Para os programas, as interrupções externas podem 
ocorrer de maneira praticamente transparente, casos 
eles não a tratem ou monitorem.
• O sistema operacional trata as interrupções e permite 
que os programas respondam e interajam com as 
mesmas, através das rotinas de sua API (Application 
Programming Interface).
• Caso desejado, os programas podem criar suas 
próprias rotinas de tratamento de interrupção, 
trabalhando junto ao sistema operacional.
Prof. Thiago Delgado Pinto 37
Interrupções externas – efeito [7/7]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• O Sistema Básico de Entrada e Saída (BIOS) é 
um programa previamente gravado numa 
Flash ROM3 que é responsável pelo
– Reconhecimento e acesso básico ao hardware; e
– Carga do sistema operacional.
Prof. Thiago Delgado Pinto 38
BIOS [1/4]
3- As primeiras placas-mãe usavam ROM e depois PROM, até que no início da década de 1990 passou a ser usada a 
Flash ROM.
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• O sistema também possui um programa de 
configuração (setup)
– As configurações são armazenadas numa memória 
volátil que possui a tecnologia CMOS 
(Semicondutor Metal-óxido complementar), que 
possui baixíssimo consumo.
– Pela memória usar esta tecnologia4, ela pode ser 
alimentada por uma simples bateria de lítio (3V).
– Nesta memória também são armazenadas a data 
e a hora atual do computador.
Prof. Thiago Delgado Pinto 39
BIOS [2/4]
4- Também usada em relógios de pulso e calculadoras.
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• O sistema é executado da Flash ROM pelo 
processador assim que o computador é ligado.
• Assim que inicia, executa um Auto-Teste de 
Inicialização (POST – Power-On Self-Test)
– Identifica e carrega a configuração
– Inicializa todos os dispositivos periféricos ligados à 
placa-mãe
– Inicializa a placa de vídeo
– Testa memória e teclado
Prof. Thiago Delgado Pinto 40
BIOS [3/4]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• Após o POST, o BIOS irá:
– Procurar por um MBR (Master Boot Record) nos 
dispositivos de armazenamentos detectados, na 
ordem pré-configurada (ex: 1º Flash, 2º CD, 3º HD)
– Transferir o programa gravado no primeiro MBR 
detectado para a RAM e o executar.
Prof. Thiago Delgado Pinto 41
BIOS [4/4]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• O Registro Mestre de Inicialização (MBR) é 
uma área do dispositivo de armazenamento 
secundário, com 512 bytes, que é usado para:
– Armazenar o programa que irá efetuar a 
inicialização de um sistema operacional
– Armazenar a tabela de partições do dispositivo de 
armazenamento secundário
– Armazenar o identificador único do hardware, 
chamado de Assinatura
Prof. Thiago Delgado Pinto 42
MBR [1/3]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
Prof. Thiago Delgado Pinto 43
MBR – estrutura interna [2/3]
Endereço Descrição Tamanho (bytes)
0000 Área de código 440 (máx. 446)
01B8 Assinatura do disco 4
01BC Geralmente vazia (preenchida com 0) 2
01BE Tabela de partições primárias
(primeiros 16 bytes seguem o esquema de 
partição IBM)
64
01FE Assinatura da MBR (valores 0x55 e 0xAA) 2
Total: 512 bytes
 Saiba mais em http://en.wikipedia.org/wiki/Master_boot_record
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
http://en.wikipedia.org/wiki/Master_boot_record
Hardware e Software
• Como vimos a área de código da MBR é pequena 
(440-446 bytes).
• Muitas vezes, o programa gravado nela 
simplesmente chama outro, que é lido do 
dispositivo de armazenamento secundário para a 
RAM, e desta executado.
• Esse outro programa geralmente é um 
gerenciador de inicialização (boot manager).
– Que é geralmente instalado pelo sistema operacional
Prof. Thiago Delgado Pinto 44
MBR – redirecionamento [3/3]
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
Hardware e Software
• O Gerenciador de Inicialização, instalado por um 
sistema operacional ou por outro meio, permite 
carregar um sistema operacional.
• Se houverem sistemas operacionais instalados 
em partições diferentes da memória secundária, 
ele pode reconhecer e possibilitar escolher qual 
se deseja iniciar.
• Há também a possibilidade de iniciar a partir de 
um sistema operacional localizado na rede.
Prof. Thiago Delgado Pinto 45
Gerenciador de Inicialização (Boot Manager)
 Saiba mais em http://en.wikipedia.org/wiki/Boot_manager
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
http://en.wikipedia.org/wiki/Boot_manager
Hardware e Software
• No Wikipedia
– http://en.wikipedia.org/wiki/Boot_manager
• Detalhes históricos e de funcionamento do BOOT.
– http://en.wikipedia.org/wiki/Preboot_Execution_Environment e 
http://en.wikipedia.org/wiki/Wake-on-LAN
• Detalhes sobre BOOT pela rede.
– http://en.wikipedia.org/wiki/Master_boot_record
• Detalhes de implementação da MBR.
– http://en.wikipedia.org/wiki/Input/Output_Base_Address
• Endereços de E/S de dispositivos
– http://en.wikipedia.org/wiki/Interrupt_request e 
http://en.wikipedia.org/wiki/Intel_8259
• Detalhes sobre pedidos de interrupção (IRQ)
• Outros
– http://thestarman.pcministry.com
• Informações interessantes sobre BIOS, MBR e Assembly.
Prof. Thiago Delgado Pinto 46
Para saber mais...
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
http://en.wikipedia.org/wiki/Boot_manager
http://en.wikipedia.org/wiki/Boot_manager
http://en.wikipedia.org/wiki/Preboot_Execution_Environment
http://en.wikipedia.org/wiki/Wake-on-LAN
http://en.wikipedia.org/wiki/Wake-on-LAN
http://en.wikipedia.org/wiki/Wake-on-LAN
http://en.wikipedia.org/wiki/Wake-on-LAN
http://en.wikipedia.org/wiki/Wake-on-LAN
http://en.wikipedia.org/wiki/Boot_manager
http://en.wikipedia.org/wiki/Input/Output_Base_Address
http://en.wikipedia.org/wiki/Interrupt_request
http://en.wikipedia.org/wiki/Intel_8259
http://thestarman.pcministry.com/
Fim
• CARTER, Paul A. PC Assembly Language. 2006. Pág. 4-10.
• BACON, Jean; HARRIS, Tim. Operating Systems: Concurrent and
Distributed Software Design. 2003. Addison-Wesley. Section 3.2.
• PIC24MICRO. Introduction to Microcontrollers – Microcontrollers
architecture. Disponível em: <
http://www.pic24micro.com/harvard_vs_von_neumann.html >
• SILBERSCHATZ, Abraham; GALVIN, Peter Baer; GAGNE, Greg. 
Fundamentos de Sistemas Operacionais. 6ª Ed. Editora LTC. Seção 
13.2.2.
Prof. Thiago Delgado Pinto 47
Referências
http://creativecommons.org/licenses/by-nc-sa/3.0/br/
http://www.pic24micro.com/harvard_vs_von_neumann.html
http://www.pic24micro.com/harvard_vs_von_neumann.html

Mais conteúdos dessa disciplina