А.В. Столяров - Введение в операционные системы (1152218), страница 15
Текст из файла (страница 15)
Âïðî÷åì, ýòî óæå âûõîäèòçà ðàìêè íàøåãî êóðñà, ïðåäìåòîì ðàññìîòðåíèÿ êîòîðîãî ÿâëÿþòñÿ îïåðàöèîííûå ñèñòåìû.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, íî ÷òîáû ýòî ñäåëàòü, íåîáõîäèìî ñíà÷àëà îñâîáîäèòü êîíòðîëëåð.Âûøåèçëîæåííîå ïîêàçûâàåò, ÷òî ÿäðó ÷àñòî æåëàòåëüíî, à èíîãäà è ïðîñòî íåîáõîäèìî ïðè ïðîâåäåíèè îïåðàöèé ââîäà-âûâîäà ñîõðàíÿòü äàííûå âíåêèõ îáëàñòÿõ ïàìÿòè äëÿ ïðîìåæóòî÷íîãî õðàíåíèÿ.
Òàêèå îáëàñòè ïàìÿòè íàçûâàþòñÿ áóôåðàìè ââîäà-âûâîäà (èõ íå ñëåäóåò, ðàçóìååòñÿ, ïóòàòü ñáóôåðàìè êîíòðîëëåðîâ óñòðîéñòâ).11.7.2Î áóôåðèçàöèè äèñêîâîãî ââîäà-âûâîäàÑëîé ïðîãðàììíîãî îáåñïå÷åíèÿ, îòâå÷àþùåãî çà ôóíêöèîíèðîâàíèå áóôåðîâ, ðàñïîëàãàåòñÿ ìåæäó ñëîåì, îòâå÷àþùèì çà óïðàâëåíèå ôèçè÷åñêèìè óñòðîéñòâàìè, è âñåì, ÷òî íàõîäèòñÿ âûøå.Äëÿ äèñêîâûõ óñòðîéñòâ áóôåðà îðãàíèçóþòñÿ êàê íàáîð ïîðöèé äàííûõ,ñîîòâåòñòâóþùèõ òîìó, ÷òî äîëæíî íàõîäèòüñÿ â ñåêòîðàõ ôèçè÷åñêîãî äèñ67êà.  èòîãå ïðè îïåðàöèè çàïèñè, âìåñòî òîãî, ÷òîáû íåïîñðåäñòâåííî îáðàùàòüñÿ ê äðàéâåðó óñòðîéñòâà, âåðõíèé ñëîé ÿäðà ïðîñòî çàíîñèò ïåðåäàííóþåìó èíôîðìàöèþ â áóôåð. Äðàéâåð óñòðîéñòâà, èìåþùèé äîñòóï ê áóôåðàì,ñàìîñòîÿòåëüíî îïðåäåëèò î÷åðåäíîñòü, â êîòîðîé ñîäåðæèìîå áóôåðîâ áóäåò ðåàëüíî çàïèñàíî íà äèñê; íàïðèìåð, ïðè íàëè÷èè íåñêîëüêèõ áóôåðîâ,ñîîòâåòñòâóþùèõ ñìåæíûì îáëàñòÿì äèñêà, äðàéâåð ìîæåò çàïèñàòü èõ âñå,ïðåæäå ÷åì ïåðåõîäèòü ê äðóãèì áóôåðàì, âíå çàâèñèìîñòè îò òîãî, ñêîëüêîâðåìåíè íàçàä ñîîòâåòñòâóþùèå áóôåðà áûëè ñîçäàíû.Ñëåäóåò çàìåòèòü, ÷òî áóôåðèçàöèÿ ÷àñòî ïðèâîäèò è ê óìåíüøåíèþ ÷èñëà ôèçè÷åñêèõ îïåðàöèé.
Òàê, åñëè ñíà÷àëà ïðîöåññ A ïîòðåáîâàë çàïèñèíåêîòîðîãî ñåêòîðà, çàòåì ïðîöåññ B ïîòðåáîâàë ÷òåíèÿ òîãî æå ñåêòîðà,ìîäèôèöèðîâàë ïîëó÷åííûå äàííûå è òîæå ïîòðåáîâàë çàïèñè, òî ôèçè÷åñêè îïåðàöèÿ ñ äèñêîì, âîçìîæíî, ïðîèçîéäåò âñåãî îäíà. Äåéñòâèòåëüíî,èíôîðìàöèÿ îò ïðîöåññà A îêàæåòñÿ ñîõðàíåíà â áóôåðå; îïåðàöèÿ ÷òåíèÿ,çàïðîøåííàÿ ïðîöåññîì B , íè ê êàêèì ôèçè÷åñêèì äåéñòâèÿì íå ïðèâåäåò:åìó ïðîñòî âûäàäóò èíôîðìàöèþ èç áóôåðà. Íàêîíåö, çàïðîñ ïðîöåññà Bíà çàïèñü ìîäèôèöèðóåò ñîäåðæèìîå óæå ñóùåñòâóþùåãî áóôåðà, è, åñëè êýòîìó âðåìåíè îïåðàöèÿ çàïèñè âñå åùå íå áûëà îñóùåñòâëåíà, âìåñòî äâóõîïåðàöèé òåïåðü ïîòðåáóåòñÿ òîëüêî îäíà: íà çàïèñü ïîñëåäíåé âåðñèè èíôîðìàöèè.Îòìåòèì, ÷òî òàêèå ñèòóàöèè äåéñòâèòåëüíî íåðåäêè: ñèñòåìíûå îáëàñòè äèñêà, îòâå÷àþùèå çà ãëîáàëüíûå ïàðàìåòðû ôàéëîâîé ñèñòåìû, ìîãóòïîäâåðãàòüñÿ ìîäèôèêàöèè î÷åíü ÷àñòî, è ýêîíîìèÿ ìîæåò äîñòèãàòü òûñÿ÷ëîãè÷åñêèõ îïåðàöèé íà îäíó ôèçè÷åñêóþ.11.7.3Áóôåðèçàöèÿ ïîñëåäîâàòåëüíûõ ïîòîêîâ ââîäà-âûâîäàÏîñëåäîâàòåëüíûå ïîòîêè ââîäà-âûâîäà îáû÷íî èñïîëüçóþòñÿ ïðè ïåðåäà÷å äàííûõ íà ïå÷àòü, ïðè ïåðåäà÷å èíôîðìàöèè ïî ëîêàëüíîé ñåòè èëè ïîìîäåìíîìó êàíàëó è ò.ï..
Çäåñü òàêæå âîçíèêàþò îïðåäåëåííûå òðóäíîñòè,â îñíîâíîì îáóñëîâëåííûå êîíå÷íîñòüþ ñêîðîñòè îáìåíà ñ ïåðèôåðèéíûìèóñòðîéñòâàìè.Áóôåðèçàöèÿ ïîñëåäîâàòåëüíîãî âûâîäà ïîçâîëÿåò ïðîöåññàì íå æäàòüðåçóëüòàòîâ âûïîëíåíèÿ îïåðàöèè âûâîäà. ×òî êàñàåòñÿ áóôåðèçàöèè ââîäà,òî ñ åå ïîìîùüþ ìîæíî íàêàïëèâàòü èíôîðìàöèþ, ïîëó÷åííóþ îò âíåøíåãîèñòî÷íèêà (íàïðèìåð, ìîäåìà), ñ òåì, ÷òîáû âûäàòü åå ÷èòàþùåìó ïðîöåññó â îäèí ïðèåì (çà îäèí ñèñòåìíûé âûçîâ). Ïîñêîëüêó ñèñòåìíûé âûçîâ,êàê ìû âèäåëè ðàíåå, ïðåäñòàâëÿåò ñîáîé îïåðàöèþ äîðîãîñòîÿùóþ â ïëàíåèñïîëüçîâàíèÿ ïðîöåññîðíîãî âðåìåíè, à èíôîðìàöèÿ îò âíåøíåãî óñòðîéñòâà ìîæåò ïðèõîäèòü íåáîëüøèìè ïîðöèÿìè è äàæå îòäåëüíûìè ñèìâîëàìè68(áàéòàìè), áóôåðèçàöèÿ çäåñü òàêæå ïðèâîäèò ê ýêîíîìèè ðåñóðñîâ ñèñòåìû.Êðîìå òîãî, â íåêîòîðûõ ñëó÷àÿõ áóôåðèçàöèÿ ïîñëåäîâàòåëüíîãî ââîäà îêàçûâàåòñÿ íåîáõîäèìà ïî òåì æå ïðè÷èíàì, ÷òî è áóôåðèçàöèÿ ââîäàäèñêîâîãî: íåîáõîäèìîñòü î÷èñòêè êîíòðîëëåðà ìîæåò âîçíèêíóòü â òîò ìîìåíò, êîãäà ïðîöåññ, äëÿ êîòîðîãî ïðåäíàçíà÷åíû ïîëó÷åííûå äàííûå, ëèáîíàõîäèòñÿ â îòêà÷àííîì ñîñòîÿíèè, ëèáî çàíÿò äðóãèìè äåéñòâèÿìè è íå âûïîëíÿåò âûçîâ ÷òåíèÿ.11.7.4Îãðàíè÷åíèÿ íà îáúåì áóôåðîâÏîñêîëüêó áóôåð ìîæåò ïîíàäîáèòüñÿ â ñàìûé íåïîäõîäÿùèé ìîìåíò èâðåìåíè íà åãî ïîäêà÷êó íå áóäåò, áóôåðà ââîäà-âûâîäà âñåãäà ðàçìåùàþòñÿâ ïàìÿòè ÿäðà, êîòîðàÿ íå ïîäëåæèò îòêà÷êå è ïîäêà÷êå.
Êàæäûé äîïîëíèòåëüíûé áóôåð óìåíüøàåò êîëè÷åñòâî äîñòóïíîé ôèçè÷åñêîé ïàìÿòè. ßñíî,÷òî îáùèé îáúåì áóôåðîâ â ñèñòåìå îêàçûâàåòñÿ îãðàíè÷åí.Ïî äîñòèæåíèè ïðåäåëüíîãî ñîâîêóïíîãî îáúåìà äèñêîâûõ áóôåðîâ íåêîòîðûå èç íèõ ìîãóò áûòü ëèêâèäèðîâàíû, ÷òîáû îñâîáîäèòü ïàìÿòü ïîä íîâûåáóôåðà. Ëèêâèäèðîâàòü, îäíàêî, ìîæíî íå âñÿêèé áóôåð: òàê, åñëè â áóôåðåñîäåðæàòñÿ äàííûå, ïîäëåæàùèå çàïèñè íà äèñê, íî åùå íà äèñê íå çàïèñàííûå, óíè÷òîæàòü òàêîé áóôåð íåëüçÿ.Åñëè ïðåäåëüíûé îáúåì äîñòèãíóò, à áóôåðîâ, äîïóñêàþùèõ ëèêâèäàöèþ,íåò, î÷åðåäíàÿ îïåðàöèÿ äèñêîâîãî âûâîäà âñå æå áóäåò çàáëîêèðîâàíà äî òåõïîð, ïîêà äðàéâåð íå çàïèøåò íà äèñê èíôîðìàöèþ èç íåêîòîðûõ ñóùåñòâóþùèõ áóôåðîâ è íå îñâîáîäèò áóôåðíóþ ïàìÿòü.Àíàëîãè÷íûì îáðàçîì ïðîèñõîäèò è ðàáîòà ñ áóôåðàìè ïîñëåäîâàòåëüíîãî âûâîäà.