Lab13 memory

36
Âèðòóàë ñàíàõ îé Âèðòóàë ñàíàõ îé

Transcript of Lab13 memory

Page 1: Lab13 memory

Âèðòóàë ñàíàõ îéÂèðòóàë ñàíàõ îé

Page 2: Lab13 memory

Õóóäàñëàõ áîëîí ñåãìåíòëýõèéí øèíæ ÷àíàð

❚ Ñàíàõ îéä õàíäñàí õàÿã íü ïðîöåññ àæèëëàõ ¿åä äèíàìèêààð ôèçèê õàÿãò õºðâ¿¿ëýãäýíý. ❙ Ïðîöåññ ñàíàõ îéãîîñ 纺ãäºæ, äàðàà íü ºìíºõººñºº

ººð ìóæèä à÷ààëàãäàæ áîëíî.

❚ Ïðîöåññ íü áëîêóóäàä õóâààãäàõ áà òýäãýýð íü ñàíàõ îéä çààâàë äàðààëæ áàéðëàõ àëáàã¿é . ❙ Ïðîöåññûã áèåë¿¿ëýõäýý ò¿¿íèé á¿õ áëîêóóäûã

ñàíàõ îéä à÷ààëàõ àëáàã¿é.

Page 3: Lab13 memory

Ïðîãðàììûí áèåëýëò

❚ ¯Ñ ïðîöåññûã ¿¿ñãýõäýý ò¿¿íèé çàðèì áëîêóóäûã ë ñàíàõ îéä à÷ààëíà.

❚ Ðåçèäåíò õýñýã - Ñàíàõ îéä îðøèí áàéãàà ïðîöåññûí õýñýã

❚ Õàíäàæ áàéãàà õàÿã íü ñàíàõ îéä áàéõã¿é õýñãèéí õàÿã áàéâàë òàñàëäàë (exception) ¿¿ñäýã.

❚ ¯Ñ òóõàéí ïðîöåññûã õ¿ëýýëòèéí òºëºâò îðóóëíà.

Page 4: Lab13 memory

Ïðîãðàììûí áèåëýëò

❚ Òóõàéí ëîãèê õàÿãò õàðãàëçàõ ïðîöåññûí õýñýã ñàíàõ îéä à÷ààëàãäàíà. ❙ ¯Ñ Î/Ã-ààñ óíøèõ (äèñê) õ¿ñýëò òàâèíà. ❙ Î/Ã-ûí ¿éëäýë ã¿éöýòãýãäýæ áàéõ õîîðîíä ººð

ïðîöåññ àæèëëàõààð ñîíãîãäîíî. ❙ Î/Ã-ûí ¿éëäýë äóóñàõàä òàñàëäàë ¿¿ñ÷ ¯Ñ

õ¿ëýýëòèéí òºëºâò îðñîí ïðîöåññûã Áýëýí òºëºâò øèëæ¿¿ëíý.

Page 5: Lab13 memory

Ïðîöåññûã õýñýã÷ëýí õóâààõûí à÷ õîëáîãäîë❚ Ñàíàõ îéä îëîí òîîíû ïðîöåññ à÷ààëàõ

áîëîìæòîé áîëíî. ❙ Ïðîöåññ á¿ðèéí òîäîðõîé õýñã¿¿äèéã à÷ààëàõ

❚ Îëîí ïðîöåññ à÷ààëàãäñàí ¿åä CPU-ã ¿ð àøèãòàéãààð àøèãëàíà. ª.õ Áýëýí òºëºâò áàéãàà ïðîöåññ îëäîõ ìàãàäëàë èõòýé.

❚ Ñàíàõ îéãîîñ èõ õýìæýýòýé ïðîöåññ à÷ààëàõ áîëîìæòîé áîëíî.

Page 6: Lab13 memory

Ïðîöåññûã õýñýã÷ëýí õóâààõûí à÷ õîëáîãäîë

❚ Ïðîãðàììèñò ººðºº ñàíàõ îéí óäèðäëàãûã çîõèöóóëàõ øààðäëàãàã¿é áîëíî. (Overlay òåõíîëîãè)

❚ Àøèãëàõ ¿å íü áîëîîã¿é áàéõàä ïðîöåññûí îëîí áëîêийã ñàíàõ îéä à÷ààëàõ íü èõ ¿ðýëãýí áàéäàë áîëíî.

❚ Ñàíàõ îéãîîñ 纺ëò õèéõýä àøèãëàãäààã¿é õýñãèéã õºíäºõã¿é ó÷ðààñ õóãàöàà õýìíýíý.

Page 7: Lab13 memory

Ñàíàõ îéí àíãèëàë

❚ Áîäèò ñàíàõ îé❙ ¯íäñýí ñàíàõ îé

❚ Âèðòóàë ñàíàõ îé❙ Äèñêýí äýýðõ ñàíàõ îé îðîëöîíî.

Page 8: Lab13 memory

Ãàð÷ áîëîõ õ¿íäðýë

❚ Òóõàéí áëîêийã àøèãëàõààñ ºìíºõºí íü ò¿¿íèéã 纺æ ñàíàõ îéãîîñ ãàðãàõ

❚ Ïðîöåññîð íü êîìàíä áèåë¿¿ëýõýýñýý èë¿¿ 纺ëòèéí ¿éëäýëä öàãàà ¿ðýõ

Page 9: Lab13 memory

Òààìàãëàõ

❚ Ïðîöåññûí àæèëëàõ êîä áîëîí ºãºãäëèéã òóñ òóñàä íü áàãöëàõ

❚ Èðýýä¿éä àëü áëîêóóä àøèãëàãäàõ ãýæ áàéõ çºâ òààìàãëàõ áîëîìæòîé áàéäàã.

❚ Èíãýñíýýð âèðòóàë ñàíàõ îé ¿ð àøèãòàé àæèëëàíà.

Page 10: Lab13 memory

Âèðòóàë ñàíàõ îéí çîõèîí áàéãóó-íä òàâèãäàõ øààðäëàãà :

❚ Òåõíèê õàíãàìæ íü õóóäàñ, ñåãìåíòèéí õàÿãëàëòûã õ¿ëýýí àâàõ áîëîìæòîé áàéõ ¸ñòîé.

❚ ¯éëäëèéí ñèñòåì íü õóóäñóóä áîëîí ñåãìåíò¿¿äèéí 纺ëòèéã (¯íäñýí ñàíàõ îé ба ãàäààä ñàíàõ îéí õîîðîíä) óäèðäàõ áîëîìæòîé áàéõ ¸ñòîé.

Page 11: Lab13 memory

Õóóäñûí çîõèîí áàéãóóëàëò

❚ Ïðîöåññ á¿ð ººðèéí Õóóäñûí õ¿ñíýãò-òýé áàéõ ¸ñòîé.❙ Процесс бүр өөрийн санах ойн орон зайтай байна.

Ө/Х : Өөрийн ашиглах хуудсын олонлогтой байна

❚ Õóóäñûí õ¿ñíýãò á¿ð íü õóóäñóóäûí ñàíàõ îéí áàéðëàëûã çààõ õàÿãóóäûã àãóóëñàí áàéíà.

❚ Хуудсын хүснэгтэд òóõàéí õóóäàñ íü ¿íäñýí ñàíàõ îéä áàéãàà ýñýõèéã çààñàí óòãûã àãóóëàõ ¸ñòîé.

Page 12: Lab13 memory

Õóóäñûí õ¿ñíýãò äýõ ªºð÷ëºëòèéã òîäîðõîéëîõ áèò

❚ Ýíý áèò íü òóõàéí õóóäàñ ñàíàõ îéä à÷ààëàãäñàíààñàà õîéø ººð÷ëºãäñºí ýñýõèéã çààíà.

❚ Õýðýâ ÿìàð íýã ººð÷ëºëò õèéãäýýã¿é áîë ò¿¿íèéã ñàíàõ îéãîîñ 纺õ øààðäëàãà áàéõã¿é.

Page 13: Lab13 memory

Õóóäñûí çîõèîí áàéãóóëàëò

Âèðòóàë õàÿã

Õóóäñûí õ¿ñíýãòèéí àãóóëãà

Õóóäñûí Äóãààð Øèëæèëò

P M Ñàíàõ îéí áëîêûí ¹Áóñàä áèò¿¿ä

Page 14: Lab13 memory

Õóóäñûí çîõèîí áàéãóóëàëòûí ¿åèéí Õàÿã Õóâèðãàõ ìåõàíèçì

Ïðîãðàìì Õóóäàñëàõ ¯íäñýí ñàíàõ îé

Âèðòóàë õàÿã

Ðåãèñòð

Õóóäñûí õ¿ñíýãò

Ñàíàõ îé äàõü õóóäàñ

Offset

P#

Frame #

Õóó Õ¿ñ Çààã÷

Page # Offset Frame # Offset

+

Page 15: Lab13 memory

Õóóäñûí õ¿ñíýãò

❚ Õóóäñûí õ¿ñíýãò íü ñàíàõ îéä èõ õýìæýýíèé çàé ýçýëæ áîëíî.

❚ Òýãâýë õóóäñûí õ¿ñíýãò¿¿ä âèðòóë ñàíàõ îéä áóþó ãàäààä ñàíàõ îéä áàéðëàõ ¸ñòîé.

❚ Ïðîöåññ àæèëëàõ ¿åä ë àæèëëàæ áóé õýñýãò õàìààðàõ õýñãèéí õóóäñûí õ¿ñíýãò ñàíàõ îéä áàéõ ¸ñòîé.

Page 16: Lab13 memory

Õºðâ¿¿ëýëòèéí Êýø Áóôåð

❚ Âèðòóàë ñàíàõ îéí õàíäàëò á¿ðä 2 óäàà ôèçèê ñàíàõ îéä õàíäàíà. ❙ Õóóäñûí õ¿ñíýãòèéã óíøèõ❙ Õóóäñààñ ºãºãä뺺 óíøèõ

❚ ¯éëäëèéí òîîã öººëæ, õàíäàëòûã õóðäàñãàõûí òóëä Õóóäñûí õ¿ñíýãòèéã àãóóëñàí òóñãàé êýø àøèãëàäàã.❙ Ò¿¿íèéã Õºðâ¿¿ëýëòèéí Êýø Áóôåð - ÕÊÁ

ãýæ íýðëýå.

Page 17: Lab13 memory

Õºðâ¿¿ëýëòèéí Êýø áóôåð

❚ Õàìãèéí ñ¿¿ëä àøèãëàñàí õóóäñûí õ¿ñíýãòèéí ýëåìåíò¿¿äèéã àãóóëæ áàéíà.

❚ ¯íäñýí ñàíàõ îéí êýøòýé èæèë çàð÷ìààð àæèëëàíà.

Page 18: Lab13 memory

Õºðâ¿¿ëýëòèéí Êýø áóôåð

❚ Âèðòóàë õàÿãийг ºãºõºä ïðîöåññîð ýõëýýä ÕÊÁ -ûã øàëãàíà.

❚ Õýðýâ õóóäñûí áàéðëàëûã òîäîðõîéëîã÷ íü òýíä áàéâàë ò¿¿íýýñ óíøèæ áîäèò õàÿãèéã òîîöîîëíî.

❚ Õýðýâ áàéõã¿é áîë òóõàéí ïðîöåññûí õóóäñûí õ¿ñíýãòýíä õàíäàíà.

Page 19: Lab13 memory

Õºðâ¿¿ëýëòèéí Êýø áóôåð

❚ Õóóäàñ ñàíàõ îéä áàéãàà ýñýõèéã øàëãàíà. ❙ Õýðýâ áàéõã¿é áîë òàñàëäàë ¿¿ñíý. (page

fault)

❚ ÕÊÁ -ò øèíýýð óíøèãäñàí ýëåìåíò áè÷èãäýíý.

Page 20: Lab13 memory

Õºðâ¿¿ëýëòèéí Êýø áóôåðûã àøèãëàõ íü

Âèðòóàë õàÿã

Õºðâ¿¿ëýëòèéí Êýø áóôåð

Õóóäñûí õ¿ñíýãò

Îëäîîã¿éáîë

Page fault

Áîäèò õàÿã

Ýëåìåíò îëäñîí áîë

Offset

¯íäñýí ñàíàõ îéÃàäààäñàíàõ îé

Õóóäñûã à÷ààëàõ

Page # Offset

Frame # Offset

Page 21: Lab13 memory

START

CPU -Õ Á ã øàëãàíà

Ýëåìåíò - Õ Á ä

?áàéíàóó

Õóóäñûí õ¿ñíýãòýäõàíäàõ

Õóóäàñ ¿íäñýí ñàíàõ

?îéä

- Õ Á äõàäãàë

CPU ôèçèêõàÿãèéã¿¿ñãýõ

Yes

No

Yes Page fault- ã

áîëîâñðóóëàõìîäóëü

No

- Õ Á í ¿éëäë¿¿ä

Page 22: Lab13 memory

Page Fault-ãáîëîâñðóóëàã÷

¯Ñíü CPU -ýýð äèñêýýñ õóóäñûã

óíøèíà

CPU íü Î/Ã-ûí òºõººðºìæèä

õàíäàíà.

Ñàíàõ îé ä¿¿ðýí?

Ǻºëòã¿éöýòãýõ

Õóóäàñ ñàíàõîéä 纺ãäºæ

äóóñëàà

Õóóäñûí õ¿ñíýãòººð÷ëºãäºâ

Yes

No

Page 23: Lab13 memory

Õóóäñûí õýìæýý

❚ Áàãà õýìæýýòýé ¿åä äîòîîä öîîðõîé áàãà ¿¿ñíý❚ Áàãà õýìæýýòýé ¿åä ïðîöåññò îëîí òîîíû õóóäñóóä

õýðýãòýé áîëíî.❚ Ýíý íü Õóóäñóóäûí õ¿ñíýãò òîì áîëíî ãýñýí ¿ã. ❚ Õ¿ñíýãò èõ õýìæýýòýé áîëáîë õ¿ñíýãòèéí èõýíõ

õýñýã íü ãàäààä ñàíàõ îéä áàéðëàíà ãýñýí ¿ã. ❚ Ãàäààä ñàíàõ îé íü èõ õýìæýýòýé áëîê ºãºãäëèéã

äàìæóóëàõàä çîðèóëàãäñàí áàéäàã òóë õóóäñûí õýìæýý èõ áàéõ íü ñàéí.

Page 24: Lab13 memory

Õóóäñûí õýìæýý

❚ Õóóäñûã õýìæýý áàãà òîõèîëäîëä ñàíàõ îé íü îëîí õóóäñóóäàä õóâààãäàíà.

❚ Á¿õ õóóäñóóä íü àøèãëàãäàõ áîëîìæòîé ºãºãäëèéã àãóóëñàí áàéõ ó÷èð õóóäñûí àëäàà ¿¿ñýõ íü áàãà.

❚ Õóóäñûí õýìæýý èõñýõýä õóóäñûí àëäàà ¿¿ñýõ íü èõ áîëíî.

Page 25: Lab13 memory

Õóóäñûí õýìæýý

❚ ßëãààòàé õýìæýýòýé õóóäñóóä àøèãëàõ íü ÕÊÁ -ûã óÿí õàòàí àøèãëàõ áîëîìæèéã îëãîæ ºãäºã.

❚ Èõ õýìæýýòýé õóóäñóóä íü áèåëýõ êîìàíäóóäûã àãóóëàõ

❚ Æèæèã õýìæýýòýé õóóäñóóä íü Õóóëáàð ïðîöåññä àøèãëàãäàõ ãýõ ìýò

Page 26: Lab13 memory

Ôðåéìèéí òîî

Çóðàã 8.5 Áåëàäèãèéí ãàæóóäàë

Беладигийн гажуудал

Page 27: Lab13 memory

Ñåãìåíòèéí çîõèîí áàéãóóëàëò

❚ Ñàíàõ îé äèíàìèêààð õóâààðèëàãäàíà. ❚ Õýìæýý íü ºñ÷ áóóð÷ áàéäàã ºãºãäëèéí

á¿òöèéã óäèðäàõ àñóóäëûã õÿëáàð÷èëíà.

❚ ÏÕ-óóäûã áèå äààñàí áàéäàëòàéãààð çîõèîí áàéãóóëæ, ººð÷ëºõ áîëîìæèéã á¿ðä¿¿ëíý.

❚ Ïðîöåññóóä ºãºãäëèéã õàìòðàí ýçýìøèõ áîëîìæèéã îëãîäîã.

❚ Õàìãààëàëòûí ìåõàíèçì áîëæ ºãäºã.

Page 28: Lab13 memory

Ñåãìåíòèéí õ¿ñíýãò

❚ Áè÷ëýã á¿ð íü ñàíàõ îé äàõü ñåãìåíòèéí ýõëýëèéí õàÿãèéã àãóóëíà.

❚ ̺í ñåãìåíòèéí õýìæýýã àãóóëíà. ❚ Ñåãìåíò íü ñàíàõ îéä áàéãàà ýñýõèéã

òîäîðõîéëñîí áèò áàéíà. ❚ Ñàíàõ îéä à÷ààëàãäñàíààñ õîéø

ñåãìåíòýä ººð÷ëºëò îðñîí ýñýõèéã òîäîðõîéëîõ áèò áàéíà.

Page 29: Lab13 memory

Ñåãìåíòèéí çîõèîí áàéãóóëàëò

Âèðòóàë õàÿã

Ñåãìåíòèéí Õ¿ñíýãòèéí áè÷ëýã

Ñåãìåíò ¹ Øèëæèëò

P M Áóñàä áèò¿¿ä Õýìæýý Ñåãìåíòèéí ýõëýë

Page 30: Lab13 memory

/ Ñåãìåíòèéí ç áàéãóóëàëòûí õàÿã õóâèðãàëòûí ìåõàíèçì

+ dÝõëýë

Ïðîãðàìì Ñåãìåíòëýõ ¯íäñýí ñàíàõ îé

Âèðòóàëõàÿã

Ð åãèñòð

Ñåãìåíò Õ¿ñíýãò

Ñåãìåíòd

S#

Óðò Ýõëýë

ÑåãÕ¿ñ Çààã÷

Ñåã¹ Øèëæèëò

Ñåãìåíò Õ¿ñíýãò

+

+

Page 31: Lab13 memory

- Ñåãìåíò õóóäñûí çîõèîíáàéãóóëàëò

❚ / Õóóäñûí ç á íü ãàäààäöîîðõîé¿¿ñýõ áîëîìæèéã. á¿ðä¿¿ëäýã

❚ / Ñåãìåíòèéãç á íü ºãºãäëèéí äèíàìèêçîõèîí , , áàéãóóëàëòûãäýìæèõ õàìòðàí ýçýìøèõ

. õàìãààëàëòûí îð÷íûãá¿ðä¿¿ëäýã❚ Ñåãìåíò á¿ð íü òîãòìîëõýìæýýòýéõóóäñóóäàä

. õóâààãäàíà

Page 32: Lab13 memory

Ñåãìåíò-õóóäñûí ç/áàéãóóëàëò

Âèðòóàë õàÿã

Ñåãìåíòèéí õ¿ñíýãò

Õóóäñûí õ¿ñíýãò

Ñåãìåíò ¹ Õóóäàñ ¹ Øèëæèëò

Áóñàä óäèðäàõ áèò Õýìæýý Ñåãìåíòèéí ýõëýë

P M Áóñàä óäèðäàõ áèò Ñàíàõ îéí áëîê ¹

Page 33: Lab13 memory

/ Ñåãìåíò Õóóäàñ õàÿãõóâèðãàëòûíìåõàíèçì

¯íäñýí ñàíàõ îé

Õóóäñûíáàéðëàë

Øèëæèëò

Õóóäàñëàõ

ÕóóäàñÕ¿ñ

P#+

#Áëîê Øèëæ

ÑåãÕ¿ñ çààã÷

+S #

ÑåãìåíòëýõÏðîãðàìì

ÑåãìåíòÕ¿ñíýãò

#Ñåã #Õóó Øèëæ

Page 34: Lab13 memory

Õàìãààëàëò

❚ 0-ð öàãèðàã íü ¿éëäëèéí ñèñòåìèéí öºìèéí ôóíêöóóä ãýæ ¿çíý.

❚ Ïðîãðàìì ººðèéí áóþó ººðººñºº ãàäíà îðøèõ öàãèðàãèéí ºãºãäºëä õàíäàæ ÷àäíà.

❚ Ïðîãðàìì íü ººðèéí áóþó ººðººñºº ºíäºð ýðõòýé öàãèðàãò áàéãàà ¿éë÷èëãýýã äóóäàæ áîëíî.

Page 35: Lab13 memory

Ïðîãðàììûí õîîðîíä óäèðäëàãà øèëæèõ (Öàãèðàã õàìãààëàëò)

Öàãèðàã 0

Öàãèðàã 1

Öàãèðàã 2

Äóóäàõ Áóöàõ

Äóóäàõ

Áóöàõ

¯ñðýõ

Page 36: Lab13 memory

ªãºãäºëä õàíäàõ (Öàãèðàã õàìãààëàëò)

Öàãèðàã 0

Öàãèðàã 1

Öàãèðàã 2

ªãºãäºëäõàíäàõ

ªãºãäºëäõàíäàõ