А.В. Столяров - Введение в операционные системы, страница 9
Описание файла
PDF-файл из архива "А.В. Столяров - Введение в операционные системы", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 9 страницы из PDF
Åñëè èñïîëüçîâàòüîáû÷íóþ (ïëîñêóþ) ìîäåëü ïàìÿòè, íå èñêëþ÷åíî, ÷òî îäíó èç òàáëèö ïðèäåòñÿ ïåðåìåùàòü â äðóãîå ìåñòî, ÷òîáû äàòü âîçìîæíîñòü ðàñøèðèòü äðóãóþòàáëèöó; ïðè ýòîì ïðèäåòñÿ íå òîëüêî ïðîâîäèòü êîïèðîâàíèå, íî è ïåðåñ÷èòûâàòü âñå óêàçàòåëè, ñîäåðæàâøèå àäðåñà âíóòðè ïåðåìåùåííîé òàáëèöû.Âñåõ ýòèõ òðóäíîñòåé ìîæíî èçáåæàòü, åñëè ïîä êàæäóþ òàáëèöó âûäåëèòüîòäåëüíûé ñåãìåíò.Îòìåòèì, ÷òî òàáëèöà äåñêðèïòîðîâ ñåãìåíòîâ õðàíèòñÿ â îïåðàòèâíîéïàìÿòè, òàê ÷òî, åñëè íå ïðåäïðèíÿòü ñïåöèàëüíûõ ìåð, íà êàæäîå îáðàùåíèåàêòèâíîé ïðîãðàììû ê ïàìÿòè ïîòðåáîâàëîñü áû åùå è îáðàùåíèå â ïàìÿòüçà èíôîðìàöèåé èç ýòîé òàáëèöû, ÷òî ñíèçèëî áû ïðîèçâîäèòåëüíîñòü ñèñòåìû ïðàêòè÷åñêè âäâîå. Ïîýòîìó ðàçðàáîò÷èêè àðõèòåêòóðû ïðîöåññîðîâ îðãàíèçóþò õðàíåíèå èíôîðìàöèè îá èñïîëüçóåìûõ ñåãìåíòàõ íåïîñðåäñòâåííîâ ïðîöåññîðå.
Íàïðèìåð, ïðîöåññîðû ñåðèè Intel çàãðóæàþò èíôîðìàöèþ èçòàáëèöû äåñêðèïòîðîâ êàæäûé ðàç ïðè èçìåíåíèè ñîäåðæèìîãî ñåãìåíòíîãî ðåãèñòðà; èíôîðìàöèÿ èç ñîîòâåòñòâóþùåé ñòðîêè òàáëèöû äåñêðèïòîðîâçàãðóæàåòñÿ â íåâèäèìóþ ÷àñòü ñåãìåíòíîãî ðåãèñòðà è õðàíèòñÿ òàì äîñëåäóþùåãî åãî èçìåíåíèÿ.8.3.3Ñòðàíè÷íàÿ îðãàíèçàöèÿ ïàìÿòèÁîëåå ýôôåêòèâíî ðåøèòü ïðîáëåìû îáúåìà è ôðàãìåíòàöèè ïîçâîëÿåòñòðàíè÷íàÿ îðãàíèçàöèÿ ïàìÿòè.Îòìåòèì ñðàçó, ÷òî â ýòîé ìîäåëè îáû÷íî êàæäàÿ çàäà÷à èìååò ñâîå ñîáñòâåííîå ïðîñòðàíñòâî âèðòóàëüíûõ àäðåñîâ è ñâîè òàáëèöû äëÿ ïåðåâîäà èõâ àäðåñà ôèçè÷åñêèå.Ðàçäåëèì ôèçè÷åñêóþ ïàìÿòü íà êàäðû 4 ôèêñèðîâàííîãî ðàçìåðà, à ïðîñòðàíñòâî âèðòóàëüíûõ àäðåñîâ − íà ñòðàíèöû òîãî æå ðàçìåðà (ðèñ.
10).Åñëè, ê ïðèìåðó, íàø ïðîöåññîð èñïîëüçóåò 32-áèòíûå àäðåñà, à ôèçè÷åñêîé ïàìÿòè âêîìïüþòåðå óñòàíîâëåíî 512Mb (229áàéò), ìû ìîæåì ðàçäåëèòü ôèçè÷åñêóþ ïàìÿòü íà217 =131072 êàäðîâ ïî 212 = 4096 áàéò, èëè 4Kb êàæäûé; âèðòóàëüíîå àäðåñíîå ïðîñòðàíñòâî òîãäà20ðàçäåëèòñÿ íà 2= 1048576 ñòðàíèö òàêîãî æå ðàçìåðà.3 Òåìíå ìåíåå, ýòè ïðåèìóùåñòâà ÷èñòî êîëè÷åñòâåííûå è âñåðüåç íà ñèòóàöèþ íå âëèÿþòîðèãèíàë òåðìèíà êàäð â äàííîì ñëó÷àå − frame; íåêîòîðûå ðóññêîÿçû÷íûå àâòîðûïîëüçóþòñÿ âìåñòî ñëîâà êàäð ñëîâîì ôðåéì, ëèáî èñïîëüçóþò ñëîâî ñòðàíèöà êàê äëÿ îáîçíà÷åíèÿ ñòðàíèö âèðòóàëüíûõ àäðåñîâ, òàê è äëÿ îáîçíà÷åíèÿ êàäðîâ ôèçè÷åñêîé ïàìÿòè4 Àíãëèéñêèé36с т ра ни цык ад рыс т ра ни цыФизическая памятьВиртуальная память задачи 1Виртуальная память задачи 2Ðèñ. 10: Ñòðàíè÷íàÿ îðãàíèçàöèÿ ïàìÿòèÇàìåòèì, ÷òî åñëè ðàçìåð ñòðàíèöû è êàäðà ñîñòàâëÿåò ñòåïåíü äâîéêè,òî ñîîòâåòñòâóþùåå êîëè÷åñòâî ìëàäøèõ áèò àäðåñà (êàê âèðòóàëüíîãî, òàêè ôèçè÷åñêîãî) ïðåäñòàâëÿþò ñîáîé ñìåùåíèå îòíîñèòåëüíî íà÷àëà ñòðàíèöûèëè êàäðà, à îñòàëüíûå áèòû − íîìåð ñòðàíèöû èëè êàäðà.Îñòàåòñÿ êàêèì-òî îáðàçîì äëÿ êàæäîé çàäà÷è ñîïîñòàâèòü íåêîòîðûì(íå âñåì!) ñòðàíèöàì íîìåðà ôèçè÷åñêèõ êàäðîâ.
Âàæíî, ÷òî ñîïîñòàâëåíèåïðîèçâîäèòñÿ â ïðîèçâîëüíîì ïîðÿäêå, òî åñòü äâóì ñîñåäíèì ñòðàíèöàì ìîãóò ñîîòâåòñòâîâàòü êàäðû èç ñîâåðøåííî ðàçíûõ îáëàñòåé ôèçè÷åñêîé ïàìÿòè.Îáû÷íî îòîáðàæåíèå ñòðàíèö íà ôèçè÷åñêèå êàäðû îñóùåñòâëÿåòñÿ ÷åðåçòàáëèöó ñòðàíèö, ïðèíàäëåæàùóþ àêòèâíîé çàäà÷å (ðèñ. 11). Äëÿ êàæäîéñòðàíèöû òàáëèöà ñîäåðæèò çàïèñü, ñîñòîÿùóþ èç íîìåðà êàäðà è ñëóæåáíûõàòðèáóòîâ.  ÷èñëî àòðèáóòîâ îáû÷íî âõîäèò òàê íàçûâàåìûé ïðèçíàê ïðèñóòñòâèÿ,îçíà÷àþùèé, íàõîäèòñÿ ëè äàííàÿ ñòðàíèöà âíàñòîÿùåå âðåìÿ â îïåðàòèâíîé ïàìÿòè èëè íåò. Ïðè ïîïûòêå îáðàùåíèÿ ê ñòðàíèöå, äëÿ êîòîðîé ïðèçíàê ïðèñóòñòâèÿ ñáðîøåí, ïðîöåññîð èíèöèèðóåò ïðåðûâàíèå, íàçûâàåìîå ñòðàíè÷íûì ; ïîëó÷èâýòî ïðåðûâàíèå, îïåðàöèîííàÿ ñèñòåìà ïðîèçâîäèò, åñëè âîçìîæíî,ïîäêà÷êó ñîîòâåòñòâóþùåé ñòðàíèöû ñ äèñêà.Ñóùåñòâóåò ïðîáëåìà âûáîðà ðàçìåðà ñòðàíèöû.
×åì áîëüøå ñòðàíèöà,37Виртуальный адресНомер страницысмещениеТаблица страницНомер физ. кадраатрибутыномер физ. кадрасмещениеФизический адресÐèñ. 11: Ñòðàíè÷íîå ïðåîáðàçîâàíèå àäðåñàòåì áîëüøå ïàìÿòè ïðîïàäàåò âïóñòóþ â ïîñëåäíèõ ñòðàíèöàõ çàäà÷. Òàê,åñëè âûáðàòü ðàçìåð ñòðàíèöû 1Mb, òî çàäà÷à, çàíèìàþùàÿ ÷óòü áîëüøå1Mb, çàéìåò äâà ôèçè÷åñêèõ êàäðà, ïðè÷åì âòîðîé ïî÷òè âåñü (òî åñòü ïî÷òè1Mb) íå áóäåò èñïîëüçîâàòüñÿ. Ñ äðóãîé ñòîðîíû, ÷åì ìåíüøå ðàçìåð ñòðàíèöû, òåì áîëüøå êîëè÷åñòâî ñàìèõ ñòðàíèö è òåì, ñîîòâåòñòâåííî, áîëüøåðàçìåðû ñòðàíè÷íûõ òàáëèö.Îáû÷íî ðàçìåð ñòðàíèöû âûáèðàþò ðàâíûì ñòåïåíè äâîéêè, îò 29 äî 214áàéò.
Ïðîöåññîðû Intel Pentium óìåþò ðàáîòàòü ñî ñòðàíèöàìè ðàçìåðîì 4Kb,2Mb è 4Mb. Âîîáùå, ðàçìåð ñòðàíèöû 4Kb (212 áàéò) ÿâëÿåòñÿ íàèáîëåå ïîïóëÿðíûì ñðåäè ðàçëè÷íûõ àðõèòåêòóð.Îáðàòèì âíèìàíèå, ÷òî ïðè 32-áèòíîé àäðåñàöèè (4Gb àäðåñóåìîãî ïðîñòðàíñòâà) êîëè÷åñòâî ñòðàíèö ñîñòàâèò 220 , òî åñòü áîëüøå ìèëëèîíà.
Åñëèó÷åñòü, ÷òî êàæäàÿ ñòðîêà â òàáëèöå ñòðàíèö çàíèìàåò îáû÷íî 4 áàéòà, ïîëó÷èì, ÷òî íà òàáëèöó ñòðàíèö êàæäîãî ïðîöåññà òðåáóåòñÿ 4Mb ïàìÿòè.Áåçóñëîâíî, ýòî íåïðèåìëåìî: áîëüøèíñòâî çàäà÷ çàíèìàåò â ïàìÿòè ñóùåñòâåííî ìåíüøå îäíîãî Mb, òàê ÷òî íà òàáëèöû ñòðàíèö ïðèäåòñÿ ïîòðàòèòüáîëüøå ïàìÿòè, ÷åì íà ñàìè çàäà÷è.
Îäíèì èç âîçìîæíûõ ðåøåíèé ÿâëÿåòñÿ èñêóññòâåííîå îãðàíè÷åíèå êîëè÷åñòâà ñòðàíèö, íî ýòî ðåøåíèå äàëåêîíå ëó÷øåå, ò.ê. ïðèâîäèò ê íåâîçìîæíîñòè âûïîëíåíèÿ çàäà÷, òðåáóþùèõáîëüøåãî êîëè÷åñòâà ïàìÿòè.Áîëåå ýëåãàíòíîå ðåøåíèå ñîñòîèò â ïðèìåíåíèè ìíîãîóðîâíåâûõ ñòðàíè÷íûõ òàáëèö.  ýòîì ñëó÷àå íîìåð ñòðàíèöû äåëèòñÿ íà ãðóïïû áèòîâ, çàäàþùèõ íîìåð ñòðîêè â òàáëèöàõ ñîîòâåòñòâóþùèõ óðîâíåé; òàáëèöà ïåðâîãîóðîâíÿ ñîäåðæèò àäðåñà òàáëèö âòîðîãî óðîâíÿ, è ò.ä., à òàáëèöà ïîñëåäíåãî38Виртуальный адрестабл. 1 табл.
2смещениеТаблица второго уровняНомер физ. кадраатрибутыТаблица первого уровняАдрес табл. 2го ур. атрибутыномер физ. кадрасмещениеФизический адресÐèñ. 12: Äâóõóðîâíåâàÿ ñõåìà ñòðàíè÷íîãî ïðåîáðàçîâàíèÿóðîâíÿ − íîìåðà ôèçè÷åñêèõ êàäðîâ (ðèñ. 12).  ýòîì ñëó÷àå äëÿ êàæäîéçàäà÷è íåîáõîäèìî çàâåñòè òàáëèöó âåðõíåãî óðîâíÿ è ïî îäíîé òàáëèöå äëÿâñåõ îñòàëüíûõ óðîâíåé; îñòàëüíûå òàáëèöû áóäóò äîáàâëÿòüñÿ ïî íåîáõîäèìîñòè.
Ïîñêîëüêó ñõåìà, êàê ïðàâèëî, ñîäåðæèò íå áîëåå òðåõ óðîâíåé5 , äëÿíåáîëüøîé çàäà÷è òðåáóåòñÿ õðàíèòü âñåãî äâå èëè òðè ñðàâíèòåëüíî íåáîëüøèå ïî ðàçìåðó òàáëèöû.Ðàññìîòðèì äëÿ ïðèìåðà äâóõóðîâíåâóþ ñòðàíè÷íóþ ñõåìó äëÿ ñëó÷àÿ32-áèòíûõ àäðåñîâ è ðàçìåðà ñòðàíèöû 4Kb. Ñìåùåíèå ïðè òàêîì ðàçìåðåñòðàíèöû çàíèìàåò 12 áèò, íà íîìåð ñòðàíèöû îñòàåòñÿ 20 áèò, èç êîòîðûõ10 èñïîëüçóåì äëÿ âûáîðà ñòðîêè â òàáëèöå ïåðâîãî óðîâíÿ, îñòàëüíûå 10 −äëÿ âûáîðà ñòðîêè â òàáëèöå âòîðîãî óðîâíÿ6 . Òîãäà òàáëèöû îáîèõ óðîâíåéìîãóò ñîäåðæàòü 210 = 1024 ñòðîêè, ÷òî ïðè äëèíå ñòðîêè 4 áàéòà òðåáóåò4096 áàéò, òî åñòü êàæäàÿ òàáëèöà çàíèìàåò ðîâíî îäèí êàäð â ïàìÿòè.Êàê ìîæíî çàìåòèòü, ñòðàíè÷íàÿ îðãàíèçàöèÿ ïàìÿòè ñíèìàåò ïðîáëåìûîáúåìà è ôðàãìåíòàöèè.
Äåéñòâèòåëüíî, â ðàññìîòðåííîé ìîäåëè ôèçè÷åñêàÿïàìÿòü âûäåëÿåòñÿ êàäðàìè, ïðè÷åì ñîâåðøåííî áåçðàçëè÷íî, áóäóò ëè êàäðû ñîñåäíèìè èëè íåò; ëþáîé ñâîáîäíûé êàäð ìîæåò áûòü èñïîëüçîâàí äëÿëþáîé çàäà÷è. Òàêèì îáðàçîì, ôðàãìåíòàöèÿ âîçíèêíóòü íå ìîæåò.
Äàëåå,5 Îáû÷íîäâà óðîâíÿ äëÿ 32-áèòíûõ àðõèòåêòóð è òðè − äëÿ 64-áèòíûõòàê îáñòîÿò äåëà â ñîâðåìåííûõ i386-ñîâìåñòèìûõ ïðîöåññîðàõ; â äîêóìåíòàöèè îáû÷íî òàáëèöà ïåðâîãî óðîâíÿ íàçûâàåòñÿ êàòàëîãîì òàáëèö, à òàáëèöû âòîðîãî óðîâíÿ − ñîáñòâåííî òàáëèöàìèñòðàíèö6 Èìåííî39êàæäàÿ ñòðàíèöà íåçàâèñèìî îò äðóãèõ ìîæåò áûòü â ëþáîé ìîìåíò îòêà÷àíà íà äèñê. Ïðè îáðàùåíèè ê íåé ïðîèçîéäåò ñòðàíè÷íîå ïðåðûâàíèå, ïîêîòîðîìó îïåðàöèîííàÿ ñèñòåìà ìîæåò ïîäêà÷àòü ñòðàíèöó îáðàòíî â ïàìÿòü,ïîñëå ÷åãî ïðîäîëæèòü âûïîëíåíèå çàäà÷è â òî÷íîñòè ñ èíñòðóêöèè, âûçâàâøåé ïðåðûâàíèå. Âîçìîæíî, ñòðàíèöà áóäåò ïîäêà÷àíà â ñîâåðøåííî äðóãîéôèçè÷åñêèé êàäð, íî ïîëüçîâàòåëüñêàÿ çàäà÷à ýòîãî íå çàìåòèò, êàê è âîîáùåñàìîãî ôàêòà ïîäêà÷êè.
Áëàãîäàðÿ íåçàâèñèìîé îáðàáîòêå îòäåëüíûõ ñòðàíèö, çàäà÷å ìîæíî âûäåëèòü áîëüøå ïàìÿòè, ÷åì ôèçè÷åñêè åñòü íà ìàøèíå;â ýòîì ìû îãðàíè÷åíû òîëüêî îáúåìîì âèðòóàëüíîãî àäðåñíîãî ïðîñòðàíñòâàè, êîíå÷íî, âûäåëåííûì äèñêîâûì ïðîñòðàíñòâîì ïîä ñâîïïèíã.Ê íåäîñòàòêàì ñòðàíè÷íîé ìîäåëè ìîæíî îòíåñòè, âî-ïåðâûõ, ñðàâíèòåëüíî áîëüøîå êîëè÷åñòâî íåèñïîëüçóåìîé ïàìÿòè â êîíöå ïîñëåäíåé ñòðàíèöûêàæäîé çàäà÷è (îñîáåííî ïðè áîëüøèõ ðàçìåðàõ ñòðàíèö) è, âî-âòîðûõ, áîëüøèå îáúåìû ñëóæåáíîé èíôîðìàöèè (ñòðàíè÷íûõ òàáëèö).Îñòàíîâèìñÿ íà ýòîì ïîäðîáíåå. Åñëè íå ïðåäïðèíÿòü ñïåöèàëüíûõ ìåð,ïðè ðàáîòå ïî äâóõóðîâíåâîé òàáëè÷íîé ñõåìå êàæäîå îáðàùåíèå ê ïàìÿòèçà êîìàíäîé èëè äàííûìè ïîòðåáóåò åùå äâóõ îáðàùåíèé: ê òàáëèöå ïåðâîãîóðîâíÿ è ê òàáëèöå âòîðîãî óðîâíÿ. Ñèòóàöèÿ, â îáùåì, àíàëîãè÷íà âîçíèêøåé â ñåãìåíòíîé ìîäåëè, çà èñêëþ÷åíèåì òîãî, ÷òî ñòðàíèöà − íå ñåãìåíò,åå îáúåì ñóùåñòâåííî ìåíüøå, à êîëè÷åñòâî ñòðàíèö − ãîðàçäî áîëüøå; ïðîãðàììà ìîæåò çà îäíó ñåêóíäó óñïåòü îáðàòèòüñÿ ê íåñêîëüêèì äåñÿòêàìñòðàíèö.