А.В. Столяров - Введение в операционные системы (1114673), страница 5
Текст из файла (страница 5)
Òàêîé ñïîñîá âçàèìîäåéñòâèÿ íàçûâàåòñÿàêòèâíûì îæèäàíèåì. Êàê óæå áûëî ñêàçàíî, òàêîé ïîäõîä íåýôôåêòèâåí,òàê êàê ïðîöåññîðíîå âðåìÿ ìîæíî áûëî áû èñïîëüçîâàòü ñ áîëüøåé ïîëüçîé.4.5.1Àïïàðàò ïðåðûâàíèéÏðè ïåðåõîäå ê ìóëüòèçàäà÷íîé îáðàáîòêå, ïîêàçàííîé íà ðèñ. 4, âîçíèêàåò îïðåäåëåííàÿ ïðîáëåìà.  ìîìåíò çàâåðøåíèÿ îïåðàöèè ââîäà-âûâîäàïðîöåññîð çàíÿò èñïîëíåíèåì âòîðîé çàäà÷è. Ìåæäó òåì, â ìîìåíò çàâåðøåíèÿ îïåðàöèè òðåáóåòñÿ êàê ìèíèìóì ïåðåâåñòè ïåðâóþ çàäà÷ó èç ñîñòîÿíèÿáëîêèðîâêè â ñîñòîÿíèå ãîòîâíîñòè; áîëåå òîãî, ìîãóò ïîòðåáîâàòüñÿ è äðóãèå äåéñòâèÿ, òàêèå êàê êîïèðîâàíèå äàííûõ èç áóôåðà êîíòðîëëåðà, ñáðîñêîíòðîëëåðà (íàïðèìåð, âûêëþ÷åíèå ìîòîðà äèñêà), à â áîëåå ñëîæíûõ ñèòóàöèÿõ − èíèöèèðîâàíèå äðóãîé îïåðàöèè ââîäà-âûâîäà, ðàíåå îòëîæåííîé(ýòî ìîæåò áûòü îïåðàöèÿ ÷òåíèÿ ñ òîãî æå äèñêà, êîòîðóþ âûäàëà äðóãàÿçàäà÷à â òî âðåìÿ, êàê ïåðâàÿ îïåðàöèÿ åùå âûïîëíÿëàñü).Ïðîáëåìà ñîñòîèò â òîì, êàêèì îáðàçîì îïåðàöèîííàÿ ñèñòåìà óçíàåò îçàâåðøåíèè îïåðàöèè ââîäà-âûâîäà, åñëè ïðîöåññîð ïðè ýòîì çàíÿò âûïîëíåíèåì äðóãîé çàäà÷è è íåïðåðûâíîãî îïðîñà êîíòðîëëåðà íå ïðîèçâîäèò.Ðåøèòü ïðîáëåìó ïîçâîëÿåò àïïàðàò ïðåðûâàíèé.
 äàííîì êîíêðåòíîìñëó÷àå â ìîìåíò çàâåðøåíèÿ îïåðàöèè êîíòðîëëåð ïîäàåò öåíòðàëüíîìó ïðîöåññîðó îïðåäåëåííûé ñèãíàë (ýëåêòðè÷åñêèé èìïóëüñ), íàçûâàåìûé çàïðîñîì ïðåðûâàíèÿ. Öåíòðàëüíûé ïðîöåññîð, ïîëó÷èâ ýòîò ñèãíàë, ïðåðûâàåòâûïîëíåíèå àêòèâíîé çàäà÷è è ïåðåäàåò óïðàâëåíèå ïðîöåäóðå îïåðàöèîííîé ñèñòåìû, êîòîðàÿ âûïîëíÿåò âñå íåîáõîäèìûå ïî îêîí÷àíèè îïåðàöèèââîäà-âûâîäà äåéñòâèÿ. Ïîñëå ýòîãî óïðàâëåíèå âîçâðàùàåòñÿ àêòèâíîé çàäà÷å.4.5.2Çàùèòà ïàìÿòèÐàññìîòðèì äðóãèå ïðîáëåìû, âîçíèêàþùèå ïðè îäíîâðåìåííîì íàõîæäåíèè â ïàìÿòè ìàøèíû íåñêîëüêèõ ïðîãðàìì.
Åñëè íå ïðåäïðèíÿòü ñïåöèàëüíûõ ìåð, îäíà èç ïðîãðàìì ìîæåò ìîäèôèöèðîâàòü äàííûå èëè êîä äðóãèõïðîãðàìì èëè ñàìîé îïåðàöèîííîé ñèñòåìû. Äàæå åñëè äîïóñòèòü îòñóòñòâèå18çëîãî óìûñëà ó ðàçðàáîò÷èêîâ âñåõ çàïóñêàåìûõ ïðîãðàìì, îò ñëó÷àéíûõîøèáîê â ïðîãðàììàõ íàñ ýòî äîïóùåíèå íå ñïàñåò.ßñíî, ÷òî íåîáõîäèìû ñðåäñòâà îãðàíè÷åíèÿ âîçìîæíîñòåé ðàáîòàþùåéïðîãðàììû ïî äîñòóïó ê îáëàñòÿì ïàìÿòè, çàíÿòûì äðóãèìè ïðîãðàììàìè.Ïðîãðàììíî òàêóþ çàùèòó ìîæíî ðåàëèçîâàòü ðàçâå ÷òî ïóòåì èíòåðïðåòàöèè âñåãî ìàøèííîãî êîäà èñïîëíÿþùåéñÿ ïðîãðàììû, ÷òî êàòåãîðè÷åñêèíåäîïóñòèìî èç ñîîáðàæåíèé ýôôåêòèâíîñòè. Òàêèì îáðàçîì, íåîáõîäèìà àïïàðàòíàÿ ïîääåðæêà çàùèòû ïàìÿòè.4.5.3Ïðèâèëåãèðîâàííûé è îãðàíè÷åííûé ðåæèìûÊîëü ñêîðî ñóùåñòâóåò çàùèòà ïàìÿòè, ïðîöåññîð äîëæåí èìåòü íàáîð êîìàíä äëÿ óïðàâëåíèÿ ýòîé çàùèòîé.
Åñëè, îïÿòü òàêè, íå ïðåäïðèíÿòü ñïåöèàëüíûõ ìåð, òî òàêèå êîìàíäû ñìîæåò èñïîëíèòü ëþáàÿ èç âûïîëíÿþùèõñÿïðîãðàìì, ñíÿâ çàùèòó ïàìÿòè èëè ìîäèôèöèðîâàâ åå êîíôèãóðàöèþ. Òàêàÿâîçìîæíîñòü äåëàåò ñàìó çàùèòó ïàìÿòè ïðàêòè÷åñêè áåññìûñëåííîé.Ðàññìàòðèâàåìàÿ ïðîáëåìà êàñàåòñÿ íå òîëüêî çàùèòû ïàìÿòè, íî è ðàáîòû ñ âíåøíèìè óñòðîéñòâàìè. ×òîáû îáåñïå÷èòü íîðìàëüíîå âçàèìîäåéñòâèåâñåõ ïðîãðàìì ñ óñòðîéñòâàìè ââîäà-âûâîäà, îïåðàöèîííàÿ ñèñòåìà äîëæíàâçÿòü íåïîñðåäñòâåííóþ ðàáîòó ñ óñòðîéñòâàìè íà ñåáÿ, à ïîëüçîâàòåëüñêèìïðîãðàììàì ïðåäîñòàâëÿòü èíòåðôåéñ äëÿ îáðàùåíèÿ ê îïåðàöèîííîé ñèñòåìå çà óñëóãàìè ïî ðàáîòå ñ óñòðîéñòâàìè. Èíà÷å ãîâîðÿ, ïîëüçîâàòåëüñêèåïðîãðàììû äîëæíû èìåòü âîçìîæíîñòü ðàáîòû ñ âíåøíèìè óñòðîéñòâàìèòîëüêî ÷åðåç îïåðàöèîííóþ ñèñòåìó. Ñîîòâåòñòâåííî, íåîáõîäèìî çàïðåòèòüïîëüçîâàòåëüñêèì ïðîãðàììàì âûïîëíåíèå êîìàíä ïðîöåññîðà, îñóùåñòâëÿþùèõ ÷òåíèå/çàïèñü ïîðòîâ ââîäà-âûâîäà.Ïðîáëåìà ðåøàåòñÿ ââåäåíèåì äâóõ ðåæèìîâ ðàáîòû öåíòðàëüíîãî ïðîöåññîðà: ïðèâèëåãèðîâàííîãî è îãðàíè÷åííîãî 4 .
 ïðèâèëåãèðîâàííîì ðåæèìåïðîöåññîð ìîæåò âûïîëíÿòü ëþáûå ñóùåñòâóþùèå êîìàíäû.  îãðàíè÷åííîìðåæèìå âûïîëíåíèå êîìàíä, âëèÿþùèõ íà ñèñòåìó â öåëîì, çàïðåùåíî; ðàçðåøàþòñÿ òîëüêî êîìàíäû, ýôôåêò êîòîðûõ îãðàíè÷åí ìîäèôèêàöèåé äàííûõâ îáëàñòÿõ ïàìÿòè, íå çàêðûòûõ çàùèòîé ïàìÿòè. Ñàìà îïåðàöèîííàÿ ñèñòåìà (ïðîãðàììà, íàçûâàåìàÿ åùå ÿäðîì 5 îïåðàöèîííîé ñèñòåìû) âûïîëíÿåòñÿâ ïðèâèëåãèðîâàííîì ðåæèìå, ïîëüçîâàòåëüñêèå ïðîãðàììû − â îãðàíè÷åííîì.4Âëèòåðàòóðå ïðèâèëåãèðîâàííûé ðåæèì ÷àñòî íàçûâàþò ðåæèìîì ÿäðà èëè ðåæèìîì ñóïåðâèçîðà (àíãë.
kernel mode, supervisor mode ). Îãðàíè÷åííûé ðåæèì íàçûâàþò òàêæå ïîëüçîâàòåëüñêèìðåæèìîì (àíãë. user mode ) èëè ïðîñòî íåïðèâèëåãèðîâàííûì (àíãë. nonprivileged. Òåðìèí îãðàíè÷åííûéðåæèì èçáðàí â äàííîì ïîñîáèè êàê íàèáîëåå òî÷íî îïèñûâàþùèé ñóùíîñòü äàííîãî ðåæèìà ðàáîòûöåíòðàëüíîãî ïðîöåññîðà áåç ïðèâÿçêè ê åãî èñïîëüçîâàíèþ îïåðàöèîííûìè ñèñòåìàìè.5 Àíãë. kernel194.5.4ÒàéìåðÄëÿ ðåàëèçàöèè ïàêåòíîãî ìóëüòèçàäà÷íîãî ðåæèìà ïåðå÷èñëåííûõ àïïàðàòíûõ ñðåäñòâ óæå äîñòàòî÷íî. Åñëè æå íåîáõîäèìî ðåàëèçîâàòü ñèñòåìóðàçäåëåíèÿ âðåìåíè èëè ðåàëüíîãî âðåìåíè, â àïïàðàòóðå âû÷èñëèòåëüíîéñèñòåìû òðåáóåòñÿ íàëè÷èå åùå îäíîãî êîìïîíåíòà − òàéìåðà.Äåéñòâèòåëüíî, ïëàíèðîâùèêó îïåðàöèîííîé ñèñòåìû ðàçäåëåíèÿ âðåìåíè íóæíà âîçìîæíîñòü îòñëåæèâàíèÿ èñòå÷åíèÿ êâàíòîâ âðåìåíè, âûäåëåííûõ ïîëüçîâàòåëüñêèì ïðîãðàììàì; â ñèñòåìå ðåàëüíîãî âðåìåíè òàêàÿ âîçìîæíîñòü òàêæå íåîáõîäèìà, ïðè÷åì òðåáîâàíèÿ ê íåé äàæå áîëåå æåñòêèå:íå ñíÿâ âîâðåìÿ ñ ïðîöåññîðà àêòèâíîå íà òîò ìîìåíò ïðèëîæåíèå, ïëàíèðîâùèê ðèñêóåò ïîïðîñòó íå óñïåòü âûäåëèòü áîëåå âàæíûì ïðîãðàììàì íåîáõîäèìîå èì ïðîöåññîðíîå âðåìÿ, â ðåçóëüòàòå ÷åãî ìîãóò íàñòóïèòü íåïðèÿòíûåïîñëåäñòâèÿ (âñïîìíèòå ïðèìåð ñ àâòîïèëîòîì ñàìîëåòà).Òàéìåð ïðåäñòàâëÿåò ñîáîé ñðàâíèòåëüíî ïðîñòîå óñòðîéñòâî, âñÿ ôóíêöèîíàëüíîñòü êîòîðîãî ñâîäèòñÿ â ïðîñòåéøåì ñëó÷àå ê ãåíåðàöèè ïðåðûâàíèé ÷åðåç ðàâíûå ïðîìåæóòêè âðåìåíè.
Ýòè ïðåðûâàíèÿ äàþò âîçìîæíîñòüîïåðàöèîííîé ñèñòåìå ïîëó÷èòü óïðàâëåíèå, ïðîàíàëèçèðîâàòü òåêóùåå ñîñòîÿíèå èìåþùèõñÿ çàäà÷ è ïðè íåîáõîäèìîñòè ñìåíèòü àêòèâíóþ çàäà÷ó.4.5.5Êðàòêèé èòîãÈòàê, äëÿ ðåàëèçàöèè ìóëüòèçàäà÷íîé îïåðàöèîííîé ñèñòåìû àïïàðàòíîåîáåñïå÷åíèå êîìïüþòåðà îáÿçàíî ïîääåðæèâàòü:• àïïàðàò ïðåðûâàíèé;• çàùèòó ïàìÿòè;• ïðèâèëåãèðîâàííûé è îãðàíè÷åííûé ðåæèìû ðàáîòû öåíòðàëüíîãî ïðîöåññîðà;• òàéìåð.Ïåðâûå òðè ñâîéñòâà íåîáõîäèìû â ëþáîé ìóëüòèçàäà÷íîé ñèñòåìå, ïîñëåäíåå ìîæåò îòñóòñòâîâàòü â ñëó÷àå ïàêåòíîé ïëàíèðîâêè (õîòÿ â ðåàëüíî ñóùåñòâóþùèõ ñèñòåìàõ òàéìåð ïðèñóòñòâóåò âñåãäà).
Ñëåäóåò îáðàòèòü âíèìàíèå, ÷òî èç ïåðå÷èñëåííûõ ñâîéñòâ òîëüêî òàéìåð ÿâëÿåòñÿ îòäåëüíûìóñòðîéñòâîì, îñòàëüíûå òðè ïðåäñòàâëÿþò ñîáîé ôóíêöèè öåíòðàëüíîãî ïðîöåññîðà.5Àïïàðàò ïðåðûâàíèéÑîâðåìåííûé òåðìèí ïðåðûâàíèå äîâîëüíî äàëåêî óøåë â ñâîåì ðàçâèòèè îò èçíà÷àëüíîãî çíà÷åíèÿ; íà÷èíàþùèå ïðîãðàììèñòû ÷àñòî ñ óäèâëåíè20åì îáíàðóæèâàþò, ÷òî íåêîòîðûå ïðåðûâàíèÿ âîâñå íè÷åãî íå ïðåðûâàþò.Äàòü ñòðîãîå îïðåäåëåíèå ïðåðûâàíèÿ áûëî áû íåñêîëüêî çàòðóäíèòåëüíî. Âìåñòî ýòîãî ïîïûòàåìñÿ îáúÿñíèòü ñóùíîñòü ðàçëè÷íûõ âèäîâ ïðåðûâàíèé è íàéòè ìåæäó íèìè òî îáùåå, ÷òî è îïðàâäûâàåò ñóùåñòâîâàíèå ñàìîãîòåðìèíà.5.1Âíåøíèå (àïïàðàòíûå) ïðåðûâàíèÿÏðåðûâàíèÿ â èçíà÷àëüíîì ñìûñëå óæå çíàêîìû íàì ïî ïðåäûäóùåìó ïàðàãðàôó. Òå èëè èíûå óñòðîéñòâà âû÷èñëèòåëüíîé ñèñòåìû ìîãóò îñóùåñòâëÿòü ñâîè ôóíêöèè íåçàâèñèìî îò öåíòðàëüíîãî ïðîöåññîðà; â ýòîì ñëó÷àåèì ìîæåò âðåìÿ îò âðåìåíè òðåáîâàòüñÿ âíèìàíèå îïåðàöèîííîé ñèñòåìû, íîåäèíñòâåííûé öåíòðàëüíûé ïðîöåññîð (èëè, ÷òî íè÷óòü íå ëó÷øå, âñå èìåþùèåñÿ â ñèñòåìå öåíòðàëüíûå ïðîöåññîðû) ìîæåò áûòü èìåííî â òàêîé ìîìåíòçàíÿò îáðàáîòêîé ïîëüçîâàòåëüñêîé ïðîãðàììû.Àïïàðàòíûå (èëè âíåøíèå ) ïðåðûâàíèÿ áûëè ïðèçâàíû ðåøèòü ýòó ïðîáëåìó.
Äëÿ ïîääåðæêè àïïàðàòíûõ ïðåðûâàíèé ïðîöåññîð îáû÷íî èìååò ñïåöèàëüíî ïðåäíàçíà÷åííûå äëÿ ýòîãî êîíòàêòû; ýëåêòðè÷åñêèé èìïóëüñ, ïðåäñòàâëÿþùèé îáû÷íî ëîãè÷åñêóþ åäèíèöó, ïîäàííûé íà òàêîé êîíòàêò, âîñïðèíèìàåòñÿ ïðîöåññîðîì êàê ñèãíàë î òîì, ÷òî íåêîòîðîìó óñòðîéñòâó òðåáóåòñÿ âíèìàíèå îïåðàöèîííîé ñèñòåìû. ñîâðåìåííûõ àðõèòåêòóðàõ, îñíîâàííûõ íà îáùåé øèíå, äëÿ çàïðîñàïðåðûâàíèÿ èñïîëüçóåòñÿ îäíà èç äîðîæåê øèíû.Ïîñëåäîâàòåëüíîñòü ñîáûòèé ïðè âîçíèêíîâåíèè è îáðàáîòêå ïðåðûâàíèÿâûãëÿäèò ïðèáëèçèòåëüíî ñëåäóþùèì îáðàçîì6 :1. Óñòðîéñòâî, êîòîðîìó òðåáóåòñÿ âíèìàíèå ïðîöåññîðà, óñòàíàâëèâàåò íàøèíå ñèãíàë çàïðîñ ïðåðûâàíèÿ.2.
Ïðîöåññîð äîâîäèò âûïîëíåíèå òåêóùåé ïðîãðàììû äî òàêîé òî÷êè, âêîòîðîé âûïîëíåíèå ìîæíî ïðåðâàòü òàê, ÷òîáû ïîòîì âîññòàíîâèòüåãî ñ òîãî æå ìåñòà; ïîñëå ýòîãî ïðîöåññîð âûñòàâëÿåò íà øèíå ñèãíàëïîäòâåðæäåíèå ïðåðûâàíèÿ. Ïðè ýòîì äðóãèå ïðåðûâàíèÿ áëîêèðóþòñÿ.3. Ïîëó÷èâ ïîäòâåðæäåíèå ïðåðûâàíèÿ, óñòðîéñòâî ïåðåäàåò ïî øèíåíåêîòîðîå ÷èñëî, èäåíòèôèöèðóþùåå äàííîå óñòðîéñòâî; ýòî ÷èñëî íàçûâàþò íîìåðîì ïðåðûâàíèÿ.6 Çäåñüïðèâîäèòñÿ îáùàÿ ñõåìà; â äåéñòâèòåëüíîñòè âñå íàìíîãî ñëîæíåå.214.
Ïðîöåññîð ñîõðàíÿåò ãäå-òî (îáû÷íî íà ñòåêå) òåêóùèå çíà÷åíèÿ ñ÷åò÷èêà êîìàíä è ðåãèñòðà ñëîâà ñîñòîÿíèÿ ïðîöåññà; ýòî íàçûâàåòñÿ ìàëûìóïðÿòûâàíèåì. Ñ÷åò÷èê êîìàíä è ñëîâî ñîñòîÿíèÿ äîëæíû áûòü ñîõðàíåíû ïî òîé ïðè÷èíå, ÷òî âûïîëíåíèå ïåðâîé æå èíñòðóêöèè îáðàáîò÷èêà ïðåðûâàíèÿ èçìåíèò (èñïîðòèò) è òî, è äðóãîå, ñäåëàâ ïðîçðà÷íûéâîçâðàò èç ïðåðûâàíèÿ íåâîçìîæíûì; îñòàëüíûå ðåãèñòðû îáðàáîò÷èêïðåðûâàíèÿ ìîæåò ïðè íåîáõîäèìîñòè ñîõðàíèòü ñàìîñòîÿòåëüíî.5. Óñòàíàâëèâàåòñÿ ïðèâèëåãèðîâàííûé ðåæèì ðàáîòû öåíòðàëüíîãî ïðîöåññîðà, ïîñëå ÷åãî óïðàâëåíèå ïåðåäàåòñÿ íà òî÷êó âõîäà ïðîöåäóðûâ îïåðàöèîííîé ñèñòåìå, íàçûâàåìîé îáðàáîò÷èêîì ïðåðûâàíèÿ. Àäðåñîáðàáîò÷èêà ìîæåò áûòü ïðåäâàðèòåëüíî ñ÷èòàí èç ñïåöèàëüíûõ îáëàñòåé ïàìÿòè, ëèáî âû÷èñëåí èíûì ñïîñîáîì.Îáðàáîò÷èê ïðåðûâàíèÿ ìîæåò ñðàçó æå âåðíóòü óïðàâëåíèå àêòèâíîéçàäà÷å, âûïîëíèâ êîìàíäó IRET (interrupt return). Ýòî íàçûâàåòñÿ êîðîòêèìïðåðûâàíèåì. Ïðè ýòîì ïðîöåññîð âûïîëíèò âîññòàíîâëåíèå ñëîâà ñîñòîÿíèÿè ñ÷åò÷èêà çàäà÷, òî åñòü ïðåðâàííûé ïðîöåññ ïðîäîëæèòñÿ â òî÷íîñòè ñ òîãîìåñòà è ñîñòîÿíèÿ, íà êîòîðîì åãî ïðåðâàëè.
Êîðîòêèå ïðåðûâàíèÿ ñèñòåìàâûïîëíÿåò â ñëó÷àå, åñëè (ñ òî÷êè çðåíèÿ ñèñòåìû) ïðèøåäøåå ïðåðûâàíèåíèêàêèõ äåéñòâèé íå òðåáóåò; íàïðèìåð, êîðîòêèì ìîæåò áûòü ïðåðûâàíèåîò ñèñòåìíîãî òàéìåðà â ñëó÷àå, åñëè íèêòî êðîìå àêòèâíîé çàäà÷è íå ïðåòåíäóåò íà ïðîöåññîð.Åñëè îïåðàöèîííîé ñèñòåìå òðåáóåòñÿ âûïîëíåíèå êàêèõ-ëèáî äåéñòâèé âîòâåò íà ïîñòóïèâøåå ïðåðûâàíèå, äåéñòâèÿ îáðàáîò÷èêà ïðåðûâàíèÿ (íàçûâàåìûå äëèííûì ïðåðûâàíèåì ) áóäóò áîëåå ñëîæíûìè.