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