6.3 ÊÎÍÒÅÊÑÒ ÏÐÎÖÅÑÑÀ

Êîíòåêñò ïðîöåññà âêëþ÷àåò â ñåáÿ ñîäåðæèìîå àäðåñíîãî ïðîñòðàíñòâà çàäà÷è, âûäåëåííîãî ïðîöåññó, à òàêæå ñîäåðæèìîå îòíîñÿùèõñÿ ê ïðîöåññó àïïàðàòíûõ ðåãèñòðîâ è ñòðóêòóð äàííûõ ÿäðà. Ñ ôîðìàëüíîé òî÷êè çðåíèÿ, êîíòåêñò ïðîöåññà îáúåäèíÿåò â ñåáå ïîëüçîâàòåëüñêèé êîíòåêñò, ðåãèñòðîâûé êîíòåêñò è ñèñòåìíûé êîíòåêñò (*). Ïîëüçîâàòåëüñêèé êîíòåêñò ñîñòîèò èç êîìàíä è äàííûõ ïðîöåññà, ñòåêà çàäà÷è è ñîäåðæèìîãî ñîâìåñòíî èñïîëüçóåìîãî ïðîñòðàíñòâà ïàìÿòè â âèðòóàëüíûõ àäðåñàõ ïðîöåññà. Òå ÷àñòè âèðòóàëüíîãî àäðåñíîãî ïðîñòðàíñòâà ïðîöåññà, êîòîðûå ïåðèîäè÷åñêè îòñóòñòâóþò â îïåðàòèâíîé ïàìÿòè âñëåäñòâèå âûãðóçêè èëè çàìåùåíèÿ ñòðàíèö, òàêæå âêëþ÷àþòñÿ â ïîëüçîâàòåëüñêèé êîíòåêñò.

Ðåãèñòðîâûé êîíòåêñò ñîñòîèò èç ñëåäóþùèõ êîìïîíåíò:

Ñèñòåìíûé êîíòåêñò ïðîöåññà èìååò "ñòàòè÷åñêóþ ÷àñòü" (ïåðâûå òðè ýëåìåíòà â íèæåñëåäóþùåì ñïèñêå) è "äèíàìè÷åñêóþ ÷àñòü" (ïîñëåäíèå äâà ýëåìåíòà). Íà ïðîòÿæåíèè âñåãî âðåìåíè âûïîëíåíèÿ ïðîöåññ ïîñòîÿííî ðàñïîëàãàåò îäíîé ñòàòè÷åñêîé ÷àñòüþ ñèñòåìíîãî êîíòåêñòà, íî ìîæåò èìåòü ïåðåìåííîå ÷èñëî äèíàìè÷åñêèõ ÷àñòåé. Äèíàìè÷åñêóþ ÷àñòü ñèñòåìíîãî êîíòåêñòà ìîæíî ïðåäñòàâèòü â âèäå ñòåêà, ýëåìåíòàìè êîòîðîãî ÿâëÿþòñÿ êîíòåêñòíûå óðîâíè, êîòîðûå ïîìåùàþòñÿ â ñòåê ÿäðîì èëè âûòàëêèâàþòñÿ èç ñòåêà ïðè íàñòóïëåíèè ðàçëè÷íûõ ñîáûòèé. Ñèñòåìíûé êîíòåêñò âêëþ÷àåò â ñåáÿ ñëåäóþùèå êîìïîíåíòû:

(*) Èñïîëüçóåìûå â äàííîì ðàçäåëå òåðìèíû "ïîëüçîâàòåëüñêèé êîíòåêñò" (user-level context), "ðåãèñòðîâûé êîíòåêñò" (register context), "ñèñòåìíûé êîíòåêñò" (system-level context) è "êîíòåêñòíûå óðîâíè" (context layers) ââåäåíû àâòîðîì.

ßäðî ïîìåùàåò êîíòåêñòíûé óðîâåíü â ñòåê ïðè âîçíèêíîâåíèè ïðåðûâàíèÿ, ïðè îáðàùåíèè ê ñèñòåìíîé ôóíêöèè èëè ïðè ïåðåêëþ÷åíèè êîíòåêñòà ïðîöåññà. Êîíòåêñòíûé óðîâåíü âûòàëêèâàåòñÿ èç ñòåêà ïîñëå çàâåðøåíèÿ îáðàáîòêè ïðåðûâàíèÿ, ïðè âîçâðàòå ïðîöåññà â ðåæèì çàäà÷è ïîñëå âûïîëíåíèÿ ñèñòåìíîé ôóíêöèè, èëè ïðè ïåðåêëþ÷åíèè êîíòåêñòà. Òàêèì îáðàçîì, ïåðåêëþ÷åíèå êîíòåêñòà âëå÷åò çà ñîáîé êàê ïîìåùåíèå êîíòåêñòíîãî óðîâíÿ â ñòåê, òàê è èçâëå÷åíèå óðîâíÿ èç ñòåêà: ÿäðî ïîìåùàåò â ñòåê êîíòåêñòíûé óðîâåíü ñòàðîãî ïðîöåññà, à èçâëåêàåò èç ñòåêà êîíòåêñòíûé óðîâåíü íîâîãî ïðîöåññà. Èíôîðìàöèÿ, íåîáõîäèìàÿ äëÿ âîññòàíîâëåíèÿ òåêóùåãî êîíòåêñòíîãî óðîâíÿ, õðàíèòñÿ â çàïèñè òàáëèöû ïðîöåññîâ.

Íà Ðèñóíêå 6.8 èçîáðàæåíû êîìïîíåíòû êîíòåêñòà ïðîöåññà. Ñëåâà íà ðèñóíêå èçîáðàæåíà ñòàòè÷åñêàÿ ÷àñòü êîíòåêñòà.  íåå âõîäÿò: ïîëüçîâàòåëüñêèé êîíòåêñò, ñîñòîÿùèé èç ïðîãðàìì ïðîöåññà (ìàøèííûõ èíñòðóêöèé), äàííûõ, ñòåêà è ðàçäåëÿåìîé ïàìÿòè (åñëè îíà èìååòñÿ), à òàêæå ñòàòè÷åñêàÿ ÷àñòü ñèñòåìíîãî êîíòåêñòà, ñîñòîÿùàÿ èç çàïèñè òàáëèöû ïðîöåññîâ, ïðîñòðàíñòâà ïðîöåññà è çàïèñåé ÷àñòíîé òàáëèöû îáëàñòåé (èíôîðìàöèè, íåîáõîäèìîé äëÿ òðàíñëÿöèè âèðòóàëüíûõ àäðåñîâ ïîëüçîâàòåëüñêîãî êîíòåêñòà). Ñïðàâà íà ðèñóíêå èçîáðàæåíà äèíàìè÷åñêàÿ ÷àñòü êîíòåêñòà. Îíà èìååò âèä ñòåêà è âêëþ÷àåò â ñåáÿ íåñêîëüêî ýëåìåíòîâ, õðàíÿùèõ ðåãèñòðîâûé êîíòåêñò ïðåäûäóùåãî óðîâíÿ è ñòåê ÿäðà äëÿ òåêóùåãî óðîâíÿ. Íóëåâîé êîíòåêñòíûé óðîâåíü ïðåäñòàâëÿåò ñîáîé ïóñòîé óðîâåíü, îòíîñÿùèéñÿ ê ïîëüçîâàòåëüñêîìó êîíòåêñòó; óâåëè÷åíèå ñòåêà çäåñü èäåò â àäðåñíîì ïðîñòðàíñòâå çàäà÷è, ñòåê ÿäðà íåäåéñòâèòåëåí. Ñòðåëêà, ñîåäèíÿþùàÿ ìåæäó ñîáîé ñòàòè÷åñêóþ ÷àñòü ñèñòåìíîãî êîíòåêñòà è âåðõíèé óðîâåíü äèíàìè÷åñêîé ÷àñòè êîíòåêñòà, îçíà÷àåò òî, ÷òî â òàáëèöå ïðîöåññîâ õðàíèòñÿ èíôîðìàöèÿ, ïîçâîëÿþùàÿ ÿäðó âîññòàíàâëèâàòü òåêóùèé êîíòåêñòíûé óðîâåíü ïðîöåññà.


Ðèñóíîê 6.8. Êîìïîíåíòû êîíòåêñòà ïðîöåññà

Ïðîöåññ âûïîëíÿåòñÿ â ðàìêàõ ñâîåãî êîíòåêñòà èëè, åñëè ãîâîðèòü áîëåå òî÷íî, â ðàìêàõ ñâîåãî òåêóùåãî êîíòåêñòíîãî óðîâíÿ. Êîëè÷åñòâî êîíòåêñòíûõ óðîâíåé îãðàíè÷èâàåòñÿ ÷èñëîì ïîääåðæèâàåìûõ â ìàøèíå óðîâíåé ïðåðûâàíèÿ. Íàïðèìåð, åñëè â ìàøèíå ïîääåðæèâàþòñÿ ðàçíûå óðîâíè ïðåðûâàíèé äëÿ ïðîãðàìì, òåðìèíàëîâ, äèñêîâ, âñåõ îñòàëüíûõ ïåðèôåðèéíûõ óñòðîéñòâ è òàéìåðà, òî åñòü 5 óðîâíåé ïðåðûâàíèÿ, òî, ñëåäîâàòåëüíî, ó ïðîöåññà ìîæåò áûòü íå áîëåå 7 êîíòåêñòíûõ óðîâíåé: ïî îäíîìó íà êàæäûé óðîâåíü ïðåðûâàíèÿ, 1 äëÿ ñèñòåìíûõ ôóíêöèé è 1 äëÿ ïîëüçîâàòåëüñêîãî êîíòåêñòà. 7 óðîâíåé áóäåò äîñòàòî÷íî, äàæå åñëè ïðåðûâàíèÿ áóäóò ïîñòóïàòü â "íàèõóäøåì" èç âîçìîæíûõ ïîðÿäêîâ, ïîñêîëüêó ïðåðûâàíèå äàííîãî óðîâíÿ áëîêèðóåòñÿ (òî åñòü åãî îáðàáîòêà îòêëàäûâàåòñÿ öåíòðàëüíûì ïðîöåññîðîì) äî òåõ ïîð, ïîêà ÿäðî íå îáðàáîòàåò âñå ïðåðûâàíèÿ ýòîãî è áîëåå âûñîêèõ óðîâíåé.

Íåñìîòðÿ íà òî, ÷òî ÿäðî âñåãäà èñïîëíÿåò êîíòåêñò êàêîãî-íèáóäü ïðîöåññà, ëîãè÷åñêàÿ ôóíêöèÿ, êîòîðóþ ÿäðî ðåàëèçóåò â êàæäûé ìîìåíò, íå âñåãäà èìååò îòíîøåíèå ê äàííîìó ïðîöåññó. Íàïðèìåð, åñëè âîçâðàùàÿ äàííûå, äèñêîâîå çàïîìèíàþùåå óñòðîéñòâî ïîñûëàåò ïðåðûâàíèå, òî ïðåðûâàåòñÿ âûïîëíåíèå òåêóùåãî ïðîöåññà è ÿäðî îáðàáàòûâàåò ïðåðûâàíèå íà íîâîì êîíòåêñòíîì óðîâíå ýòîãî ïðîöåññà, äàæå åñëè äàííûå îòíîñÿòñÿ ê äðóãîìó ïðîöåññó. Ïðîãðàììû îáðàáîòêè ïðåðûâàíèé îáû÷íî íå îáðàùàþòñÿ ê ñòàòè÷åñêèì ñîñòàâëÿþùèì êîíòåêñòà ïðîöåññà è íå âèäîèçìåíÿþò èõ, òàê êàê ýòè ÷àñòè íå ñâÿçàíû ñ ïðåðûâàíèÿìè.

Ïðåäûäóùàÿ ãëàâà || Îãëàâëåíèå || Ñëåäóþùàÿ ãëàâà