А.В. Столяров - Введение в операционные системы (1114673), страница 14
Текст из файла (страница 14)
Áîëåå òîãî, â íåêîòîðûõ àðõèòåêòóðàõ, êàê ìû óâèäèì ïîçæå,ïîðòû ââîäà-âûâîäà ðàñïîëàãàþòñÿ â òîì æå àäðåñíîì ïðîñòðàíñòâå, ÷òî èîáû÷íàÿ îïåðàòèâíàÿ ïàìÿòü, è ÷èòàþòñÿ/çàïèñûâàþòñÿ òåìè æå êîìàíäàìèïðîöåññîðà. Òåì íå ìåíåå, ïîðò ââîäà-âûâîäà ÿ÷åéêîé ïàìÿòè íå ÿâëÿåòñÿ,ïîñêîëüêó â áîëüøèíñòâå ñëó÷àåâ íè÷åãî íå õðàíèò, à çíà÷åíèÿ, ÷èòàåìûåèç ïîðòà, îáû÷íî îòëè÷àþòñÿ îò çíà÷åíèé, òóäà çàíîñèìûõ (íå ãîâîðÿ óæå îòîì, ÷òî ìíîãèå ïîðòû äîñòóïíû òîëüêî íà ÷òåíèå èëè, íàîáîðîò, òîëüêî íàçàïèñü). Çíà÷åíèå, çàïèñûâàåìîå â ïîðò, ìîæåò ïðåäñòàâëÿòü ñîáîé êîä êîìàíäû, íàïðèìåð, íà âêëþ÷åíèå ìîòîðà æåñòêîãî äèñêà, à çíà÷åíèå, èç òîãîæå ïîðòà ÷èòàåìîå, − êîä, ïî êîòîðîìó ìîæíî îïðåäåëèòü òåêóùåå ñîñòîÿíèåóñòðîéñòâà.Êðîìå ïîðòîâ, íåêîòîðûå êîíòðîëëåðû èìåþò åùå è áóôåðà ââîäà-âûâîäà.Òàêèå áóôåðà ïðåäñòàâëÿþò ñîáîé îïåðàòèâíóþ ïàìÿòü, êîíñòðóêòèâíî ÿâëÿþùóþñÿ ÷àñòüþ êîíòðîëëåðà è ïðåäíàçíà÷åííóþ äëÿ îáìåíà ìàññèâàìèèíôîðìàöèè ìåæäó êîíòðîëëåðîì è öåíòðàëüíûì ïðîöåññîðîì.
Íàïðèìåð,äàííûå, ïðåäíàçíà÷åííûå äëÿ çàïèñè íà äèñê, íåîáõîäèìî ñêîïèðîâàòü â áóôåð êîíòðîëëåðà ýòîãî äèñêà, à çàòåì äàòü ÷åðåç ïîðòû ñîîòâåòñòâóþùóþêîìàíäó íà çàïèñü; íàîáîðîò, ïðè ÷òåíèè èíôîðìàöèè ñ äèñêà îíà ïîìåùàåòñÿ â áóôåð êîíòðîëëåðà, îòêóäà åå ìîæíî ïîòîì ñêîïèðîâàòü â îñíîâíóþïàìÿòü.Äðóãèì ïðèìåðîì áóôåðà ââîäà-âûâîäà ìîæíî ñ÷èòàòü âèäåîïàìÿòü, òîåñòü ïàìÿòü, â êîòîðîé õðàíèòñÿ èçîáðàæåíèå, âèäèìîå íà ýêðàíå äèñïëåÿ.11.6.3Ïîäõîäû ê àäðåñàöèè ïîðòîâÍà íåêîòîðûõ ïðîöåññîðàõ ïîðòû ââîäà-âûâîäà èìåþò îòäåëüíîå àäðåñíîåïðîñòðàíñòâî (êàê ïðàâèëî, ìåíüøåé ðàçðÿäíîñòè, ÷åì ïðîñòðàíñòâî àäðåñîâîïåðàòèâíîé ïàìÿòè).
 ýòîì ñëó÷àå äëÿ ðàáîòû ñ ïîðòàìè èñïîëüçóþòñÿîòäåëüíûå èíñòðóêöèè ïðîöåññîðà (íàïðèìåð, IN è OUT âìåñòî MOV).Àëüòåðíàòèâíîå ðåøåíèå − ðàçìåñòèòü êîíòðîëëåðû óñòðîéñòâ â òîì æåàäðåñíîì ïðîñòðàíñòâå, ÷òî è îïåðàòèâíóþ ïàìÿòü.  ýòîì ñëó÷àå ïðîöåññîðóíå íóæíû îòäåëüíûå èíñòðóêöèè äëÿ ðàáîòû ñ ïîðòàìè, âñå äåëàåòñÿ îáû÷íîéêîìàíäîé MOV. Òàêàÿ ñõåìà áûëà, íàïðèìåð, ðåàëèçîâàíà íà PDP-11.63Îäíî èç äîñòîèíñòâ òàêîé ñõåìû − âîçìîæíîñòü ñîïîñòàâèòü íåêîòîðûåîáëàñòè ïîðòîâ ââîäà-âûâîäà âèðòóàëüíûì àäðåñàì íåêîòîðûõ ïðîöåññîâ,ïðåäîñòàâèâ, òàêèì îáðàçîì, îòäåëüíûì ïðîöåññàì âîçìîæíîñòü âçàèìîäåéñòâèÿ ñ îïðåäåëåííûìè óñòðîéñòâàìè íàïðÿìóþ, áåç ïîñðåäñòâà îïåðàöèîííîé ñèñòåìû.
 ðåçóëüòàòå, íàïðèìåð, ìîæíî âûíåñòè íåêîòîðûå äðàéâåðûóñòðîéñòâ èç ÿäðà â ïîëüçîâàòåëüñêèå ïðîöåññû.Îòñóòñòâèå ñïåöèàëüíûõ èíñòðóêöèé äëÿ âçàèìîäåéñòâèÿ ñ ïîðòàìè äåëàåò âîçìîæíûì íàïèñàíèå äðàéâåðîâ íà ÿçûêàõ âûñîêîãî óðîâíÿ (òàêèõ êàêC++) áåç ïðèìåíåíèÿ âñòàâîê íà ÿçûêå àññåìáëåðà.Ê íåäîñòàòêàì åäèíîãî àäðåñíîãî ïðîñòðàíñòâà ìîæíî îòíåñòè, íàïðèìåð, òîò ôàêò, ÷òî íà ïîðòû ðàñõîäóåòñÿ îñíîâíîå àäðåñíîå ïðîñòðàíñòâî,êîòîðîãî ìîæåò áûòü íå òàê ìíîãî. Íà PDP-11 ýòà ïðîáëåìà áûëà äîñòàòî÷íî àêòóàëüíîé, ò.ê. àäðåñà íà ýòîé ìàøèíå áûëè 16-áèòîâûå.
Êðîìå òîãî, íàñîâðåìåííûõ ïðîöåññîðàõ ïðèìåíÿåòñÿ êåø-ïàìÿòü, òàê ÷òî ó÷àñòêè àäðåñíîãî ïðîñòðàíñòâà, ñîîòâåòñòâóþùèå áóôåðàì è ïîðòàì, èç ïðîöåññà êåøèðîâàíèÿ ïðèõîäèòñÿ èñêóññòâåííî èñêëþ÷àòü. Íàêîíåö, îïåðàòèâíàÿ ïàìÿòüè êîíòðîëëåðû óñòðîéñòâ ïðåäñòàâëÿþò ñîáîé ñóùíîñòè âåñüìà ðàçëè÷íûå,è ïîìåñòèòü èõ íà îäíó îáùóþ øèíó ìîæåò îêàçàòüñÿ çàòðóäíèòåëüíî, à ïîñòðîåíèå äâóõ ðàçíûõ øèí ïðè èñïîëüçîâàíèè îäíîãî îáùåãî ïðîñòðàíñòâààäðåñîâ ïðèâîäèò ê íåîáõîäèìîñòè íà òîì èëè èíîì óðîâíå ïðèíèìàòü ðåøåíèå, ïî êàêîé øèíå ñëåäóåò ðàáîòàòü ñ êîíêðåòíûì àäðåñîì.Åùå îäèí âîçìîæíûé ïîäõîä, ïðèìåíÿåìûé â àðõèòåêòóðå i386, ÿâëÿåòñÿêîìáèíèðîâàííûì. Ïîðòû ââîäà-âûâîäà â ýòîì ñëó÷àå ðàçìåùàþòñÿ â îòäåëüíîì àäðåñíîì ïðîñòðàíñòâå, à áóôåðà − â îáùåì.11.6.4Êîíòðîëëåð êàê ñðåäñòâî àáñòðàãèðîâàíèÿÑîâðåìåííûå êîíòðîëëåðû óñòðîéñòâ ñàìè ïðåäñòàâëÿþò ñîáîé äîñòàòî÷íî ñëîæíûå óñòðîéñòâà, ïîçâîëÿþùèå â ðÿäå ñëó÷àåâ àáñòðàãèðîâàòüñÿ îòíåêîòîðûõ îñîáåííîñòåé àïïàðàòóðû, ÷òî ñíèìàåò ÷àñòü íàãðóçêè ñ äðàéâåðîâ óñòðîéñòâ.Òàê, áîëüøèíñòâî ñîâðåìåííûõ æåñòêèõ äèñêîâ íà ñàìîì äåëå èìååò ãåîìåòðèþ (ðàñïîëîæåíèå ñåêòîðîâ), îòëè÷àþùóþñÿ îò âèäèìîé äëÿ îïåðàöèîííîé ñèñòåìû.
Íàïðèìåð, íà äîðîæêàõ, ðàñïîëîæåííûõ áëèæå ê öåíòðó äèñêà,äëÿ ñîõðàíåíèÿ áîëåå-ìåíåå ïîñòîÿííîé ïëîòíîñòè çàïèñè äàííûõ ðàçìåùàþò ìåíüøå ñåêòîðîâ, ÷åì íà âíåøíèõ äîðîæêàõ (ðèñ. 17); âìåñòå ñ òåì, ñòî÷êè çðåíèÿ âñåé îñòàëüíîé ñèñòåìû ãåîìåòðèÿ äèñêà ñîñòîèò èç Nh ñòîðîí,Nc äîðîæåê íà êàæäîé ñòîðîíå (öèëèíäðîâ), Ns ñåêòîðîâ íà êàæäîé äîðîæêå, ïðè÷åì âñå òðè ïàðàìåòðà ïîñòîÿííû è íå çàâèñÿò îò çíà÷åíèÿ äðóãèõ.6448333432161529443647188762891419126110000115 4364620321113745271343221226232524132310238253535304517314637484738241412 11134222151039214 16338576201719183229443130110000114227392840413941404342Ðèñ. 17: Ôèçè÷åñêàÿ è âèðòóàëüíàÿ ãåîìåòðèÿ äèñêàÔóíêöèþ îòîáðàæåíèÿ âèðòóàëüíîé ãåîìåòðèè íà ôèçè÷åñêóþ áåðåò íà ñåáÿêîíòðîëëåð äèñêà.Òàêèì îáðàçîì, âíóòðè ñëîÿ, îáîçíà÷åííîãî íàìè êàê àïïàðàòóðà, òàêæå èìåþòñÿ ðàçëè÷íûå óðîâíè àáñòðàãèðîâàíèÿ.
Âïðî÷åì, ýòî óæå âûõîäèòçà ðàìêè íàøåãî êóðñà, ïðåäìåòîì ðàññìîòðåíèÿ êîòîðîãî ÿâëÿþòñÿ îïåðàöèîííûå ñèñòåìû.11.6.5Äâà ñïîñîáà îæèäàíèÿÄîïóñòèì, äðàéâåð óñòðîéñòâà âûäàë ïîñëåäîâàòåëüíîñòü êîìàíä çàïèñè â ïîðòû, íåîáõîäèìóþ, ÷òîáû íà÷àòü íåêîòîðóþ îïåðàöèþ ââîäà-âûâîäà.Ïîñêîëüêó ñêîðîñòü ðàáîòû ëþáîãî âíåøíåãî óñòðîéñòâà êîíå÷íà è â áîëüøèíñòâå ñëó÷àåâ ñðàâíèòåëüíî íåâûñîêà, äî çàâåðøåíèÿ îïåðàöèè (òî åñòüäî ìîìåíòà, êîãäà ìîæíî áóäåò âîñïîëüçîâàòüñÿ ðåçóëüòàòîì) äîëæíî ïðîéòè íåêîòîðîå âðåìÿ.Êàê óæå îòìå÷àëîñü â 4.5, âîçìîæíî äâà ïîäõîäà ê îðãàíèçàöèè îæèäàíèÿ ìîìåíòà çàâåðøåíèÿ îïåðàöèè.
Äðàéâåð ìîæåò öèêëè÷åñêè îïðàøèâàòüñîîòâåòñòâóþùèé ïîðò ââîäà â îæèäàíèè ïîÿâëåíèÿ òàì çíà÷åíèÿ, ñâèäåòåëüñòâóþùåãî îá îêîí÷àíèè îïåðàöèè (è ãîòîâíîñòè óñòðîéñòâà ê äàëüíåéøåéðàáîòå) − òàêîé âàðèàíò íàçûâàåòñÿ àêòèâíûì îæèäàíèåì è ïðèâîäèò êíåïðîèçâîäèòåëüíîìó ðàñõîäó ïðîöåññîðíîãî âðåìåíè. ñâÿçè ñ ýòèì îáû÷íî ïðèìåíÿåòñÿ äðóãîé ïîäõîä.
Äðàéâåð óñòðîéñòâàâûïîëíÿåò çàïèñü â ïîðòû, èíèöèèðóÿ îïåðàöèþ ââîäà-âûâîäà, ïîñëå ÷åãîïðåêðàùàåò ðàáîòó, îòäàâàÿ óïðàâëåíèå äðóãèì ïîäñèñòåìàì ÿäðà, êîòîðûå,â ñâîþ î÷åðåäü, ïî íåîáõîäèìîñòè ïåðåâîäÿò ïðîöåññ, çàòðåáîâàâøèé (ïðÿìîèëè êîñâåííî) äàííóþ îïåðàöèþ, â ðåæèì áëîêèðîâêè, à çàòåì ìîãóò ïîñòà65âèòü íà âûïîëíåíèå êàêîé-ëèáî äðóãîé ïðîöåññ, åñëè ãîòîâûå ê âûïîëíåíèþïðîöåññû â ñèñòåìå åñòü.Îêîí÷àíèå îïåðàöèè ôèêñèðóåòñÿ ñîîòâåòñòâóþùèì ïðåðûâàíèåì, â ðåçóëüòàòå êîòîðîãî äðàéâåð óñòðîéñòâà ñíîâà ïîëó÷àåò óïðàâëåíèå (íà ñåéðàç − îò îáðàáîò÷èêà ïðåðûâàíèÿ) è âûïîëíÿåò äåéñòâèÿ, íåîáõîäèìûå äëÿçàâåðøåíèÿ îïåðàöèè è ïîëó÷åíèÿ åå ðåçóëüòàòîâ.
Î ðåçóëüòàòàõ äðàéâåð ñîîáùàåò âûøåñòîÿùåé ïîäñèñòåìå. Ïðè ýòîì âîçìîæíî, ÷òî ïðîöåññ, îæèäàâøèé ðåçóëüòàòà îïåðàöèè, áóäåò ïåðåâåäåí èç ðåæèìà áëîêèðîâêè â ðåæèìãîòîâíîñòè.11.711.7.1Áóôåðèçàöèÿ ââîäà-âûâîäàÏîíÿòèå áóôåðèçàöèè è ïðè÷èíû åå íåîáõîäèìîñòèÊàê ìîæíî çàìåòèòü, ïðè îñóùåñòâëåíèè îïåðàöèè âûâîäà ìîæåò ïîëó÷èòüñÿ òàê, ÷òî ñîîòâåòñòâóþùóþ ïðîöåäóðó íà ôèçè÷åñêîì óðîâíå íà÷àòü âäàííûé ìîìåíò íåâîçìîæíî. Ïðîèëëþñòðèðóåì ýòî íà ñëåäóþùåì ïðèìåðå.Äîïóñòèì, ïðîöåññ A èíèöèèðîâàë çàïèñü â äèñêîâûé ôàéë; â ðåçóëüòàòå öåïî÷êè âûçîâîâ çàïðîñ íà ýòó îïåðàöèþ òðàíñôîðìèðîâàëñÿ â çàïðîñ íà çàïèñüîïðåäåëåííîãî ñåêòîðà äèñêà è áûë ïåðåäàí êîíòðîëëåðó â âèäå èíñòðóêöèèíà ïîçèöèîíèðîâàíèå ãîëîâêè, îæèäàíèå íóæíîé ôàçû ïîâîðîòà äèñêà è çàïèñü ñåêòîðà.
Êàê óæå îòìå÷àëîñü, ýòè ôèçè÷åñêèå îïåðàöèè òðåáóþò âðåìåíè, òàê ÷òî ïðîöåññ A ïåðåâîäèòñÿ â ðåæèì áëîêèðîâêè, à íà âûïîëíåíèåçàïóñêàåòñÿ ïðîöåññ B . Äîïóñòèì òåïåðü, ÷òî ïðîöåññ B òàêæå ïîòðåáîâàëçàïèñè â ôàéë, ïðè÷åì ýòîò ôàéë íàõîäèòñÿ íà òîì æå ôèçè÷åñêîì äèñêå.Îïåðàöèîííàÿ ñèñòåìà ìîæåò òðàíñôîðìèðîâàòü è åãî çàïðîñ â íàáîð ôèçè÷åñêèõ îïåðàöèé, îäíàêî â òàêîé ñèòóàöèè ïåðåäàòü èõ êîíòðîëëåðó äèñêàíå ïðåäñòàâëÿåòñÿ âîçìîæíûì, âåäü êîíòðîëëåð âñå åùå çàíÿò âûïîëíåíèåìçàêàçà ïðîöåññà A.Ëîãè÷íî áûëî áû áëîêèðîâàòü ïðîöåññ B äî îñâîáîæäåíèÿ êîíòðîëëåðà,à çàòåì óæå ïðèñòóïèòü ê âûïîëíåíèþ åãî îïåðàöèè.
Äîïóñòèì òåïåðü ñëåäóþùóþ ñèòóàöèþ. Êîíòðîëëåð ïî çàäàíèþ ïðîöåññà A çàíÿò âûïîëíåíèåìîïåðàöèè â îáëàñòè ïîñëåäíèõ öèëèíäðîâ äèñêà.  ýòî âðåìÿ îïåðàöèîííîéñèñòåìå ïðèøëîñü ñíà÷àëà áëîêèðîâàòü ïðîöåññ B , òðåáóþùèé îïåðàöèè âîáëàñòè ïåðâûõ öèëèíäðîâ, à çàòåì − ïðîöåññ C , òðåáóþùèé ñíîâà îïåðàöèèñ ïîñëåäíèìè öèëèíäðàìè. Åñëè ðàññìàòðèâàòü ñîîòâåòñòâóþùèå çàïðîñû âïîðÿäêå ïîñòóïëåíèÿ, êîíòðîëëåðó ïðèäåòñÿ ñíà÷àëà ïåðåâåñòè ãîëîâêó èçêîíå÷íîé â íà÷àëüíóþ ïîçèöèþ, à çàòåì ñíîâà â êîíå÷íóþ. Åñëè ïðîöåññû A,B è C áóäóò ïðîäîëæàòü àêòèâíî èñïîëüçîâàòü äèñê, òàêèå ïåðåâîäû ãîëîâêèòóäà è îáðàòíî ìîãóò âåñüìà íåãàòèâíî ñêàçàòüñÿ íà îáùåì áûñòðîäåéñòâèè.66Ïîïûòêè îïòèìèçàöèè (ñíà÷àëà ðàçáóäèòü ïðîöåññ C , çàòåì óæå B ) ïîòðåáóþò îò ñèñòåìíîãî ïëàíèðîâùèêà çíàíèé î òîì, êàê ñëåäóåò îïòèìèçèðîâàòü ïîñëåäîâàòåëüíîñòè çàïðîñîâ ê äàííîìó êîíêðåòíîìó óñòðîéñòâó.Äàâàòü ïëàíèðîâùèêó òàêèå çíàíèÿ íåæåëàòåëüíî, âåäü îíè ñïåöèôè÷íû äëÿðàçíûõ òèïîâ óñòðîéñòâ, à òàêóþ ñïåöèôè÷íóþ èíôîðìàöèþ íå õîòåëîñü áûâûïóñêàòü çà ïðåäåëû äðàéâåðîâ óñòðîéñòâ.Êðîìå òîãî, ïðîöåññó â åãî äàëüíåéøåé ðàáîòå, âîçìîæíî, è íå òðåáóåòñÿäîæèäàòüñÿ ðåçóëüòàòîâ îïåðàöèè âûâîäà, â ïðîòèâîïîëîæíîñòü îïåðàöèèââîäà, ðåçóëüòàò êîòîðîé, ñêîðåå âñåãî, íåîáõîäèì â âû÷èñëåíèÿõ.
Ïîýòîìóáëîêèðîâàíèå ïðîöåññà â îæèäàíèè äîñòóïíîñòè êîíòðîëëåðà äëÿ îïåðàöèèìîæåò îêàçàòüñÿ íåæåëàòåëüíûì.Ðàññìîòðèì òåïåðü îïåðàöèþ ââîäà äàííûõ. Ïóñòü ïðîöåññ A çàïðîñèë÷òåíèå äàííûõ èç ôàéëà è áûë áëîêèðîâàí â îæèäàíèè ïîñòóïëåíèÿ ýòèõäàííûõ. ×åðåç íåêîòîðîå âðåìÿ îáðàáîò÷èê ïðåðûâàíèÿ ñîîáùèë äðàéâåðóóñòðîéñòâà î ãîòîâíîñòè çàïðîøåííûõ äàííûõ. Òåïåðü äðàéâåðó íåîáõîäèìîñêîïèðîâàòü äàííûå èç áóôåðà êîíòðîëëåðà êóäà-òî â ïàìÿòü. Ëîãè÷íî áûëî áû êîïèðîâàòü íåïîñðåäñòâåííî â ïðîñòðàíñòâî ïðîöåññà A, îäíàêî çäåñüìîæíî ñòîëêíóòüñÿ åùå ñ îäíîé ïðîáëåìîé: ñîîòâåòñòâóþùàÿ îáëàñòü ïàìÿòè ìîæåò îêàçàòüñÿ îòêà÷àíà íà äèñê. Òàêèì îáðàçîì, äëÿ ðàçãðóçêè áóôåðà êîíòðîëëåðà îò ïîñòóïèâøèõ äàííûõ äðàéâåðó ïðèäåòñÿ ñíà÷àëà èíèöèèðîâàòü çàãðóçêó â ïàìÿòü íóæíûõ ñòðàíèö èç îáëàñòè ïðîöåññà A.
×òîáûïîíÿòü íåäîïóñòèìîñòü òàêîãî âàðèàíòà, äîñòàòî÷íî ïðåäñòàâèòü ñåáå, ÷òîîáëàñòü ïîäêà÷êè ðàñïîëàãàåòñÿ íà òîì æå ôèçè÷åñêîì äèñêå, ÷òî è ïðî÷èòàííûå äàííûå.  ýòîé ñèòóàöèè äðàéâåð çàãîíèò ñèñòåìó â ïîðî÷íûé êðóã:÷òîáû îñâîáîäèòü êîíòðîëëåð, íåîáõîäèìî ñíà÷àëà ïîäêà÷àòü â ïàìÿòü ñòðàíèöû ïðîöåññà A, íî ÷òîáû ýòî ñäåëàòü, íåîáõîäèìî ñíà÷àëà îñâîáîäèòü êîíòðîëëåð.Âûøåèçëîæåííîå ïîêàçûâàåò, ÷òî ÿäðó ÷àñòî æåëàòåëüíî, à èíîãäà è ïðîñòî íåîáõîäèìî ïðè ïðîâåäåíèè îïåðàöèé ââîäà-âûâîäà ñîõðàíÿòü äàííûå âíåêèõ îáëàñòÿõ ïàìÿòè äëÿ ïðîìåæóòî÷íîãî õðàíåíèÿ.