Buscar

AULAS-LAB-SO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

FATEC – SP - Carapicuíba - Análise e Desenvolvimento de Sistemas - Prof. Tiago Filho PÁG. � PAGE �24�
II) ELEMENTOS DE HARDWARE :	
DIAGRAMA DE BLOCOS DE UM COMPUTADOR
1) CPU - UNIDADE CENTRAL DE PROCESSAMENTO
 RESPONSÁVEL PELA EXECUÇÃO DAS INSTRUÇÕES DOS PROGRAMAS ARMAZENADOS NA MEMÓRIA PRINCIPAL. CADA CPU RECONHECE UM DETERMINADO CONJUNTO DE INSTRUÇÕES, ONDE CADA INSTRUÇÃO CORRESPONDE A UM CIRCUITO NA CPU.
	A UCP TRABALHA EM DOIS ESTADOS DISTINTOS: ESTADO PROBLEMA OU USUÁRIOS E ESTADO SUPERVISOR. NO ESTADO PROBLEMA SÃO EXECUTADAS AS INSTRUÇÕES QUE PODEM SER EXECUTADAS PELO PROGRAMA PROBLEMA, ENQUANTO NO ESTADO SUPERVISOR TODAS AS INSTRUÇÕES PODEM SER EXECUTADAS. 
1.1) COMPONENTES DA CPU :
ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA
EXECUTA AS OPERAÇÕES ARITMÉTICAS E LÓGICAS. POSSUI CIRCUITOS ESPECÍFICOS PARA EXECUÇÃO DAS INSTRUÇÕES DE MÁQUINA.				
										
 		UNIDADE DE CONTROLE :
	RESPONSÁVEL PELA BUSCA DAS INSTRUÇÕES NA MEMÓRIA, NA ORDEM DE EXECUÇÃO ESPECIFICADA PELO PROGRAMADOR E PELA DECODIFICAÇÃO DAS MESMAS.
RELÓGIO:
	GERA PULSOS ELETRÔNICOS QUE IMPULSIONAM E SINCRONIZAM AS ATIVIDADES DOS ELEMENTOS ATIVOS DA CPU. O RELÓGIO CONTROLA O RITMO DE TRABALHO, CUJA FREQÜÊNCIA DETERMINA A DURAÇÃO DO CICLO DE MÁQUINA, QUE CORRESPONDE AO INVERSO DA FREQÜÊNCIA DO CLOCK 
O CICLO DE MÁQUINA DE UM PROCESSADOR CUJA FREQUÊNCIA DE CLOCK É 500 MHZ CORRESPONDE A 1 / 500.000.000, OU 0,000000002 SEGUNDOS OU 2 NANOSEGUNDOS.
REGISTRADORES :
	SÃO PEQUENAS PORÇÕES DE RAM DE ALTA VELOCIDADE, UTILIZADOS PARA CONTER OPERANDOS, PARA COMUNICAÇÃO ENTRE OS APLICATIVOS E O SISTEMA OPERACIONAL E, PRINCIPALMENTE, PARA CONTER VALORES QUE REPRESENTAM OS ENDEREÇOS LÓGICOS DE MEMÓRIA.
	OS ENDEREÇOS LÓGICOS SÃO DERIVADOS DE ENDEREÇOS FÍSICOS, E SÃO FORMADOS POR UM ENDEREÇO FÍSICO ASSOCIADO A UM DESLOCAMENTO, OS QUAIS SÃO DETERMINADOS EM MOMENTOS DISTINTOS. 
	A QUANTIDADE, TAMANHO, E NOMENCLATURA DOS REGISTRADORES SÃO ESPECÍFICOS A DETERMINADA FAMÍLIA DE PROCESSADORES.
	FORMATO DE UMA INSTRUÇÃO :
		
	COD OPER	OPERANDOS
		
		O CÓDIGO DA OPERAÇÃO IDENTIFICA A AÇÃO A SER REALIZADA PELA CPU (SOMA, SUBTRAÇÃO, ETC.)
 	OS OPERANDOS, CUJA QUANTIDADE, TIPICAMENTE, É 1, 2, OU 3 SÃO OS ELEMENTOS QUE SOFRERÃO A AÇÃO EXECUTADA PELA CPU. 				
	
	OS OPERANDOS PODEM SER CLASSIFICADOS EM:
 	IMEDIATOS
	MEMÓRIA,
	REGISTRADOR
	EM FUNÇÃO DOS TIPOS DE OPERANDOS UTILIZADOS, AS INSTRUÇÕES SÃO CLASSIFICADAS EM:
	MEMÓRIA – MEMÓRIA:
			OS DOIS OPERANDOS ESTÃO EM MEMÓRIA (USO RESTRITO).
			Ex.: mov x,y
	MEMÓRIA – REGISTRADOR
			UM OPERANDO EM MEMÓRIA E OUTRO EM REGISTRADOR
			Ex.: add r1,y ; add y,r1
	MEMÓRIA – IMEDIATO
			UM OPERANDO EM MEMÓRIA E OUTRO IMEDIATO.
			Ex.: add y,5
 
	REGISTRADOR – REGISTRADOR
			AMBOS OPERANDOS EM REGISTRADORES.
			Ex.: add r1,r2
		
	REGISTRADOR – IMEDIATO
			UM OPERANDO EM REGISTRADOR E O OUTRO IMEDIATO.
		Ex.: add r1,4
O CICLO DE EXECUÇÃO DE UMA INSTRUÇÃO, OBEDECE AOS SEGUINTES PASSOS :
BUSCA DA INSTRUÇÃO NA MEMÓRIA.
DECODIFICAÇÃO.
CÁLCULO DO ENDEREÇO DA PRÓXIMA INSTRUÇÃO.
ENDEREÇAMENTO DOS OPERANDOS.
ATIVAÇÃO.
VERIFICAÇÃO.	
ARMAZENAMENTO DOS RESULTADOS.
 
	TRÊS ARQUITETURAS DE CPU :
SISD – SINGLE INSTRUCTION SINGLE DATA (ESCALARES).
		CORRESPONDE À MÁQUINA TRADICIONAL DE VON NEUMANN, QUE TEM APENAS UM FLUXO DE INSTRUÇÕES E DE DADOS, EXECUTADO POR UMA ÚNICA CPU E UMA MEMÓRIA. A PRIMEIRA INSTRUÇÃO É BUSCADA NA MEMÓRIA E ENTÃO EXECUTADA, A SEGUIR A SEGUNDA INSTRUÇÃO É BUSCADA E EXECUTADA.
	PODE-SE OBTER ALGUM PARALELISMO NESSA ARQUITETURA, COM MÁQUINAS PIPELINE. (A EXECUÇÃO DA INSTRUÇÃO É FEITA COMO EM UMA LINHA DE MONTAGEM).
ESSA ARQUITETURA CORRESPONDE A UMA MÁQUINA VON NEUMANN COM CARACTERÍSTICA PIPELINE, COM A DISTRIBUIÇÃO DE FUNÇÕES ENTRE 5 UNIDADES.
SIMD – SINGLE INSTRUCTION MULTIPLE DATA (VETORIAL)
MIMD – MULTIPLE INSTRUCTIN MULTIPLE DATA (MULTIPROCESSADA) 
2) BARRAMENTO :												FORMADO POR 4 TIPOS DE LINHAS QUE INTERLIGAM OS COMPONENTES. 
LINHAS DE TENSÃO :
 		UTILIZADAS PARA CONDUZIR ENERGIA AOS COMPONENTES. 		
LINHAS DE CONTROLE :
 		UTILIZADA PARA INDICAR A DIREÇÃO DA MOVIMENTAÇÃO DOS DADOS EM RELAÇÃO À CPU, O MOMENTO DA TRANSFERÊNCIA, ETC. 
2.3) LINHAS DE DADOS :
UTILIZADAS PARA TRÁFEGO DOS DADOS E INSTRUÇÕES ENTRE A CPU / MEMÓRIA / CONTROLADORAS DE ENTRADA E SAÍDA.
	
	O TAMANHO (QTDE. DE BITS) DA BARRA DE DADOS ESTABELECE A QUANTIDADE DE BITS QUE A CPU PODE LER OU GRAVAR COM UM ÚNICO ACESSO (TAMANHO DA PALAVRA). QUANDO REFERENCIAMOS UMA MÁQUINA COMO “DE 8 BITS “, “DE 16 BITS”, ETC., ESTAMOS REFERENCIANDO O TAMANHO DE SUA BARRA DE DADOS.
 	OS TAMANHOS MAIS COMUNS SÃO :
	 - 8 BITS
 - 16 BITS
 - 32 BITS
 - 64 BITS. 
LINHAS DE ENDEREÇOS 
 		UTILIZADAS PARA TRANSMITIR O ENDEREÇO FÍSICO DE MEMÓRIA OU ENDEREÇO DO DISPOSITIVO ONDE SERÁ FEITA A LEITURA OU GRAVAÇÃO.
 	 O TAMANHO (QTDE. DE BITS) LIMITA O TAMANHO MÁXIMO DE MEMÓRIA QUE A CPU PODE ENDEREÇAR, SENDO OS MAIS COMUNS :
 	20 BITS - ENDEREÇAM 1 MB
 	24 BITS - ENDEREÇAM 16 MB 
 		 	 	32 BITS - ENDEREÇAM 4 GB (FFFF FFFF = 4.294.967.295)
Windows como ele distribui a RAM
2.5) MEMÓRIA :
	É A PARTE DO COMPUTADOR OSDE ESTÃO OS PROGRAMAS EM EXECUÇÃO E OS DADOS NECESSÁRIOS À EXECUÇÃO DAS INSTRUÇÕES. 
	A UNIDADE BÁSICA DE MEMÓRIA É O BIT, QUE PODE CONTER OS VALORES ZERO OU UM E QUE, AGRUPADOS DE 8 EM 8 FORMAM OS BYTES PARA A REPRESENTAÇÃO DE CARACTERES. O BYTE É A MENOR PORÇÃO DE MEMÓRIA ENDEREÇÁVEL (CÉLULA). OS CARACTERES SÃO FORMAOS A PARTIR DE DUAS TABELAS: ASCII E EBCDIC.
UNIDADES DE MEDIDAS DE ARMAZENAMENTO EM COMPUTADOR:
			KILOBYTE 	=	1024 BYTES
			MEGABYTE	=	1024 KB
 GIGABYTE	= 	1024 MB
			TERABYTE 	= 	1024 GB
 			PETABYTE 	= 	1024 TB
			EXABYTE	=	1024 PB
			ZETTABYTE =	1024 EB
			YOTTABYTE	=	1024 ZB	 
	
PARA A REPRESENTAÇÃO DOS CARACTERES DOIS MODELOS SÃO UTILIZADOS:
	SBCS (SINGLE BYTE CHARACTER SET) – UTILIZADO NO OCIDENTE, ONDE UM BYTE REPRESENTA UM CARACTERE.
	DBCS (DOUBLE BYTE CHARACTER SET) (PRÉ-UNICODE) – UTILIZADO NO ORIENTE, ONDE CADA CARACTERE É REPRESENTADO EM DOIS BYTES.
EXISTEM VÁRIOS TIPOS DE MEMÓRIA, COM DIFERENTES UTILIZAÇÕES:
 
RAM - RANDOM ACCESS MEMORY
 	MEMÓRIA VOLÁTIL, UTILIZADA PARA ARMAZENAR PROGRAMAS EM EXECUÇÃO E DADOS ACESSÁVEIS POR ESSES PROGRAMAS. A RAM DIVIDE-SE EM 2 GRUPOS : RAM DINÂMICA E RAM ESTÁTICA (MEMÓRIA CACHE). O TAMANHO MÁXIMO É DETERMINADO PELO TAMANHO DA LINHA DE ENDEREÇOS. PODE SER REFERENCIADA COMO MEMÓRIA REAL OU PRINCIPAL
ROM - READ ONLY MEMORY 
	MEMÓRIA APENAS PARA LEITURA, NÃO VOLÁTIL, TAMBÉM CONHECIDA COMO FIRMWARE (HARDWARE PROGRAMADO).
NOS PCs, CONTÉM ROTINAS ESPECIALISTAS DE I/O (MANIPULADORES DE INTERRUPÇÕES) E PROGRAMAS DE PARTIDA DO COMPUTADOR, COMO :
ROTINAS DO BIOS :
 	 
 PRINT-SCREEN (05H)
 	SERVIÇOS DE VÍDEO (10H) 
		LISTA DE EQUIPTOS (11H)
		TAMANHO DA MEMÓRIA (12H)
		ACESSO A DISCO (13H)
		PORTA SERIAL (14H)
 		TECLADO (16H)
		IMPRESSORA (17H)
 	BOOT STRAP (19H)
 	RELÓGIO (1AH)
 	ROM BOOTSPTRAP, POST, SETUP
	EVOLUÇÃO DAS MEMÓRIAS ROM :
 	ROM - FABRICADAS JÁ COM PROGRAMAÇÃO
 	PROM - PROGRAMMABLE ROM 
 	EPROM - ERASEBLE PROM (RAIOS ULTRAVIOLETAS)
 	EEPROM - ELECTRONICALLY EPROM 	
CMOS - COMPLEMENTARY METAL OXIDE SEMICONDUCTOR:
	CHIP COM MEMÓRIARAM COM BAIXO CONSUMO DE ENERGIA, ALIMENTADA POR BATERIA, QUE CONTÉM A CONFIGURAÇÃO BÁSICA DO SISTEMA, A DATA, A HORA, SENHA, ETC.
VIRTUAL 	 
	ÁREA EM DISCO, GERENCIADA PELO SISTEMA OPERACIONAL, QUE FUNCIONA COMO EXTENSÃO DA MEMÓRIA PRINCIPAL. EM SISTEMAS QUE IMPLEMENTAM MEMÓRIA VIRTUAL, QUANDO É SOLICITADA A EXECUÇÃO DE UM PROGRAMA, ELE PRIMEIRO É CARREGADO PARA A MEMÓRIA VIRTUAL E DAÍ PARA A MEMÓRIA PRINCIPAL, DE ACORDO COM A TÉCNICA DE GERENCIAMENTO DE MEMÓRIA UTILIZADA.
 
Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly:
ADD
SUB
MOV
MUL
INC
DEC
CMP
JMP (Instrução JUMP e suas variações condicionais: JE, JZ, JAE, JNZ. ....)
LOOP
XOR
OR
AND
SHL
SHR
OFFSET
POP
PUSH
CLI
STI
CLD
STD
CALL
INT
RET
IRET
 
PROGRAMA DEBUG:
Principais comandos:
D = Dump : lista posições de memória
 
 Ex.:	1) D 100:0 	lista 128 bytes de memória, iniciando em 100:0 
 	2) D CS:0 L B 	lista “b” bytes de memória, iniciando em CS:0 
E = Enter : insere valores Hexa, nas posições de memória especificadas.
 Ex.: E 10:A EB 90 	Insere EB90 na memória, iniciando em !0:A 
G= = Go : Executa a partir do endereço especificado.
	Ex.: G=43:20 	Executa o conteúdo da posição 43:20
 L	= Load : carrega arquivos ou setores físicos do disco para a memória.
	Ex.:1) L 100	Carrega arquivo especificado pelo comando N
			no deslocamento 100.
 2) L 0 1 5 7	Carrega, no deslocamento 0 do segmento apontado por DS, da unidade b: (1), iniciando no setor 5, 7 setores.
 
 N = Name : Nomeia arquivo (posterior carga)
	Ex.: N arquivo.t xt Aponta para arquivo.txt
R = Register : Apresenta o conteúdo dos registradores.
	Ex.: 1) R	Mostra o conteúdo dos registradores.
 
 2) R CS Mostra conteúdo de CS e aguarda modificação.
U = Unassemble : Desmonta programa executável
	Ex.: 1) U 100	Lista as instruções (32 bytes), partindo de CS:100
 	 2) 	U 100 110 Idem de CS:100 a CS:110
 	 3)	U 100 L9 	Idem 9 bytes a partir de CS:100
W = Write : grava arquivo ou setores físicos no disco.
	Ex.: 1) W	Grava arq. nomeado, coloca tamanho em BX:CX
 2) W 80 1 5 7 		Grava 7 setores (inicia no 5) para o drive b:, do endereço CS:80 	 		 
ARQUITETURA DA CPU 8086 DA INTEL
 	Este microprocessador possui dois processadores no mesmo chip, que trabalham assíncronamente. :
ESQUEMA DO PROCESSADOR :
 BIU - Unid. de interface de barramento ( Bus Interface Unit)
EU - Unidade de execução
A BIU :
Proporciona a comunicação com o ambiente exterior à CPU, através de 16 linhas de dados bidirecionais e de 20 linhas de endereçamento,
FUNÇÕES :
	- Busca da instrução 
- Arranjo seqüencial das instruções no Reg. de Fila
	- Busca e armazenamento dos operandos
	- Realocação de endereços 					
	- Controle do barramento
Para isso possui um conjunto de registradores de segmentos, de comunicação interna, indicador de instruções (IP), registro de fila, somador de endereços e lógica de controle de barramento.
Quando ociosa a BIU realiza pré-busca de instruções na memória, armazenando-as no Registro de fila.
 
A EU : 
Realiza a execução das instruções propriamente dita.
FUNÇÕES :
	- BUSCA DAS INSTRUÇÕES NO REG. DE FILA DA BIU
	- DECODIFICAÇÃO DA INSTRUÇÃO
 	- GERA ENDEREÇOS DE OPERANDOS À BIU
	- REQUISITA LEITURA OU GRAVAÇÃO NA MEMÓRIA/PERIF.
	- PROCESSA A OPERAÇÃO ESPECIFICADA PELA INSTRUÇÃO
	- ALTERA OS SINALIZADORES DE ESTADO, Conforme O RESULTADO DA INSTRUÇÃO.
Para realizar essas funções, é composta por: ULA, registrador de FLAGS de estado e controle (sinalizadores), oito Registradores Gerais, Registradores Temporários e lógica de controle de fila.
 
OS REGISTRADORES DO 8086
POSSUI 14 REGISTRADORES, COM 16 BITS CADA, DIVIDIDOS EM 4 GRUPOS :
 1 - REGISTRADORES GERAIS
 2 - REGISTRADORES DE SEGMENTO
 3 - REGISTRADORES PONTEIROS E ÍNDICES
 4 - REGISTRADORES PONTEIROS DE INSTRUÇÕES E DE ESTADO
REGISTRADORES GERAIS :
SÃO OS REGISTRADORES AX, BX, CX e DX QUE PODEM SER USADOS COMO 2 REGISTRADORES DE 8 BITS CADA.
 
 AX AH AL
 BX BH BL
 CX CH CL
 DX DH DL 
 bits 15 8 7 0 
EXEMPLO DE UTILIZAÇÃO :
 AX : ACUMULADOR (OPERAÇÕES ARITMÉTICAS), 
 CONTER CÓDIGO DE SERVIÇOS. 
 BX : BASE DO ENDEREÇO DE MATRIZ
 CX : CONTADOR (LOOPING)
 DX : DADOS, RESTO DE DIVISÃO, DESLOCAMENTOS NO SEGTO. DE
 DADOS, ENDER. PORTA DE SAIDA.
2) REGISTRADORES DE SEGMENTO :
UM PROGRAMA EM SISTEMAS QUE UTILIZAM O PROCESSADOR 8086 PODE ALOCAR ATÉ 4 BLOCOS DE MEMÓRIA, CHAMADOS SEGMENTOS, CUJOS ENDEREÇOS INICIAIS SÃO ARMAZENADOS NOS REGISTRADORES DE SEGMENTO CORRESPONDENTES : 
CS, DS, ES, e SS. 
SEGMENTO DE CÓDIGO
UTILIZADO PARA ARMAZENAR AS INSTRUÇÕES DO PROGRAMA. ESTE SEGMENTO TEM SEU ENDEREÇO INICIAL NO REGISTRADOR CS.
DESLOCAMENTOS DENTRO DO SEGMENTO DE CÓDIGO SÃO ARMAZENADOS NO REGISTRADOR IP (INSTRUCTION POINTER), CUJO VALOR É AUTOMÁTICAMENTE MODIFICADO PELO SISTEMA.		
SEGMENTO DE DADOS
UTILIZADO PARA ARMAZENAR OS DADOS UTILIZADOS PELO PROGRAMA. SEU ENDEREÇO INICIAL É ARMAZENADO NO REGISTRADOR DS.
DESLOCAMENTOS NO SEGMENTO DE DADOS SÃO AR MAZENADOS NOS REGISTRADORES SI (SOURCE INDEX) E DI (DESTINATION INDEX), OU OUTROS.	
 2.3) SEGMENTO EXTRA 
É UTILIZADO COMO SEGMENTO EXTRA DE DADOS. SEU ENDEREÇO INICIAL É ARMAZENADO NO REGISTRADOR ES. DESLOCAMENTOS ARMAZENADOS EM DI.
SEGMENTO DE PILHA
UTILIZADO PARA PERMITIR QUE UM PROGRAMA EM EXECUÇÃO CHAME OUTRO PROGRAMA E RETOME A EXECUÇÃO NO PONTO EM QUE PAROU, QUANDO RECEBER NOVAMENTE O CONTROLE. OS DADOS NO SEGMENTO DE PILHA SÃO ACESSADOS PELA TÉCNICA L.I.F.O.
O ENDEREÇO INICIAL DO SEGMENTO DE PILHA É ARMAZENADO NO REGISTRADOR SS.
DESLOCAMENTOS NO SEGMENTO DE PILHA SÃO ARMAZENADOS EM SP (STACK POINTER) E BP (BASE POINTER). O VALOR DE SP É AUTOMÁTICAMENTE MODIFICADO PELO SISTEMA QUANDO SE INSERE OU RETIRA DADOS DA PILHA.
	
EXERCÍCIOS:
SOLICITE OS SERVIÇOS ABAIXO DO SISTEMA OPERACIONAL, ATRAVÉS DA 
 		INTERRUPÇÃO 21h.
		A) SERVIÇO 2B : “SET DATE”. 	 		 
		AH = 2Bh
		CX = ANO (ENTRE 1980 E 2099)
		DH = MÊS (ENTRE 01 E 12)
		DL = DIA (ENTRE 01 E 31)
		B) SERVIÇO 02 (CHARACTER OUTPUT)
		AH = 02
		DL = CARACTER A EXIBIR (8 BITS)
	
		C) SERVIÇO 09 (DISPLAY STRING)
		AH = 09
		DS:DX = BASE:DESLOC. DO INÍCIO DO STRING (TERMINA C/ $)
		D) SERVÇO 39h (CREATE SUB-DIRECTORY)
		AH = 39h
			DS:DX = BASE:DESLOC. DO PATH/NOME DO SUB-DIRETÓRIO (TERMINA C/
 00h)
			E) SERVIÇO 3Ah (DELETE SUB-DIRECTORY)
			AH = 3Ah
		DS:DX = BASE:DESLOC. DO PATH/NOME DO SUB-DIRETÓRIO (TERMINA C/ 
 00h)
EXECUTE O MANIPULADOR DA INT 10h (BIOS), SERVIÇO 0B E SUB-FUNÇÃO 00 
 		 (DETERMINA A COR DA BORDA DO VÍDEO)
			
			AH = 0Bh BH = 00 BL = CÓDIGO DA CORESQUEMA DE UM PROGRAMA NA MEMÓRIA
ENDEREÇAMENTO PADRÃO USADO PELO S. O. PARA PROGRAMAS .EXE, CARREGADOS NA MEMÓRIA PARA EXECUÇÃO:
REGISTRADORES PROGR. NA MEMÓRIA 
DE SEGMENTO 
 	 					 SEG. DE PILHA	 
 (SP E BP) 
SS 16 bits
 	 SEG. EXTRA (DADOS)
 (DI) 
 
 					 SEG. DE DADOS
 (SI / DI) 
 					 SEG. DE CÓDIGO
 (IP)
CS	 16 bits 
 P.S.P.
DS =ES 16 bits 
SE NÃO HOUVER O SEGMENTO DE PILHA, O VALOR DE SS É IGUAL AO DE CS E SP É ZERO.
O POSICIONAMENTO (ENDEREÇOS) DOS REGISTRADORES DS E ES ABAIXO DECORREM DE INSTRUÇÕES NO PRÓPRIO PROGRAMA, QUE INDICAM O PONTO DO PROGRAMA QUE DEVEM ENDEREÇAR.
REGISTRADORES PROGR. NA MEMÓRIA 
 DE SEGMENTO 
 	 					 SEG. DE PILHA	 
 (SP E BP) 
SS 16 bits
 	 SEG. EXTRA (DADOS)
 (DI) 
ES 16 bits
 					 SEG. DE DADOS
 (SI / DI) 
DS 16 bits
 					 SEG. DE CÓDIGO
 (IP)
CS	 16 bits 
 P.S.P.
COMO O TAMANHO DOS REGISTRADORES É 16 BITS E O TAMANHO DO BARRAMENTO DE ENDEREÇOS (ENDEREÇO FÍSICO) É 20 BITS, UM PROGRAMA SEMPRE É CARREGADO EM ENDEREÇO DE PARÁGRAFO, POSSIBILITANDO TRUNCAR O DÍGITO (4 BITS) MAIS À DIREITA, E RECUPERÁ-LO NO MOMENTO DA FORMAÇÃO DO ENDEREÇO FÍSICO.
	OS SEGMENTOS NÃO SÃO NECESSARIAMENTE SEPARADOS, PODENDO OCORRER SOBREPOSIÇÃO.
 
 	OS ENDEREÇOS CONTIDOS NOS REGISTRADORES DE SEGMENTO, SÃO A CRESCIDOS DE 4 BITS PARA TORNAR O ENDEREÇO FÍSICO RESULTANTE COM 20 BITS, O QUE PERMITE ENDEREÇAR UM TOTAL DE 1MB DE MEMÓRIA RAM. 
 
	O ENDEREÇO FÍSICO DE MEMÓRIA APONTADO PELA CPU É FORMADO A PARTIR DO ENDEREÇO LÓGICO ( VALORES DOS REGISTRADORES DE SEGMENTO (BASE) E DOS REGISTRADORES PONTEIROS/ÍNDICES (DESLOCAMENTO) ASSOCIADOS AO SEGMENTO.
 
 	ENDEREÇO FÍSICO = BASE * 10H + DESLOCAMENTO.
 base desloc 
 	ENDEREÇO LÓGICO(16 BITS) : 7000 : 0123
 ENDEREÇO FÍSICO : 70123
 	 	
	O TAMANHO MÁXIMO DE UM SEGMENTO, UTILIZANDO REGISTRADORES DE DESLOCAMENTO DE 16 BITS, É 64 KB. 
 
	
3) REGISTRADORES PONTEIROS E ÍNDICES
 OS PONTEIROS SP e BP SÃO UTILIZADOS PARA ARMAZENAR DESLOCAMENTOS NO SEGMENTO DE PILHA E OS REGISTRADORES ÍNDICES SI e DI PARA ARMAZENAR DESLOCAMENTOS NOS SEGMENTOS DE DADOS.
SP - (STACK POINTER) PONTEIRO DE PILHA, APONTA PARA A POSIÇÃO DO TOPO DA PILHA, SENDO SEU VALOR AUTOMATICAMENTE MODIFICADO QUANDO INSERIMOS (PUSH) OU RETIRAMOS (POP) DADOS DA PILHA. 
BP - (BASE POINTER) PONTEIRO BASE, UTILIZADO PARA ACESSO DIRETO A ALGUMA POSIÇÃO DA PILHA (PASSAGEM DE PARÂMETROS ENTRE PROGRAMAS) 
		
EXEMPLO DE FUNCIONAMENTO DA PILHA
CONFIGURAÇÃO INICIAL DA PILHA
 
 
 REGISTRADORES ender. SEGTO. DE PILHA 
 físico 
SS 00A8 00A80
 
 + futuras 
 SP 000C entradas 	 na pilha 
 00A8A
 
 00A8C topo da 
 pilha
 	
 entradas 
 anter.
 na pilha
 
B) CONFIGURAÇÃO APÓS COLOCAR O VALOR A01F NA PILHA (PUSH)
REGISTRADORES ender. SEGTO. DE PILHA 
 físico 
SS 00A8 00A80
 Futuras entradas
 + na pilha 
 SP 000A
 00A8A 1F topo da
 A0 pilha 
 00A8C 
 
 entradas
 anteriores
 na pilha
 C) CONFIGURAÇÃO APÓS “RETIRADA” DE A01F DA PILHA
 REGISTRADORES	 ender. SEGTO. DE PILHA 
 físico 
 
 SS 00A8 00A80
 
 	Futuras entradas
 SP 000C 	na pilha 
 00A8A 	1FA0
 00A8C				Topo da
 	pilha
 
 
 	Entradas anter.
 	na pilha 
 	CRESCIMENTO DA PILHA. 
 SE A PILHA OCUPAR UM SEGMENTO DE MEMÓRIA, QUAIS VALORES DE SP INDICAM PILHA CHEIA E VAZIA ?
OBSERVE QUE OS VALORES NUMÉRICOS SÃO ARMAZENADOS COM AS POSIÇÕES MAIS SIGNIFICATIVAS DO NÚMERO NOS ENDEREÇOS MAIORES E AS MENOS SIGNIFICATIVAS NOS ENDEREÇOS MENORES.
 SI - 	UTILIZADO COMO “ÍNDICE FONTE” QUE CONTÉM O DESLOCAMENTO DO 
 	OPERANDO FONTE NO SEGMENTO DE DADOS.
 DI - 	UTILIZADO COMO “ÍNDICE DE DESTINO” QUE CONTÉM O 	DESLOCAMENTO DO OPERANDO DESTINO NO SEGMENTO DE 	DADOS.
 
ESQUEMA :
 DS B000 B0000 
 SI 001C B001C
 DI 001F B001F
REGISTRADORES PONTEIRO DE INSTRUÇÃO (IP) E DE ESTADO (FLAGS)
 	IP - INSTRUCTION POINTER, UTILIZADO PARA CONTER O 	DESLOCAMENTO, NO SEGMENTO DE CÓDIGO, DA PRÓXIMA 	INSTRUÇÃO A SER EXECUTADA.
 CS 7000 70000 
 IP 0123 70123 próx.instr.
 
REGISTRADOR DE FLAGS :
REGISTRADOR DE 16 BITS, NOVE DOS QUAIS SÃO USADOS PARA INDICAR VÁRIAS CONDIÇÕES DURANTE A EXECUÇÃO DE UM PROGRAMA.
	OS BITS 0, 2, 4, 6, 7 e 11 SÃO USADOS COMO FLAGS DE ESTADO QUE DENOTAM RESULTADOS DE OPERAÇÕES NO PROGRAMA.
	OS BITS 8 A 10 CONTÉM FLAGS DE CONTROLE E OS BITS 1, 3, 5 e 12 A 15 NÃO SÃO USADOS.
	
 11
	
 10
	
 9 
	
 8
	
 7
	
 6 
	 
 5
	
 4
	
 3
	
 2
	
 1
	
 0
 O D I T S Z A P C
T = TRAP: MODO PASSO A PASSO
I = INTERRUPT-ENABLE : DESABILITA INTERRUPÇÕES MASCARÁVEIS. 
D = DIREÇÃO: 0: INCREMENTA SI/DI; 1: DECREMENTA SI/DI
Z = ZERO: 1 SE OS OPERANDOS FOREM IGUAIS, 0 SE FOREM DIFERENTES
C = CARRY: 1 SE RESULT. > 16 BITS OU NÚMERO NEGATIVO NA SUBTRAÇÃO
 NA COMPAR: 2O. > 1O. , ZERO SE 2O. <= 1O. 
A= AUXILIAR: IGUAL CARRY, PARA 8 BITS.
P= PARIDADE: 1 SE RESULT. DE OPERAÇÃO GERAR QTDE PAR DE BITS.
S=SINAL: 1 SE RESULTADO FOR NEGATIVO, 0 SE POSITIVO.
O=OVERFLOW: ESTOURO.
POSIÇÕES DE MEMÓRIA RESERVADAS AO PROCESSADOR.
	PARA O FUNCIONAMENTO DOS PROCESSADORES DA FAMÍLIA 8086 ALGUMAS POSIÇÕES DE MEMÓRIA SÃO RESERVADAS PARA USO ESPECÍFICO DA CPU.
	OS ENDEREÇOS DE FFFF0 H ATÉ FFFFF H (ROM) SÃO RESERVADOS PARA CONTER UM ‘JUMP’ PARA A ROTINA DE ‘INITIAL PROGRAM LOADING’ (BOOT), QUE É EXECUTADA SEMPRE QUE O SISTEMA É LIGADO (POWER ON) OU FOR PRESSIONADA A TECLA ‘RESET’.
	OS ENDEREÇOS 00000 H ATÉ 003FF H (TABELA DE VETORES DE INTERRUPÇÕES - TVI) SÃO RESERVADOS AO ATENDIMENTO DAS 256 POSSÍVEIS INTERRUPÇÕES DIRECIONADAS AO PROCESSADOR, NUMERADAS DE 00H a FFH. 
 	fffff h 
 Jump para a rotina 
 ‘rom bootstrap’ 	ffff0 h
 
 ponteiro p/ int. 255 (ff) 	3ff h
 	3fc h 
				 ponteiro p/ int 1 7h
		4h			
				 ponteiro p/ int 0 3h 		
 						 0h 
A TABELA DE VETORES DE INTERRUPÇÕES É DIVIDIDA EM 256 ENTRADAS DE 4 BYTES CADA :
	 2 BYTES PARA A BASE E
	 2 BYTES PARA O DESLOCAMENTO A PARTIR DA BASE 
ESSES 2 VALORES FORMAM O ENDEREÇO LÓGICO DO MANIPULADOR DA INTERRUPÇÃO NA MEMÓRIA 
INTERRUPÇÕES :
O TRABALHO EXECUTADO PELO NÚCLEO DE UM S. O. MULTIUSUÁRIO PODE SER REPRESENTADO EM UNIDADES FUNCIONAIS :
 
	
	 INTERPRETADOR DE INTERRUPÇÕES :
 RECEBE O CONTROLE QUANDO UMA INTERRUPÇÃO (GERADA PELA CHAMADA AO SISTEMA – SYSTEM CALL) INDICA A SOLICITAÇÃO DE SERVIÇOS AO SISTEMA OPERACIONAL.
	 APÓS EXECUTAR A TAREFA SOLICITADA O CONTROLE RETORNA AO PROGRAMA QUE ESTAVA EM EXECUÇÃO, ANTES DA SOLICITAÇÃO DE NTERRUPÇÃO.
	INTERRUPÇÃO:
 		É UM SINAL ENVIADO PARA A UCP, INDICANDO QUE ALGUMA TAREFA DEVE SER EXECUTADA, PODENDO SER GERADA POR HARDWARE OU POR SOFTWARE.
		AS INTERRUPÇÕES POR HARDWARE SÀO CLASSIFICADAS EM:
			
		INTERNAS 	– 	DIRECIONADAS DIRETAMENTE À UCP
		EXTERNAS 	– 	GERADAS POR CONTROLADORAS DE 
 PERIFÉRICOS E CANALIZADAS À UCP PELO PIC
		MASCARÁVEIS 	– 	PODEM SER DESABILITADAS
 NÃO MASC. 	– 	GERADAS POR EVENTOS GRAVES (PARIDADE, 
 				 	FALTA DE ENERGIA)
		AS INTERRUPÇÕES POR SOFTWARE ESTÃO CONTIDAS NO CÓDIGO DO PROGRAMA QUE AS GERA. 
 EX.: INT 21 (DOS / WIN)
		A ROTINA (MANIPULADOR DE INTERRUPÇÃO – INTERRUPT HANDLER) A SER ATIVADA É IDENTIFICADA A PARTIR DO NÚMERO DA INTERRUPÇÃO, QUE NOS PCs SÃO NUMERADAS DE 00h A FFh (256 INTERRUPÇÕES).
		NA MAIORIA DOS SISTEMAS MODERNOS, O DESVIO PARA A ROTINA MANIPULADORA DA INTERRUPÇÃO É FEITO A PARTIR DE UMA TABELA DE VETORES DE INTERRUPÇÕES QUE CONTÉM O ENDEREÇO LÓGICO DE MEMÓRIA ONDE SE ENCONTRA O MANIPULADOR. 
		NESSE CASO, O NÚMERO DA ÍNTERRUPÇÃO SERVE COMO ÍNDICE PARA LOCALIZAR A ENTRADA DA TABELA QUE CONTÉM O ENDEREÇO DO MANIPULADOR.
MANIPULADORES DE INTERRUPÇÕES:
		OS MANIPULADORES DE INTERRUPÇÕES SÃO ROTINAS PERTENCENTES AO BIOS (ROM), AO SISTEMA OPERACIONAL (RAM), OU DESENVOLVIDAS PELOS USUÁRIOS (RAM). TEM COMO CARACTERÍSTICAS: DEVOLVER OS REGISTRADORES COM OS MESMOS VALORES QUE RECEBEU; EM AMBIENTE MONOTAREFA NÃO DEVE CHAMAR O SISTEMA OPERACOINAL, DEVENDO INTERAGIR DIRETAMENTE COM O BIOS; COLOCAR O ENDEREÇO LÓGICO DE MEMÓRIA, ONDE FOI CARREGADO, NA TVI; TEMINAR COM A INSTRUÇÃO IRET; RESERVAR A QTDE DE RAM QUE NECESSITA EM NÚMEROS DE PARÁGRAFOS. A INTERAÇÃO COM O HARDWARE, PARA UM APLICATIVO QUALQUER. PODE SER REPRESENTADA COMO ABAIXO: 
	
	
	
PROCESSO DE TRATAMENTO : 
 QUANDO RECEBE UMA INTERRUPÇÃO A CPU :
	
DESABILITA O SISTEMA DE INTERRUPÇÕES
SALVA O CONTEÚDO DOS REGISTRADORES CS, IP e FLAGS NA PILHA.
CALCULA A POSIÇÃO DA ENTRADA NA TVI, QUE CONTÉM O ENDEREÇO DO MANIPULADOR DA INT (O NR. DA INT MULTIPLICADO POR 4, APONTA PARA O PRIMEIRO BYTE DA ENTRADA NA TVI)
CARREGA CS E IP COM O ENDEREÇO DO MANIPULADOR.
DESVIA PARA O ENDEREÇO DO MANIPULADOR.
QUANDO RETOMA O CONTROLE NOVAMENTE, RESTAURA OS VALORES SALVOS NA PILHA E RETOMA O TRABALHO INTERROMPIDO.
EXERCÍCIOS:
1) UTILIZANDO O COMANDO G= DO DEBUG ACIONE O MANIPULADOR DA INT 19h.
2) ALTERE A TABELA DE VETORES DE INTERRUPÇÕES PARA:			
	A) EXECUTAR O MANIPULADOR DA INT. 19h QUANDO FOR 
 PRESSIONADA A TECLA “PRINT SCREEN” (INT 05h).
B) EXECUTAR O ENDEREÇO DE RESET (FFFF0h) QUANDO FOR 
 PRESSIONADAA TECLA “PRINT SCREEN” (INT 05h).
HISTÓRICO DOS MICROPROCESSADORES DA INTEL 
8086 (JUN/78)
REGISTRADORES = 16 BITS
BARRA DE DADOS = 16 BITS
BARRA DE ENDEREÇOS = 20 BITS
8088 (FEV/79)
REGISTRADORES = 16 BITS
BARRA DE DADOS = 8 BITS
BARRA DE ENDEREÇOS = 20 BITS
80186 E 80188 (MAR/82)
MESMA ARQUITETURA DOS ANTERIORES
NOVAS INSTRUÇÕES
80286 (FEV/82)
REGISTRADORES = 16 BITS
BARRA DE DADOS = 16 BITS
BARRA DE ENDEREÇOS = 24 BITS
MODO REAL E MODO PROTEGIDO
80386 DX (OUT/85)
REGISTRADORES = 32 BITS
BARRA DE DADOS = 32 BITS
BARRA DE ENDEREÇOS = 32 BITS
MODO REAL E MODO PROTEGIDO
80386 SX (JUN/88)
REGISTRADORES = 32 BITS
BARRA DE DADOS = 16 BITS
BARRA DE ENDEREÇOS = 32 BITS
MODO REAL E MODO PROTEGIDO
80486 DX (ABR/89)
REGISTRADORES = 32 BITS
BARRA DE DADOS = 32 BITS
BARRA DE ENDEREÇOS = 32 BITS
CACHE DE MEMÓRIA EMBUTIDO NO PROCESSADOR
CO-ROCESSADOR ARITMÉTICO
80486 SX (ABR/89)
EXCLUI O CO-PROCESSADOR ARITMÉTICO
PENTIUM (1992)
REGISTRADORES 	= 32 BITS
BARRA DE DADOS 	= 64 BITS
BARRA DE ENDEREÇOS 	= 32 BITS
MODO REAL X MODO PROTEGIDO
MODO REAL :
NESSE MODO DE ENDEREÇAMENTO, O ENDEREÇO REAL RESULTA DIRETAMENTE OS VALORES CONTIDOS NOS REGISTRADORES.
MODO PROTEGIDO : 
O VALOR CONTIDO NO REGISTRADOR DE SEGMENTO (ENDEREÇO BASE) APONTA PARA UMA TABELA, CONTROLADA PELO HARDWARE OU S. O., QUE CONTÉM A BASE QUE FORMARÁ, JUNTAMENTE COM O VALOR DE DESLOCAMENTO, O ENDEREÇO FÍSICO.
Ex.:
CS 0A23 TABELA 
IP 01BA
 
 0432AB 0432AB
 + 01BA
 
 043465 = Endereço Físico 
 
 SISTEMA DE ARQUIVOS
 VERSÃO MELHORADA DO IOCS (INPUT OUTPUT CONTROL SYSTEM) DOS ANTIGOS SISTEMAS BATCH. 
	O SISTEMA DE ARQUIVOS, GERALMENTE INSERIDO NO NÚCLEO DOS SISTEMAS OPERACIONAIS, É FORMADO POR ROTINAS PROGRAMADAS, RESPONSÁVEIS PELA CRIAÇÃO, RECUPERAÇÃO, MODIFICAÇÃO E ELIMINAÇÃO DOS DADOS REGISTRADOS NOS PERIFÉRICOS. EXEMPLOS DE SISTEMAS DE ARQUIVOS: HPFS, NTFS, FAT, EXT2.
	PARA O FUNCIONAMENTO DO SISTEMA DE ARQUIVOS, OS MEIOS DE ARMAZENAMENTO, NOTADAMENTE OS DISCOS MAGNÉTICOS, DEVEM SEGUIR UM ESQUEMA RÍGIDO QUANTO AS SEU FORMATO (ÁREAS DE CONTROLE E ÁREAS DE DADOS). 
DISCOS MAGNÉTICOS
	INTERNAMENTE, OS DISCOS MAGNÉTICOS SÃO ESTRUTURADOS EM CILINDROS, TRILHAS E SETORES. 
	TRILHAS: SÃO CIRCUNFERÊNCIAS CONCÊNTRICAS, REPRESENTADAS NAS FACES DAS LÂMINAS QUE FORMAM O DISCO.
	SETORES: SÃO SEGMENTOS DE TRILHAS ONDE OS DADOS SÃO GRAVADOS. OS SETORES TÊM, TIPICAMENTE, 512 BYTES DE TAMANHO, EXISTINDO A MESMA QUANTIDADE DE SETORES EM QUALQUER TRILHA DE UM MESMO DISCO. 
	CILINDROS: SÃO FORMADOS PELO CONJUNTO DE TRILHAS EQÜIDISTANTES AO CENTRO DO DISCO.
	A LOCALIZAÇÃO DE UM DADO EM UM DISCO MAGNÉTICO É OBTIDA PELA INDICAÇÃO DO CILINDRO, CABEÇA E No. DO SETOR
	O TEMPO DE ACESSO A UM DADO EM DISCOS MAGNÉTICOS É FORMADO POR TRÊS TEMPOS SIGNIFICATIVOS COMBINADOS:
TEMPO DE SEEK (BUSCA): TEMPO DE POSICIONAMENTO DO MECANISMO DE ACESSO (BRAÇOS) AO CILINDRO INDICADO PARA LER OU GRAVAR.
TEMPO DE LATÊNCIA: TEMPO DE ESPERA PELA PASSAGEM DO SETOR SOB A CABEÇA DE R/W.
TEMPO DE TRANSFERENCIA DOS DADOS LIDOS OU GRAVADOS.
 
FORMATAÇÃO :
	PARA SEREM UTILIZADOS, OS DISCOS MAGNÉTICOS DEVEM SER FORMATADOS, EXISTINDO 2 TIPOS DE FORMATAÇÃO : 
 FORMATAÇÃO FÍSICA E 
 FORMATAÇÃO LÓGICA
FORMATAÇÃO FÍSICA :
	NORMALMENTE É REALIZADA PELO FABRICANTE DO DISPOSITIVO, E CONSISTE EM MAPEAR OS SETORES DO DISCO (LOCAIS ONDE OS DADOS SERÃO GRAVADOS).
FORMATAÇÃO LÓGICA :
	É REALIZADA ATRAVÉS DE UM PROGRAMA UTILITÁRIO, QUE ACOMPANHA O SISTEMA OPERACIONAL (p.ex. FORMAT) QUE VAI ESTABELECER O TAMANHO E A LOCALIZAÇÃO DAS ÁREAS DE CONTROLE E DE DADOS, DE ACORDO COM O PADRÃO UTILIZADO PELO SISTEMA OPERACIONAL. 
PARTICIONAMENTO:
	CONSISTE EM DIVIDIR O VOLUME FÍSICO (DISK-PACK), EM ATÉ QUATRO PARTIÇÕES PRIMÁRIAS / EXTENDIDA, ONDE CADA PARTIÇÃO FUNCIONA COMO UM DISCO ISOLADO DAS DEMAIS PARTIÇÕES. OS DISCOS RIGIDOS SÃO PARTICIONADOS APÓS A FORMATAÇÃO FÍSICA E ANTES DA LÓGICA. 
	O MAPEAMENTO DAS PARTIÇÕES É FEITO NO REGISTRO MESTRE DE INICIALIZAÇÃO (MBR), INDICANDO O CILINDRO, FACE E SETOR INICIAIS E FINAIS, A QUANTIDADE DE SETORES, O TIPO DE SISTEMA OPERACIONAL INSTALADO, SE É “BOOTÁVEL” OU NÃO.
	GERALMENTE O MBR É LOCALIZADO NO CILINDRO 0, FACE 0 E SETOR 1, SENDO ESSA TRILHA RESERVADA PARA ESSE FIM. ( A PRIMEIRA PARTIÇÃO COMEÇA NO CILINDRO 0, FACE 1 E SETOR 1). 
	O PARTICIONAMENTO PODE SER DESTRUTIVO (OS DADOS EXISTENTES SE PERDEM) OU NÃO DESTRUTIVO (OS DADOS DE UMA PARTIÇÃO SÃO MANTIDOS).
	PODEMOS ACESSAR O MBR, UTILIZLANDO A INTERRUPÇÃO 13h DO BIOS:
LAY-OUT DO MBR (MASTER BOOT RECORD):
 Deslocamento bytes conteúdo Obs
		000 1BE 	Master Boot Program
		1BE		1	 	Carregador 		 80 = boot
 		1BF		1		Face inicial		
		1C0		1		Setor inicial 
		1C1		1		Cilindro inicial
Part. 1		1C2		1		Tipo da partição *
		1C3		1		Face final
		1C4		1		Setor final
		1C5		1		Cilindro final
		1C6		4		Setor inicial da partição
		1CA		4		Qtde. de setores da partição			
		1CE		1	 	Carregador 		 80 = boot
 		1CF		1		Face inicial		
		1D0		1		Setor inicial 
		1D1		1		Cilindro inicial
Part. 2		1D2		1		Tipo da partição *
		1D3		1		Face final
		1D4		1		Setor final
		1D5		1		Cilindro final
		1D6		4		Setor inicial da partição
		1DA		4		Qtde. de setores da partição	
		1DE		1	 	Carregador 		 80 = boot
 		1DF		1		Face inicial		
		1E0		1		Setor inicial 
		1E1		1		Cilindro inicial
Part. 3		1E2		1		Tipo da partição *
		1E3		1		Face final
		1E4		1		Setor final
		1E5		1		Cilindro final
		1E6		4		Setor inicial da partição
		1EA		4		Qtde. de setores da partição	
		1EE		1	 	Carregador 		 80 = boot
 		1EF		1		Face inicial		
		1F0		1		Setor inicial 
		1F1		1		Cilindro inicial
Part. 4		1F2		1		Tipo da partição *
		1F3		1		Face final
		1F4		1		Setor final
		1F5		1		Cilindro final
		1F6		4		Setor inicial da partição
		1FA		4		Qtde. de setores da partição	
 	1FE 	2		55AA
	*Alguns tipos de partições: 0=vazia; 1=FAT12; 4=FAY!6 (< 32M); 8/9=AIX / Inicializ.; b=FAT32 Win95; C=FAT32 Win95 LBA; E=FAT16 WIN95 LBA; F=Estendida Win95; 82=Linux Swap; 83=Linux
	
DIVISÃO FUNCIONAL DOS DISCOS FORMATADOS PARA FAT:
 
 SETOR DE BOOT
 
 F.A.T. 
 CÓPIA DA FAT
 DIRETÓRIO RAIZ
 ÁREA DE ARQUIVOS 
 E SUB-DIRETÓRIOS
SETOR DE BOOT:
	
	É O PRIMEIRO SETOR DO DISCO (SETOR # O), QUE SEMPRE CONTERÁ UM JUMP PARA A ROTINA DISK BOOTSTRAP, O B.P.B. QUE CONTÉMINFORMAÇÕES SOBRE AS CARACTERÍSTICAS FÍSICAS DO DISCO, E DADOS QUE PERMITEM ESTABELECER A LOCALIZAÇÃO DAS ÁREAS DO DISCO (FAT, DIRETÓRIO RAIZ E ÁREA DE ARQUIVOS) E O PROGRAMA DISK BOOTSTRAP, QUE TEM COMO FUNÇÃO LOCALIZAR E CARREGAR PARA A MEMÓRIA OS ARQUIVOS ONDE ESTÁ CONTIDO O SISTEMA OPERACIONAL, DURANTE A INICIALIZAÇÃO DO SISTEMA. . 
 FORMATO :
	
Jump para Disk Bootstrap
	
 Fabricante / versão SO
	
Bios Parameter Block
	
 Disk Bootstrap
LAY-OUT DO SETOR DE BOOT (SETOR # 0) PARA FAT12 E FAT16
 Deslocamento	tamanho em bytes	descrição
	00h		3		Jump para o programa Diskbootstrap.
	03h		8		String de Identificação do sistema. 		
	0Bh		2		Qtde de bytes por setor.
	0Dh		1		Qtde de setores por grânulo (cluster).
 	0Eh		2		Qtde de setores da área reservada.	
	10h		1		Qtde. de FATs.
	11h		2		Qtde de entradas no diretório raiz.
	13h		2		Qtde total de setores no volume.
	15h		1		Descritor de mídia.
	16h		2		Qtde de setores por FAT.
	18h		2		Qtde de setores por trilha.
	1Ah		2		Qtde de cabeças.
	1Ch		4		Qtde de setores escondidos.
	20h		4		Qtde total de setores no volume (se 13h = 0)
	24h		1		Número físico do drive. 
	25h		1		Reservado.
	26h		1		Assinatura (29h).
	27h		4		Número serial do volume.
	2Bh	 11		Label do Volume.
	36h		8		Tipo da FAT (FAT12 ou FAT!6).
 3Eh		??		Disk bootstrap
LAY-OUT DO SETOR DE BOOT (SETOR # 0) PARA FAT32
 Deslocamento	tamanho em bytes	descrição
	00h		3		Jump para o programa Diskbootstrap.
	03h		8		String de Identificação do sistema. 		
	0Bh		2		Qtde de bytes por setor.
	0Dh		1		Qtde de setores por grânulo (cluster).
 	0Eh		2		Qtde de setores da área reservada.	
	10h		1		Qtde. de cópias da FAT.
	11h		2		Zeros.
	13h		2		Zeros.
	15h		1		Descritor de mídia (F8).
	16h		2		Zeros.
	18h		2		Qtde de setores por trilha.
	1Ah		2		Qtde de cabeças.
	1Ch		4		Qtde de setores escondidos.
	20h		4		Qtde de setores no volume.
	24h		4		Qtde de setores por FAT (se 16h = 0). 
	28h		1		Indicador de FAT ativa (0).
	29h		1		Versão do sistema de arquivos (0).
	2Ah		2		Sub-versão do sistema de arquivos (0).
	2Ch	 	4 		Primeiro grânulo do diretório raiz (2).
	30h		2		Setor do sistema de arquivos (1).
 32h		2		Backup do setor de boot (6).
	34h	 12		Reservados.
	40h		1		Número físico do drive (128).
	41h		1		Reservado.
	42h		1		Assinatura (29h).
	43h		4		Número serial do volume.
	47h	 11		Label do Volume.
	52h		8		Tipo de FAT (FAT32)
	5Ah	 ???		Disk bootstrap.		
O PRIMEIRO CLUSTER DO DIRETÓRIO RAIZ (OFFSET 2CH) INDICA A POSIÇÃO DO DISCO ONDE INICIA O DIRETÓRIO RAIZ, AGORA COM TAMANHO VARIÁVEL E ENCADEADO PELA FAT.
O SETOR DO SISTEMA DE ARQUIVOS (OFFSET 30H) INFORMA SOBRE A OCUPAÇÃO DO DISCO (QUAL O 1O. GRÂNULO LIVRE E QTDE DE GRÂNULOS LIVRES). 
FORMATO DAS ENTRADAS NOS DIRETÓRIOS PARA FAT12 E FAT16 BITS:
QUALQUER ARQUIVO QUE SEJA GRAVADO EM DISCO, OCUPARÁ UMA ENTRADA NO DIRETÓRIO RAIZ OU SUB-DIRETÓRIO NO QUAL SEJA DEFINIDO. CADA ENTRADA DE DIRETÓRIO OCUPA 20h (32d) BYTES QUE DESCREVEM O ARQUIVO PARA O SISTEMA.
LAY-OUT DAS ENTRADAS DE DIRETÓRIOS:
 00h
 08h
 0Bh
 
 0Ch 
 
 16h
 18h
 
 1Ah 
 
 1Ch
 
OS VALORES AO LADO DO QUADRO REPRESENTAM O DESLOCAMENTO DO PRIMEIRO BYTE DO CAMPO, EM RELAÇÃO AO INICIO DA ENTRADA. 
DESCRIÇÃO DO CONTEÚDO DOS CAMPOS:
FILENAME: REPRESENTA O NOME ATRIBUÍDO AO ARQUIVO, COM ATÉ 8 CARACTERES ANTES DO PONTO DA EXTENSÃO.
O VALOR DO PRIMEIRO CARACTER DO NOME PODE SIGNIFICAR:
 00h: ENTRADA DO DIRETÓRIO NUNCA USADA
 2Eh: A ENTRADA REFERE-SE A UM SUB-DIRETÓRIO SE O SEGUNDO
 CARACTERE FOR 2Eh (.) A ENTRADA REFERE-SE AO DIRETÓRIO PAI .
 E5h: ARQUIVO DELETADO. 
 
EXTENSÃO : TRÊS BYTES PARA A EXTENSÃO DO NOME.
ATRIBUTOS : UM ATRIBUTO DE ARQUIVO ESTARÁ ATIVO 
 QUANDO SEU BIT CORRESPONDENTE VALER 1.
 BIT SIGNIFICADO
SOMENTE LEITURA
ARQUIVO OCULTO
ARQUIVO DO SISTEMA
NOME DE VOLUME (SÓ NO RAIZ).
ENTRADA DE SUB-DIRETÓRIO.
ARQUIVO MODIFICADO
6 E 7 RESERVADOS
D) HORA/MIN/SEG DA ÚLTIMA ALTERAÇÃO
 
 BITS CONTEÚDO
 0 a 4	SEGUNDOS (INCREMENTA 1 A CADA 2 SEG 
 5 a A 	MINUTOS
 B a F HORA
E) DATA DA ÚLTIMA ALTERAÇÃO 
 
 BITS CONTEÚDO 
 0 a 4 	DIA DO MÊS
 5 a 8	NR. DO MÊS
 9 a F 	NR. DO ANO (RELATIVO A 1980)
NÚMERO DO GRÂNULO INICIAL 
CONTÉM O NÚMERO DO PRIMEIRO GRÂNULO OCUPADO PELO ARQUIVO, NA ÁREA DE ARQUIVOS E SUB-DIRETÓRIOS.
TAMANHO DO ARQUIVO 
CORRESPONDE À QUANTIDADE EXATA DE BYTES QUE O ARQUIVO OCUPA NO DISCO, INCLUINDO BYTES DE CONTROLE (CR, LF, etc)
 
 
 
PROPRIEDADES DO DIRETÓRIO RAIZ PARA FAT12 E FAT16 BITS :
A QUANTIDADE DE ENTRADAS NO DIRETÓRIO RAIZ VARIA DEPENDENDO DA CAPACIDADE DO DISCO, PORÉM ESSA QUANTIDADE PERMANECE FIXA EM UM DADO DISCO. OS POSSÍVEIS TAMANHOS DO DIRETÓRIO RAIZ SÃO:
DISCO CAPACIDADE SETORES DO RAIZ QTDE DE ENTRADAS
 5,25 “ 360 KB 7 	112
 5,25 “ 1,2 MB 14 	224 
 3,25 “ 720 KB 7 	112
 3,25 “ 1,4 MB			14			 	224
 HD --		 32		 	512		 
APÓS A VERSÃO 2.0 O DOS SUPORTA SUB-DIRETÓRIOS QUE, COMO O RAIZ, CONTROLAM ARQUIVOS, SEM A RESTRIÇÃO DE TAMANHO FIXO, FUNCIONANDO COMO UMA EXTENSÃO DO DIRETÓRIO RAIZ.
UM SUB-DIRETÓRIO SEMPRE ESTÁ ASSOCIADO A OUTRO DIRETÓRIO (RAIZ OU SUB-DIRETÓRIO).
ÁREA DE ARQUIVOS E SUB-DIRETÓRIOS :
É UTILIZADA PARA ARMAZENAR OS REGISTROS DOS ARQUIVOS E ENTRADAS DE SUB-DIRETÓRIOS.
ESSA ÁREA É ESTRUTURADA EM GRÂNULOS, QUE É FORMADO POR UM CONJUNTO DE SETORES (1, 2, 4, 8,...). O NÚMERO DE SETORES POR CLUSTER É SEMPRE UMA POTÊNCIA DE 2, SENDO NO MÁXIMO 64 SETORES NO WIN/9x E 128 SETORES NO WIN/NT. UM GRÂNULO CORRESPONDE A UNIDADE MÍNIMA DE ALOCAÇÃO PARA UM ARQUIVO OU SUB-DIRETÓRIO. OS GRÂNULOS DE UM MESMO ARQUIVO PODEM SER CONSECUTIVOS OU NÃO, SENDO ENCADEADOS ATRAVÉS DA FAT (FILE ALLOCATION TABLE).
PARA CADA GRÂNULO NO DISCO, EXISTE UMA ENTRADA CORRESPONDENTE NA FAT, QUE CONTROLA SUA UTILIZAÇÃO.
FAT 
 
GRÂNULOS : # 2 # 3 # 4 # N-1 # N
TAMANHOS DOS GRÂNULOS PARA DISQUETES
		 Disquete capacidade tamanho do grânulo
	5 ¼ “		360 KB		2 setores
			 1.2 MB		1 setor
 3 ½ “	 720 KB		2 setores
				 1,4 MB		1 setor
	2,8 MB		2 setores
TAMANHOS DOS GRÂNULOS PARA DISCOS RÍGIDOS
A POSIÇÃO DE UM GRÂNULO NO DISCO PODE SER OBTIDA A PARTIR DE SEU NÚMERO, SENDO 2 O NÚMERO DO PRIMEIRO GRÂNULO NA ÁREA DE ARQUIVOS (NÃO EXISTEM GRÂNULOS DE NÚMEROS 0 E 1).
A LOCALIZAÇÃO DE UM GRÂNULO (SETOR OU BYTE) NO DISCO ÉDADA POR:
 PG = TAR + TFATs + TDR + (NG – 2) * TG
PG : POSIÇÃO DO GRÂNULO
TAR : TAMANHO DA ÁREA RESERVADA.
TFATs : TAMANHO DA FAT E DE SUA CÓPIA
TDR : TAMANHO DO DIR. RAIZ (QTDE. DE ENTRADAS * 20h bytes) 
NG : NÚMERO DO GRÂNULO
TG : TAMANHO DO GRÂNULO 
OBS.: PARA FAT32 A FÓRMULA DEVE EXCLUIR O TAMANHO DO DIRETÓRIO RAIZ.
TABELA DE ALOCAÇÃO DE ARQUIVOS (FAT – FILE ALLOCATION TABLE)
CONTÉM O MAPA DE UTILIZAÇÃO DOS GRÂNULOS DO ARQUIVO ATRAVÉS DE SUAS ENTRADAS (UMA PARA CADA GRÂNULO), QUE PODEM TER 12, 16 OU 32 BITS CADA. 
A QUANTIDADE DE BITS DE CADA ENTRADA DA FAT, DETERMINA A QUANTIDADE MÁXIMA DE GRÂNULOS ENDEREÇÁVEIS, O QUE SE REFLETE NO TAMANHO DE CADA GRÂNULO.
	12 BITS = 4096 GRÂNULOS.
	16 BITS = 65.536 GRÂNULOS.
	32 BITS = 256 Mega GRÂNULOS (utiliza apenas 28 bits).
EXEMPLO DE TAMANHOS DE GRÂNULOS PARA FAT DE 16 BITS (Win/NT)
	TAMANHO DA PARTIÇÃO
	 SETORES POR GRÂNULO
	TAMANHO DO GRÂNULO 
	ATÉ 511 MB
	 16
	 8 KB
	 1.023 MB
	 32
	16 KB
	 2.047 MB
	 64
	32 KB
	 4.096 MB
	128
	64 KB
 
POSSÍVEIS VALORES DAS ENTRADAS:
 VALOR SIGNIFICADO
 (0)000 h 	GRÂNULO LIVRE
 (F)FF0 a (F)FF6 h 	 		GRÂNULO RESERVADO
 (F)FF7 h 		 	GRÂNULO DEFEITUOSO
 (F)FF8 a (F)FFF h 	ÚLTIMO GRÂNULO DO ARQUIVO
 OUTROS 	NR. DO PRÓXIMO GRÂNULO DO ARQ. / SUB-DIR.
COMO CADA GRÂNULO É CONTROLADO POR UMA ENTRADA DA FAT, CUJO NÚMERO É O MESMO DO GRÂNULO, DEVE HAVER UM BALANCEAMENTO ENTRE A QUANTIDADE DE GRÂNULOS E A QUANTIDADE DE ENTRADAS NA FAT:
 			(T – NX) / F <= X 512 / B - 2
EXEMPLO PARA FAT DE 16 BITS:
No diretório :
 Filename ....................... número do grânulo inicial
 Meuarqui ....................... 0300
Na FAT :
 F8FF FFFF 0000 0600 0000 0000 0800 0000 FFFF ...
Entrada # 0 1 2 3 4 5 6 7 8 
NO EXEMPLO ACIMA, O ARQUIVO OCUPA OS GRÂNULOS 3, 6 e 8.
AS DUAS PRIMEIRAS ENTRADAS DA FAT (0 e 1) EXISTEM FISICAMENTE, MAS NÃO SÃO USADAS PARA CONTROLAR GRÂNULOS. SEU CONTEÚDO É :
 1º BYTE : DESCRITOR DE MÍDIA – 	F8 = DISCO RÍGIDO 
 	F0 = 3,5” DE 1,44 MB
 	F9 = 3,5” DE 720 KB
 	FD= 5,25”DE 360 KB
 DEMAIS BYTES = FF h 
 MULTIPLICANDO-SE O NÚMERO DO GRÂNULO POR 2 TEREMOS O DESLOCAMENTO (RELATIVO AO INÍCIO DA FAT) DO PRIMEIRO BYTE DA ENTRADA CORRESPONDENTE ÀQUELE GRÂNULO.
FAT DE 12 BITS :
CADA PAR DE ENTRADAS NA FAT OCUPAM 3 BYTES.
MULTIPLICANDO-SE O NÚMERO DO GRÂNULO POR ‘UM E MEIO’ (1,8h) E TOMANDO A PARTE INTEIRA DO PRODUTO, TEREMOS O DESLOCAMENTO DO BYTE INICIAL DA ENTRADA CORRESPONDENTE NA FAT.
TOMANDO UMA PALAVRA (2 BYTES) NESSE DESLOCAMENTO, TEMOS 3 DÍGITOS DE CONTEÚDO DA ENTRADA E UM DÍGITO ESTRANHO QUE DEVE SER DESCARTADO. SE O NÚMERO DO GRÂNULO FOR PAR DESCARTAMOS O DÍGITO DE MAIOR ORDEM E, SE FOR ÍMPAR DESCARTAMOS O DÍGITO DE MENOR ORDEM.
 O SISTEMA OPERACIONAL DOS :
SISTEMA MONOUSUÁRIO / MONOTAREFA, DISTRIBUÍDO EM 1981 COMO PC-DOS, PARA COMPUTADORES PESSOAIS, SURGIU COMO SUPERSET DO SISTEMA 86-DOS.
EVOLUÇÃO :
	1981 - PRIMEIRA VERSÃO - DOS 1.0
	1982 - SUPORTE A DISCOS DE DUPLA FACE - DOS 1.1
 	1983 - SUPORTE A DISCOS RÍGIDOS 
 	 HIERARQUIA DE ARQUIVOS (UNIX) - DOS 2.0
 SUPORTE INTERNACIONAL - DOS 2.1
	1984 - SUPORTE A DISCOS 5,25” (1.2 MB)
 DISCOS RÍGIDOS MAIORES (32 MB) - DOS 3.0
 SUPORTE A REDES - DOS 3.1
 1986 - SUPORTE A DISCOS DE 3,5” - DOS 3.2
 1987 - SUP.INTERNAC. AMPLIADO (CODE-PAGE) - DOS 3.3
 1988 - SUPORTE A DISCOS COM MAIS DE 32 MB - DOS 4.0
 1991 - HELP ON-LINE 
 NOVOS COMANDOS - DOS 5.0
 1993 - COMPACTADOR DE DISCOS
 MENU SELECT (CONFIG.SYS SELETIVO) 
 MEMMAKER - DOS 6.22
	
ESTRUTURA DO DOS :
 
A ESTRUTURA BÁSICA DO DOS É FORMADA PELOS MÓDULOS :
		BIOS
		NÚCLEO (KERNEL)
		PROCESSADOR DE COMANDOS (SHELL)
MÓDULO BIOS :
	É ESPECÍFICO A DETERMINADO TIPO DE COMPUTADOR, SENDO FORNECIDO PELO FABRICANTE DO EQUIPAMENTO ATRAVÉS DO ARQUIVO IO.SYS, QUE CONTÉM OS DRIVERS (ROTINAS RESIDENTES) DOS SEGUINTES DISPOSITIVOS :
		CONSOLE (CON)
 IMPRESSORA (PRN)
 PORTA SERIAL (AUX)
 DISK BOOT (RECARGA DO DOS)
	O NÚCLEO DO DOS COMUNICA-SE COM OS CONTROLADORES DE DISPOSITIVOS (DRIVERS) A PARTIR DAS SOLICITAÇÕES DE I/O DOS APLICATIVOS, QUE SÃO TRANSFORMADAS EM INSTRUÇÕES APROPRIADAS ÀS DIVERSAS CONTROLADORAS DE HARDWARE.
 					
		
MÓDULO NÚCLEO : 
	DESENVOLVIDO PELO DESENVOLVEDOR DO SISTEMA OPERACIONAL É FORNECIDO ATRAVÉS DO ARQUIVO MSDOS.SYS.
	FUNÇÕES :
 		GERENCIAMENTO DE ARQUIVOS
 	GERENCIAMENTO DA MEMÓRIA
		ATENDIMENTO A PROGRAMAS (INT 20H A 2FH)
		ACESSO AO RELÓGIO E SISTEMA.
PROCESSADOR DE COMANDOS (SHELL) : 	
	SERVE DE INTERFACE AO USUÁRIO COM O SISTEMA OPERACIONAL, É FORNECIDO NO ARQUIVO COMMAND.COM.
	CATEGORIAS DOS COMANDOS :
		INTERNOS
		EXTERNOS (.COM E .EXE)
		ARQUIVOS DE LOTE (.BAT)
	ORDEM DE EXECUÇÃO :
		INTERNOS; .COM ; .EXE E .BAT 		
 	
 
 
 INTERPRETADOR DE INTERRUPÇÕES
SISTEMA DE
 ARQUIVOS
GERENCIADOR
DE RECURSOS
GERENCIADOR
DE PROCESSOS
 APLICATIVO
SISTEMA OPERACIONAL
 BIOS
 HARDWARE
 FILENAME
 EXTENSÃO
 
 ATRIBUTOS
 RESERVADO
 
HORA/MIN/SEG.ULT.ALTERAÇÃO.
 DATA DA ULT. ALTERAÇÃO
 NR. DO GRÂNULO INICIAL
 
QTDE. DE BYTES DO ARQUIVO 
SUB-D3 
SUB-D2
SUB-D1
 RAIZ
 ..........
 CAPACIDADE Sistema FAT16 Sistema FAT32 
 DO DISCO Grânulo (KB) Grânulo (setores) Grânulo (KB) Grânulo (setores)
Até 128 MB			 	2 		4 não usado 	não usado 
De 129 MB a 256 MB 	4 	8		não usado	não usado
De 257 MB a 512 MB			8		16		não usado	não usado
De 512 MB a 1 GB			16		32		4		8
De 1 GB a 	2 GB			32		64		4		8
De 2 GB a 8 GB		impossível	impossível		4		8
De 8 GB a 16 GB		impossível	impossível		8		16
De 16 GB a 32 GB		impossível	impossível		16		32
De 32 GB a 2048 GB		impossível	impossível		32		64 				
_________________________________________________________________________________________

Outros materiais