Professional Documents
Culture Documents
؟
دار ه &% ٨٠٨در
"#$%ه ! ام اد ا اف ر
/+دا) ً1#23 /ا &./+را را -و "
) *+ا
ا د
& ( از ١
&78- +9در !ن و#5د ا)
.ا ;-ا %
) ;. <+ا ٨٠٢٨ ;/+را >
ا-
%د و ا# &./+ا از * ?#د /% A ٨٠٨ /+دو @-وا)(real mode
و (protected mode)) D- @-را در !ن
% /Aد).(16-bit protect mode
در &
) >- @-ه E-اد
از &78- +9 ١را دار و د
9+
+Fاد از ا @- <+در ا &
&% )A <+ه د E-
9+اد از &78-ا & &%
) G23" Hداد ) را ار @-.د ٣٢ &% ) 78I
9+ه )A Kدر ٣٨و
"Pو#5د دارد دروا" Oوت ا LM8 1در !در ده !ن )Aو ه.)A .+ K
و
و
وا
وا
١
٣٢
درس 20 bit (1 mb) = 16 24 bit(16 mb), 32 bit(4 gb),
)(segment * segment register From descriptor From descriptor
ا!از 16 bit,64Kb fixed 16 bit,1-64Kb – 20 bit 1Mb,4Kb
4Gbytes
#$از ! " "
'&ت درس ١/ Selector Selector
Segmentه ه#/ز اد #ا در # H) ٣٢ ) D- @-ا ااز Q+
& را & +9R 4اF8ا (+ده در وا OاS <+د !?
- <+اد از رم در
"#$%ه .)A ٣٢ا <+روش segmentرا U-ف
%د ا-
W)K+ل ?@- 1
) D-از <
&8ا( .ا <+روش
#AI XSداز ه .) ٣٢
( ؟Descriptor)*+
W! مH" Oدر وا.+زم ارP & &د در را+ت زSY> ز & اH) @ وا- در
:/ ا[م دهW! ا# اه#3 &% ر%
هH) و/)A +#% Z & ااز
.د در !ن#? +
ا5 ا%
ار دادن- + ان & و#/ اد، ذ?
داد
.& W"A` از.+ ارM
رa ١ :)A رت#1 <+ K& & ه+ و !درس
ااز & و+ </bH هK& & را ا+ !درس+ &./+و
اYS ) D- @-در
<+ا.Kر ه را ا.c & & ن ه !ن &
ا% ( راflag)
& ه9+د
./+#9 descriptor & & !ن% د#
? ذ+ ٨ ?ر دادQ+ ت درSY>ا
Lowest byte Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Highest byte
Limit 7:0 Limit 15:8 Base 7:0 Base 15:8 Base 23:16 Access Flags,limit 19:16 Base 31:24
.)A ٣٢
91#" <+ا
./) )
1 &% ) &) داP در+ دو+ (٨٠٢٨) ١
91#"
(flags,limit 19:16,base 31:24)
)A & اد//% G3 access +
(data segment,stack segment,code segment,…)
.
1 ار)نM ٣٢
ا تLM8 Z (flag) & ه
؟,
-
./
*ه+
( ؟Selector) *1
2#"ا
اول5 از.+ & در% /ه هselector و- & W"A` ،) a- @- در
.د# ادr+< ا+ه
ا اselector از١٣ LM8. ) اr+
ا91#"
در9+5 <+
" <+ & در% دو.د# ب3 اLDT وGDT < /+
./)A privilege ارM <"
ار دارselector
*" %وارد
م؟
*"
%1 %وا 31دم؟
در
داز ه ٣٨و :
"P
• و& ه را 8
eل ./%
•
Q+ش دور & ١ % & Q+ا[م ه
• `Aت SSرا ا & &
93داد ١ &/ر ./%
• PEرا ./% t
•
Q+ش دور & ! Q+درس در @-وا ا[م ه.
• ` DS,ES,FS,GS W"Aو SSرا در @-وا Mار ده ./%
• )ا IDTR (3را در @-وا Mار ده ٠ &+)/%و ! -ن (0xFFFF
• و& ه را 8ل ./%
رو #H H) ٨٠٢٨ا & ا <+را -ه PEرا
% tد و & @-وا
Rد W/"!+را <.Hر
% +دن
داز .)A
ا ا./+ر #ا /9ل ر
% +دن را & #A%رد
و &R & ? +ا در
داز #5#د !ور
)+ا ا>SYت
& وب +رو
ت
<@#%ا&5
(www.x86.org /%
وارد %دا ا4؟
در
MM-ا ` DS,ES,FS W"Aو 0xFFFF + & - GSو .)
+اH)
R
رو & اI <+ود +را اHSل /%و !ن # H) /% page-granularا & Z
+9Rاز &78-د
ا /%در @-وا .اwM@ unreal mode ِ@- ، @- <+
&8
Rا.اI &c
Rود +ه و page-granularityدر ` CS W"Aو #5# XS SS +د
!ن F ;.ر Rدر @-وا #د.
• )#H Hا از د#را@ &% LMSW ;Hدر #5# ٨٠٢٠٨د
)Aا t
%دن PEاد + ./%از د#ر MOV CR0,nnnاد ./%
• از ورود & H" ) D- @-م ` W"Aرا +ا
93ه
Aر ./%
Q+روال در ES ) 78I @-را در & &9ارد و !ن را Q+ا
R3
/.
Aو از !ن اد /.و و
! /.ا #3اه از &
درورد ا
A
e
93در `Aت // ESو XSاز%ر ا8دن # Kد.
• M & + IDTRد @- & &%
+وا ا?2ص دار
Rدا )#د ;Aاز
ا#3 &./+اه Kو& ه را دور 8ل .K/%
• "Hم د#را@ ;Hه در @-وا [ز /ا#3 H)
Rاه &%از &
و
(state segment)aا /cو &Dا اد &5#" /%دا)& ) &%
ا
5ا د#را@ LTR WHدر @-وا XSا
5ا و &M8ه ا)#? Aاه
).
• %ه ? &%در ا W! [/+را " da#داد K+ا.ن دارد در [ @-ز ٨٠٨
داز ) Hرا از %ر /ازد.اWc <+ر< @-از
.HSد
داز ه ٨٠٣٨
! &% )Aدرس ده در !ن )! &Aدرس ده در @-وا )Aو@
.+از
) D- @- WF.و#5د دارد.
:+
R ر. راF+ت ر. <+ ا/% اه )
وع#3 H)
Rا
☺ /% اد+& رH%) از دA @ وا- & R
ان9 •
+& دار9 ل8
e • و& ه را
/. ادLDT • از
null,code,stack/data and text video:
ار هGDT
در91#" Z LM8 •
: لi /% ار دهM @ وا- & & را در+ ارM •
16*real-mode segment register value
) D- @- )
ا#) K7/" 0xFFFF /+ ) &R ِ- & + م تH" •
( ١
(Ring 0)د#) K7/" ٠ & + privilege
+دM H" •
:/% &5#"
+ ز% &
Void unhand(void)
{
Static const char msg[]="U n h a n d l e d I n t e r r u p t ";
Disable();
Movedata(SYS_DATA_SEL, (unsigned)Msg,
LINEAR_SEL,0xB8000,
Sizeof(Msg));
While(1); }
;HS .8
اR
ه در
داز%را% 1? % / /A P < & در% @? هy8
:Privilege instruction
د#را@ & ًP#H)Hزن )<(# ;S K W/" &%ا !ن را ا
5ا .+Hد@; و#5د
ا &#R <+د#را@! WHن ا ;S K &%ز & د#را@ ;Hه +دارد &
&%ه
%ر
د د# +A
9+ا /ا
5ا
/./+HاH" <+م رو" E- ;S K W/ا
5ا ا<+
&#Rد#را@ WHرا دار
:Privilege mode
Q+ا
5ا +در ) 78Iر
F+داز ه ٨٠٢٨و
"Pا
&% ;/+م اF8اره
#اHS /ت Iود ) ا را ا[م ده +
+ & &% /ت #c "-ن &78-و
#ر" Wورود
?/و 5ا?2ص دار &
.ه %ر
د را #Hان در ا <+ا
5ا
%د
.م اF8اره را ااز و K & ;2 ;+و ه#> <Hر ه& ا;S K 1
os/2را #ان در ا <+ا
5ا
%د.
Translated By NETSPC
os@persiasecure.com
netspc@gmail.com
http://groups.google.com/Persian_OS