Modo protegido - Páginas Pessoais

Propaganda
ARQUITETURA
ARQUITETURAIA-32
IA-32- -OPERAÇÃO
OPERAÇÃOEM
EMMODO
MODOPROTEGIDO
PROTEGIDO- -INTRODUÇÃO
INTRODUÇÃO
Modo
Modoprotegido:
protegido:
––Conjunto
Conjuntode
demecanismos
mecanismosde
deproteção
proteçãopor
porhardware
hardware
––Introduzidos
Introduzidosaapartir
partirdo
do80286/386
80286/386
––Facilita
Facilitaaaimplementação
implementaçãode
desistemas
sistemasoperacionais
operacionaisMulti-Tarefa
Multi-Tarefa
Inovações
Inovaçõesintroduzidas:
introduzidas:
––Proteção
Proteçãode
dememória
memória
––Controle
Controlede
deacesso
acessopor
porníveis
níveisde
deprivilégio
privilégio
––Proteção
Proteçãode
deI/O
I/O
––Modo
Modode
deoperação
operaçãoVM86
VM86(a
(apartir
partirdo
do386
386 →
simulaçãoDOS)
DOS)
→ simulação
––Comutação
Comutaçãode
deTarefas
Tarefas→
salvar/restaurarcontexto
contextovia
viaHW
HW
→salvar/restaurar
––Maior
Maiorcontrole
controlesobre
sobreoomecanismo
mecanismode
deInterrupções/Exceções
Interrupções/Exceções
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
1
PROTEÇÃO
PROTEÇÃODE
DEMEMÓRIA
MEMÓRIA
Segmentação:
Segmentação:
Modo
ModoReal
Real (s/
(s/proteção)
proteção) Modo
ModoProtegido
Protegido
––Endereço:
Endereço:
Reg.
Reg.Segmento
Segmentoxx10h
10h
Reg.
Reg.Segmento
Segmentoaponta
aponta
para
paradescritor
descritor
––Tamanho:
Tamanho:
––Acesso:
Acesso:
Fixo:
Fixo:64
64KB
KB
Sem
Semrestrições
restrições
Ajustável
Ajustávelaté
até44GB
GB
Restrito
Restritopor
pornível
nívelde
de
privilégio
privilégio(4
(4níveis)
níveis)
Paginação:
Paginação:
––Endereço
EndereçoLógico
Lógico→
EndereçoLinear
Linear→
EndereçoFísico
Físico
→Endereço
→Endereço
––Mecanismo
Mecanismode
detradução
traduçãode
deendereços
endereçosimplementado
implementadoem
emHW
HW
––Vários
Váriosprogramas
programasno
nomesmo
mesmoendereço
endereçolinear
linearusam
usamendereços
endereços
físicos
físicosdiferentes
diferentes(impede
(impedeinterferência
interferênciamútua)
mútua)
––Disponível
Disponívelsomente
somenteem
emmodo
modoprotegido
protegido(inclusive
(inclusiveVM86)
VM86)
––Implementado
Implementadoaapartir
partirdo
do80386
80386
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
2
CONTROLE
CONTROLEDE
DEACESSO:
ACESSO: PRIVILÉGIOS
PRIVILÉGIOS
Controle
Controlede
deAcesso
Acessovia
viaNíveis
Níveisde
dePrivilégio
Privilégiode
deSegmentos:
Segmentos:
––Segmentação
Segmentaçãoprotegida
protegidaprevê
prevê44níveis
níveisde
deprivilégio:
privilégio:
––Nível
Nível00––Mais
Maisalto
alto–– Para
Pararotinas
rotinasdo
dosistema
sistemaoperacional
operacional
––Nível
Nível11––p.
p.ex.
ex.para
paradrivers
driversde
dedispositivos
dispositivosdo
doS.O.
S.O.
––Nível
Nível22––p.
p.ex.
ex.para
parabibliotecas
bibliotecasde
deusuário
usuário
––Nível
Nível33––Mais
Maisbaixo
baixo––para
paraaplicativos
aplicativosde
deusuário
usuário
Controle
Controlede
deAcesso
Acessovia
viaNíveis
Níveisde
dePrivilégio
Privilégiode
dePáginas:
Páginas:
––OOmecanismo
mecanismode
depaginação
paginaçãoprevê
prevê22níveis
níveisde
deprivilégio:
privilégio:
––Supervisor
Supervisor ––para
parapáginas
páginasdo
doS.O.
S.O.
––Usuário
––para
Usuário
paraaplicativos
aplicativosde
deusuário
usuário
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
3
PROTEÇÃO
PROTEÇÃODE
DEI/O
I/O
Proteção
Proteçãode
deI/O:
I/O:
––Modo
Programas
ModoReal:
Real:
Programaspodem
podemacessar
acessarqualquer
qualquerporta
porta
––Modo
ModoProtegido:
Protegido: Os
Osacessos
acessossão
sãointerceptados
interceptadospelo
pelosistema
sistema
operacional,
operacional,via
viaHW,
HW,podendo
podendoeste:
este:
––Bloquear
Bloquearooacesso
acesso
––Liberar
Liberarooacesso
acessoou
ou
––Simular
Simularooacesso
acessoeeexecutá-lo
executá-lodepois
depois
––Controle
Controledo
doacesso
acessoàs
àsportas:
portas:
Feito
Feitopor
pormeio
meiode
de44níveis
níveisde
deprivilégio
privilégiode
deI/O,
I/O,
IOPL
IOPL(I/O
(I/OPrivilege
Privilege Level)
Level)
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
4
MODO
MODOVM86
VM86
Modo
ModoVM86:
VM86:
––Simula
Simulaooendereçamento
endereçamentodo
domodo
modoreal
realem
emmodo
modoprotegido:
protegido:
––16
16bits
bits
––Início
Iníciodo
dosegmento
segmento==registrador
registradorde
desegmento
segmentoxx10
10hh
––Segmentos
Segmentosde
decomprimento
comprimentofixo
fixo==64
64KB
KB
––Finalidade:
Finalidade:
Executar
Executarmúltiplas
múltiplasaplicações
aplicaçõesmonotarefa
monotarefa(DOS)
(DOS)em
emum
um
ambiente
ambiente multitarefa
multitarefarespeitando
respeitandoaaproteção
proteçãode
dememória.
memória.
Obs.:
Obs.:
––Os
Osatuais
atuaissistemas
sistemasoperacionais
operacionaisWindows
Windowsde
de64
64bits
bitsnão
nãosuportam
suportam
mais
maisoomodo
modoVM86.
VM86.
––Com
Comisso
issonão
nãoéémais
maispossível
possívelexecutar
executarprogramas
programasDOS
DOSdiretamente
diretamente
nesses
nessessistemas,
sistemas,mas
massomente
somenteatravés
atravésde
deemuladores
emuladorestipo
tipoDOSBOX
DOSBOX
ou
ouVMWare.
VMWare.
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
5
COMUTAÇÃO
COMUTAÇÃODE
DETAREFAS
TAREFAS
Comutação
Comutaçãode
deTarefas:
Tarefas:
––Multitarefa:
Multitarefa: várias
váriastarefas
tarefasexecutado
executadosequencialmente,
sequencialmente,dando
dandoaa
ilusão
ilusãode
deexecução
execuçãosimultânea.
simultânea. OOsistema
sistemaoperaoperacional
cionalcomuta
comutaas
astarefas,
tarefas,suspendendo
suspendendocada
cadauma
umaee
ativando
ativandoaaseguinte.
seguinte.
––Contexto
Contextoda
daTarefa:
Tarefa:
registradores,
registradores,flags,
flags,memória,
memória,mapas
mapasde
debits,
bits,etc...
etc...
utilizados
utilizadospela
pelatarefa.
tarefa. Precisa
Precisaser
sersalvo
salvoquando
quandoela
elaéé
suspensa
suspensaeerestaurado
restauradoquando
quandoela
elaééreativada.
reativada.
––Mecanismo
Mecanismode
decomutação
comutaçãode
detarefas
tarefasda
daarquitetura
arquiteturaIA-32:
IA-32:
realiza
realizaoosalvamento/restauração
salvamento/restauraçãodo
docontexto
contextodas
das
tarefas
tarefasde
deforma
formaautomática,
automática,por
pormeio
meiode
deHW,
HW,
liberando
liberandooosistema
sistemaoperacional.
operacional.
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
6
ENDEREÇAMENTO
ENDEREÇAMENTOEM
EMMODO
MODOPROTEGIDO
PROTEGIDO
Endereçamento
Endereçamentoem
emmodo
modoprotegido:
protegido:
––Permite
Permiteacesso
acessoààmemória
memóriaacima
acimaeeabaixo
abaixode
de11MB
MB
––Endereço
Endereçolinear
lineardo
doinício
iníciodo
dosegmento
segmentoobtido
obtidoaapartir
partirde
dedescritor
descritor
––Registradores
Registradoresde
desegmento
segmentoCS,
CS,DS,
DS,etc...
etc...contêm
contêmseletores
seletores
––Cada
Cadaseletor
seletorindexa
indexaum
umdescritor
descritorem
emuma
umatabela
tabela
Forma
Formageral
geraldo
doconteúdo
conteúdodos
dosregistradores
registradoresde
desegmento:
segmento:
15
2 1 0
SELETOR
BITS
T
RPL
I
REQUEST(OR) PRIVILEGE LEVEL 4 NÍVEIS POSSÍVEIS
TABLE INDEX (0 = GDT, 1 = LDT)
DESCRIPTOR INDEX (13 BITS)
13
Os
Os13
13bits
bitsdo
doseletor
seletoridentificam
identificam11de
de2213==8.192
8.192possíveis
possíveisdescritores
descritores
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
7
TIPOS
TIPOS DE
DEDESCRITORES
DESCRITORES
Descritor
Descritorde
deSegmento:
Segmento:
––Estrutura
Estruturade
dedados
dadosmantida
mantidaem
emtabelas
tabelasna
namemória
memóriado
doprocessador
processador
––Descreve
Descrevetrês
trêspropriedades
propriedadesbásicas
básicasde
deum
umsegmento:
segmento:
––Sua
Sualocalização
localizaçãoou
ouendereço
endereçoinicial
inicial
––Seu
Seutamanho,
tamanho,ou
oulimite
limiteaté
atéonde
ondepode
podeser
seracessado
acessado
––Suas
Suascaracterísticas
característicaseedireitos
direitosde
deacesso
acessonecessários
necessários
Layout
Layoutlógico
lógicode
deum
umdescritor:
descritor:
31
(286)
32 BITS
0 19
20 BITS
0 11
12 BITS
0
ENDEREÇO BASE
LIMITE
ACCESS RIGHTS
(24 BITS)
(16 BITS)
(8 BITS)
BASE ( B31 - B24)
Layout
Layoutfísico
físicode
deum
umdescritor:
descritor:
ACCESS RIGHTS
G D 0
A
LIMITE
V ( L19 - L16)
BASE ( B23 - B16)
BASE ( B15 - B0)
LIMITE (L15 - L0)
15
Abril 2014
0
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
8
GDT
GDT- -GLOBAL
GLOBALDESCRIPTOR
DESCRIPTORTABLE
TABLEEELDT
LDT- -LOCAL
LOCALDESCRIPTOR
DESCRIPTORTABLE
TABLE
DESCRITOR 8191
(8 BYTES)
CADA
CADADESCRITOR
DESCRITORTEM
TEM88BYTES
BYTES
DESCRITOR 8191
(8 BYTES)
DESCRITOR 1
(8 BYTES)
OOTAMANHO
TAMANHODA
DALDT
LDTESTÁ
ESTÁNO
NOLIMITE
LIMITEEM
EMSEU
SEU
DESCRITOR
DESCRITOR
LDTR (16 BITS)
(LDTR CONTÉM 1 SELETOR)
INSTRUÇÕES
INSTRUÇÕESPARA
PARAACESSAR
ACESSARGDTR
GDTREELDTR:
LDTR:
––LGDT
LGDTEELLDT
LLDT→
PARACARREGÁ-LOS
CARREGÁ-LOS(LOAD)
(LOAD)
→PARA
––SGDT
PARASALVÁ-LOS
SALVÁ-LOS(STORE)
(STORE)
SGDTEESLDT
SLDT→
→PARA
AACARGA
CARGADE
DEGDTR
GDTREELDTR
LDTRSÓ
SÓPODE
PODESER
SER
EXECUTADA
COM
NÍVEL
DE
PRIVILÉGIO
EXECUTADA COM NÍVEL DE PRIVILÉGIO00
DESCRITOR 0
(8 BYTES)
MÁXIMO 64 KB
OOTAMANHO
TAMANHODA
DAGDT
GDTESTÁ
ESTÁNO
NOLIMITE
LIMITEEM
EMGDTR
GDTR
...
DESCRITOR X
(PARA LDT)
...
MÁXIMO 64 KB
...
CADA
CADATABELA
TABELATEM
TEMNO
NOMÁXIMO
MÁXIMO88XX8.192
8.192==64
64KB
KB
DESCRITOR 1
(8 BYTES)
DESCRITOR 0
(8 BYTES)
GDTR (48 BITS)
GDT
Abril 2014
(GDTR CONTÉM BASE + LIMITE)
LDT
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
9
REGISTRADORES
REGISTRADORESDE
DESEGMENTO
SEGMENTOEECACHE
CACHEASSOCIADA
ASSOCIADA
16 Bits
32 Bits
20 Bits
12 Bits
CS (Seletor)
Endereço Linear Base do Segmento de Código
Limite do Seg. de Código
Direitos de Acesso
Atributos
SS (Seletor)
Endereço Linear Base do Segmento de Pilha
Limite do Segmento de Pilha
Direitos de Acesso
Atributos
DS (Seletor)
Endereço Linear Base do Segmento de Dados
Limite do Seg. de Dados
Direitos de Acesso
Atributos
ES (Seletor)
Endereço Linear Base do Segmento de Dados
Limite do Seg. de Dados
Direitos de Acesso
Atributos
FS (Seletor)
Endereço Linear Base do Segmento de Dados
Limite do Seg. de Dados
Direitos de Acesso
Atributos
GS (Seletor)
Endereço Linear Base do Segmento de Dados
Limite do Seg. de Dados
Direitos de Acesso
Atributos
Visível ao Programa
Registradores de Descritores - Invisíveis ao Programa - Carregados Automaticamente
REGISTRADORES
REGISTRADORESDE
DESISTEMA
SISTEMAEECACHE
CACHEASSOCIADA
ASSOCIADA
TR (Seletor)
Endereço Linear Base do TSS
Limite do TSS
Direitos de Acesso
Atributos
LDTR (Seletor)
Endereço Linear Base da LDT
Limite da LDT
Direitos de Acesso
Atributos
47
Abril 2014
16
15
0
GDTR
Endereço Linear Base da GDT (32 Bits)
Limite da GDT (16 Bits)
IDTR
Endereço Linear Base da IDT (32 Bits)
Limite da IDT (16 Bits)
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
10
CLASSIFICAÇÃO
CLASSIFICAÇÃOEETIPOS
TIPOSDE
DEDESCRITORES
DESCRITORES
SEGMENT DESCRIPTORS S = 1
SYSTEM DESCRIPTORS S = 0
P
DPL
SE
A
V
L
LIMIT
(16..19)
E
W A BASE (16..23)
D
BASE (0..15)
CODE DESCRIPTOR (E=1)
LIMIT (0..15)
BASE (16..23)
BASE (0..15)
LIMIT (0..15)
BASE (24..31) G 0 0
P
DPL
S
TYPE
(9,11)
A
V
L
LIMIT
(16..19)
BASE (16..23)
BASE (0..15)
LIMIT (0..15)
SELECTOR
ENTRY POINT OFFSET (0..15)
P
DPL
S
TYPE
(5)
SELECTOR
ENTRY POINT OFFSET (16..31)
P
DPL
S
TYPE
(14)
SELECTOR
ENTRY POINT OFFSET (0..15)
BASE (24..31) G D 0
P
DPL
A
V
L
LIMIT
(16..19)
S E C R A BASE (16..23)
BASE (0..15)
LIMIT (0..15)
Abril 2014
CALL GATE
TYPE
(2)
TYPE
WORD
XXX
(12)
COUNT
TYPE 0,8,10,13:
RESERVA
ENTRY POINT OFFSET (16..31)
P
DPL
S
TYPE
(15)
SELECTOR
TRAP GATE
BASE (24..31) G B 0
S
S
TASK GATE
LIMIT (0..15)
DPL
DPL
INTERRUPT GATE
BASE (0..15)
P
P
GATE DESCRIPTORS
E
W A BASE (16..23)
D
LIMIT
(16..19)
TSS DESCRIPTOR
SE
SYSTEM SEGMENTE DESCRIPTORS
DPL
BASE (24..31) G 0 0
ED = 0
P
LIMIT
(16..19)
ED = 1
DATA DESCRIPTORS (E = 0)
BASE (24..31) G B 0
A
V
L
LDT DESCRIPTOR
ENTRY POINT OFFSET (16..31)
A
V
L
ENTRY POINT OFFSET (0..15)
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
11
EXERCÍCIO
EXERCÍCIOEM
EMAULA:
AULA:
DETERMINAR
DETERMINAROOCONTEÚDO
CONTEÚDODE
DEUM
UMDESCRITOR
DESCRITORDE
DECÓDIGO
CÓDIGOCOM
COMAS
ASSEGUINTES
SEGUINTESCARACTERÍSTICAS:
CARACTERÍSTICAS:
- - TAMANHO:
4
GB
TAMANHO:
4 GB
- - PRIVILÉGIO:
NÍVEL
PRIVILÉGIO:
NÍVEL00
- ENDEREÇO BASE:
0
- ENDEREÇO BASE:
0
- - PRESENTE
NA
MEMÓRIA
PRESENTE NA MEMÓRIA
- - SOMENTE
SOMENTEDE
DELEITURA
LEITURA
- - LARGURA
PADRÃO
32
LARGURA PADRÃODOS
DOSOPERANDOS
OPERANDOS
32BITS
BITS
- - NÃO
CONFORMANTE
NÃO CONFORMANTE
- - FOI
FOIACESSADO
ACESSADO
00
1 00 1 1 0 1 1
F
1100
00
00
00
FF
FF
EM
EMBYTES
BYTESAAPARTIR
PARTIRDO
DOOFFSET
OFFSET0:
0:FF
FFFF
FF00
0000
0000
009B
9BCF
CF00
00hh
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
12
NÍVEIS
NÍVEISDE
DEPRIVILÉGIO
PRIVILÉGIONA
NAARQUITETURA
ARQUITETURAIA-32
IA-32
Níveis
Níveisde
deprivilégio
privilégioenvolvidos
envolvidosno
nocontrole
controlede
deacesso:
acesso:
CPL
––PRIVILÉGIO
CPL–– CURRENT
CURRENTPRIVILEGE
PRIVILEGELEVEL
LEVEL
PRIVILÉGIODO
DOPROGRAMA
PROGRAMAEM
EMEXECUÇÃO
EXECUÇÃO
BITS
BITS00EE11DO
DOREGISTRADOR
REGISTRADORDE
DESEGMENTO
SEGMENTODE
DECÓDIGO
CÓDIGO(CS)
(CS)
DPL
DPL–– DESCRIPTOR
DESCRIPTORPRIVILEGE
PRIVILEGELEVEL
LEVEL ––PRIVILÉGIO
PRIVILÉGIODO
DOSEGMENTO
SEGMENTOACESSADO
ACESSADO
BITS
BITS13
13EE14
14DO
DO3.3.WORD
WORDDO
DODESCRITOR
DESCRITORDO
DOSEGMENTO
SEGMENTO
RPL
RPL–– REQUEST(OR)
REQUEST(OR)PRIVILEGE
PRIVILEGELEVEL
LEVEL ––PRIVILÉGIO
PRIVILÉGIODO
DOREQUISITANTE
REQUISITANTE
BITS
0
E
1
DO
SELETOR
USADO
PARA
ACESSAR
UM
CERTO
BITS 0 E 1 DO SELETOR USADO PARA ACESSAR UM CERTOSEGMENTO
SEGMENTO
EPL
––PRIVILÉGIO
EPL–– EFFECTIVE
EFFECTIVEPRIVILEGE
PRIVILEGELEVEL
LEVEL
PRIVILÉGIOEFETIVO
EFETIVO
ÉÉOOMENOR
MENORPRIVILÉGIO
PRIVILÉGIOENTRE
ENTRERPL
RPLEECPL
CPL==MAX(CPL,RPL)
MAX(CPL,RPL)
IOPL
––NÍVEL
IOPL–– I/O
I/OPRIVILEGE
PRIVILEGELEVEL
LEVEL
NÍVELDE
DEPRIVILÉGIO
PRIVILÉGIODE
DEI/O
I/O
BITS
12
E
13
DO
REGISTRADOR
EFLAGS
–
CONTROLA
O
ACESSO
BITS 12 E 13 DO REGISTRADOR EFLAGS – CONTROLA O ACESSOÀS
ÀSPORTAS
PORTAS
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
13
CONTROLE
CONTROLEDE
DEACESSO
ACESSOVIA
VIANÍVEL
NÍVELDE
DEPRIVILÉGIO
PRIVILÉGIO
OPERAÇÕES
OPERAÇÕESEM
EMQUE
QUEOCORRE
OCORREOOCONTROLE
CONTROLEDE
DEACESSO:
ACESSO:
––ESCRITA/LEITURA
ESCRITA/LEITURADE
DEDADOS
DADOSEM
EMSEGMENTOS
SEGMENTOSDE
DEDADOS
DADOS(DS,
(DS,ES,
ES,FS,
FS,GS)
GS)
––ESCRITA/LEITURA
ESCRITA/LEITURADE
DEDADOS
DADOSEM
EMSEGMENTO
SEGMENTODE
DEPILHA
PILHA(SS)
(SS)
––LEITURA
LEITURADE
DEDADOS
DADOSDE
DEUM
UMSEGMENTO
SEGMENTODE
DECÓDIGO
CÓDIGO(CS)
(CS)
––MUDANÇA
MUDANÇADE
DESEGMENTO
SEGMENTODE
DECÓDIGO
CÓDIGONA
NAEXECUÇÃO
EXECUÇÃODE
DE PROGRAMA
PROGRAMAPOR
PORMEIO
MEIODE
DE
INSTRUÇÕES
INSTRUÇÕESCALL,
CALL,JMP,
JMP,RET,
RET,IRET,
IRET,SYSENTER
SYSENTEREESYSEXIT
SYSEXIT
––MUDANÇA
MUDANÇADE
DESEGMENTO
SEGMENTODE
DECÓDIGO
CÓDIGOVIA
VIAACESSO
ACESSOINDIRETO
INDIRETO(CALL
(CALLGATES)
GATES)
––ACESSO
ACESSOAAPORTAS
PORTASDE
DEI/O
I/O
––COMUTAÇÃO
COMUTAÇÃODE
DETAREFAS
TAREFAS
––EXECUÇÃO
EXECUÇÃODE
DEROTINAS
ROTINASDE
DETRATAMENTO
TRATAMENTODE
DEINTERRUPÇÕES
INTERRUPÇÕES
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
14
ACESSO
ACESSODE
DEESCRITA
ESCRITAEELEITURA
LEITURAEM
EMSEGMENTOS
SEGMENTOSDE
DEDADOS
DADOS
––Seletor
Seletorque
queaponta
apontapara
paraoodescritor
descritordo
dosegmento
segmentoéécarregado
carregadopara
para
um
umdos
dosregistradores
registradoresde
desegmento
segmentoDS,
DS,ES,
ES,FS
FSou
ouGS
GS
––Instruções
Instruçõesutilizadas:
utilizadas:MOV,
MOV,POP,
POP,LDS,
LDS,LES,
LES,LFS
LFSeeLGS
LGS
Regra:
Regra: EPL
EPL==max(CPL,
max(CPL,RPL)
RPL)≤≤DPL
DPL
PRIVILÉGIO DO EXECUTANTE (CPL)
PRIVILÉGIO DO EXECUTANTE (CPL)
0
0
1
1
2
2
3
3
Abril 2014
PRIVILÉGIO DO SELETOR (RPL)
PRIVILÉGIO DO SELETOR (RPL)
PRIVILÉGIO DO SEGMENTO (DPL)
PRIVILÉGIO DO SEGMENTO (DPL)
SEGMENTO A
SEGMENTO A
(CPL=0)
(CPL=0)
SELETOR S1 (RPL=0)
SELETOR S1 (RPL=0)
SEG. DE DADOS E (DPL=0)
SEG. DE DADOS E (DPL=0)
SEGMENTO B
SEGMENTO B
(CPL=1)
(CPL=1)
SELETOR S2 (RPL=1)
SELETOR S2 (RPL=1)
SEG. DE DADOS F (DPL=1)
SEG. DE DADOS F (DPL=1)
SEGMENTO C
SEGMENTO C
(CPL=2)
(CPL=2)
SELETOR S3 (RPL=2)
SELETOR S3 (RPL=2)
SEG. DE DADOS G (DPL=2)
SEG. DE DADOS G (DPL=2)
SEGMENTO D
SEGMENTO D
(CPL=3)
(CPL=3)
SELETOR S4 (RPL=3)
SELETOR S4 (RPL=3)
SEG. DE DADOS H (DPL=3)
SEG. DE DADOS H (DPL=3)
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
15
ACESSO
ACESSODE
DEESCRITA
ESCRITA/ /LEITURA
LEITURAEM
EMSEGMENTOS
SEGMENTOSDE
DEPILHA
PILHA
As
Asregras
regraspara
paraacessar
acessardados
dadosno
nosegmento
segmentode
depilha
pilhasão
sãoas
asmesmas
mesmas
usadas
usadaspara
paraacessar
acessardados
dadosem
emum
umsegmento
segmentode
dedados.
dados.
––Instruções
Instruçõesutilizadas:
utilizadas:MOV,
MOV,PUSH,
PUSH,POP.
POP.
Regras
Regraspara
parase
seinicializar
inicializaraapilha
pilha(carregando
(carregandoum
umnovo
novovalor
valorem
emSS):
SS):
––CPL
CPL==RPL
RPL==DPL
DPL
––Instruções
Instruçõesutilizadas:
utilizadas:MOV,
MOV,LSS
LSS
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
16
ACESSO
ACESSODE
DELEITURA
LEITURAEM
EMSEGMENTOS
SEGMENTOSDE
DECÓDIGO
CÓDIGO
Devem
Devemser
serconsideradas
consideradas33possibilidades:
possibilidades:
Registrador
Registradorde
desegmento
segmentode
dedados
dadoséécarregado
carregadocom
comum
umseletor
seletorpara
paraum
um
segmento
segmentode
decódigo
códigotipo
tipo“NONCONFORMING”:
“NONCONFORMING”:
Regra:
Regra: EPL
EPL==max(CPL,
max(CPL,RPL)
RPL)≤≤DPL
DPL
Registrador
Registradorde
desegmento
segmentode
dedados
dadoséécarregado
carregadocom
comum
umseletor
seletorpara
paraum
um
segmento
segmentode
decódigo
códigotipo
tipo“CONFORMING”:
“CONFORMING”:
Regra:
Regra: Acesso
Acessosempre
sempreválido
válido--segmento
segmentode
decódigo
códigoassume
assumeoonível
nívelde
de
privilégio
privilégiodo
doexecutante.
executante.
Utilização
Utilizaçãode
deum
umprefixo
prefixode
deoverride
overrideCS:
CS:para
paraler
lerdados
dadosdo
dopróprio
próprio
segmento
segmentoem
emexecução.
execução.
Regra:
Regra: Acesso
Acessosempre
sempreválido,
válido,pois
poisno
nocaso
casoCPL
CPL==DPL
DPL(trata-se
(trata-sedo
do
mesmo
mesmosegmento)
segmento)
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
17
TRANSFERÊNCIA
TRANSFERÊNCIADE
DECONTROLE
CONTROLEDE
DEPROGRAMA
PROGRAMAENTRE
ENTRESEGMENTOS
SEGMENTOSDE
DECÓDIGO
CÓDIGO
Instruções
Instruçõesutilizadas
utilizadaspara
paratransferir
transferiroocontrole
controledo
doprograma:
programa:
JMP,
JMP,CALL,
CALL,RET,
RET,INTn,
INTn,IRET,
IRET,SYSENTER
SYSENTEReeSYSEXIT
SYSEXIT
Possíveis
Possíveisoperandos
operandospara
paraJMP
JMPeeCALL:
CALL:
acesso
acesso
acessodireto:
direto:
acessoindireto:
indireto:
DESCRITOR
DESCRITORDE
DECÓDIGO
CÓDIGO
DESCRITOR
DESCRITORDE
DETAREFA
TAREFA(TSS)
(TSS)
CALL
CALLGATE
GATE
TASK
TASKGATE
GATE
Regras
Regraspara
paraacesso
acessodireto:
direto:
––Descritor
Descritorde
decódigo
códigonão
nãoconformante:
conformante: CPL
CPL==
==DPL
DPL ee RPL
RPL≤≤CPL
CPL
––Descritor
Descritorde
decódigo
códigoconformante:
conformante:CPL
CPL≤≤DPL,
DPL,RPL
RPLéédesconsiderado
desconsiderado
obs.:
obs.: Em
Emambos
ambosos
oscasos
casosacima
acimanão
nãoocorre
ocorremudança
mudançade
denível
nívelde
de
privilégio
privilégiode
deexecução.
execução. No
Noprimeiro,
primeiro,os
osníveis
níveissão
sãoidênticos
idênticosee
no
nosegundo
segundooosegmento
segmentoacessado,
acessado,sendo
sendoconformante,
conformante,
assume
assumeoonível
níveldo
dochamador.
chamador.
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
18
TRANSFERÊNCIA
TRANSFERÊNCIADE
DECONTROLE
CONTROLEENTRE
ENTRESEGMENTOS
SEGMENTOSDE
DECÓDIGO
CÓDIGO––ACESSO
ACESSOINDIRETO
INDIRETO
OOacesso
acessoindireto
indiretoééfeito
feitovia
viaCALL
CALLGATES.
GATES.
AAverificação
verificaçãodo
doprivilégio
privilégioééfeita
feitaem
emduas
duasetapas:
etapas:
––EPL
EPL==max(CPL,RPL)
max(CPL,RPL)≥≥DPL
DPLdo
docall
callgate
gate
––CPL
CPL≤≤DPL
DPLdo
dosegmento
segmentode
decódigo
códigode
dedestino
destinopara
paraacesso
acessovia
viaCALL
CALL
ou
ou
––CPL
CPL==DPL
DPLde
dedestino
destinop/
p/acesso
acessovia
viaJMP
JMPeedestino
destinonão
nãoconformante
conformante
Esquema
Esquemageral:
geral:
CÓDIGO ACESSADO C
CÓDIGO EXECUTANTE A
CALL GATE G1
CÓDIGO ACESSADO D
CÓDIGO EXECUTANTE B
CALL GATE G2
CÓDIGO ACESSADO E
CALL GATE G3
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
19
DESCRITOR DE CÓDIGO:
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
20
DESCRITOR DE DADOS:
Abril 2014
Arq. Org. Comp. - Prof Gortan - 1. Aula - OPERAÇÃO EM MODO PROTEGIDO
21
Download