Êîíòåêñò ïðîöåññà âêëþ÷àåò â ñåáÿ
ñîäåðæèìîå àäðåñíîãî ïðîñòðàíñòâà
çàäà÷è, âûäåëåííîãî ïðîöåññó, à
òàêæå ñîäåðæèìîå îòíîñÿùèõñÿ ê
ïðîöåññó àïïàðàòíûõ ðåãèñòðîâ è
ñòðóêòóð äàííûõ ÿäðà. Ñ ôîðìàëüíîé
òî÷êè çðåíèÿ, êîíòåêñò ïðîöåññà
îáúåäèíÿåò â ñåáå ïîëüçîâàòåëüñêèé
êîíòåêñò, ðåãèñòðîâûé êîíòåêñò è
ñèñòåìíûé êîíòåêñò (*).
Ïîëüçîâàòåëüñêèé êîíòåêñò ñîñòîèò
èç êîìàíä è äàííûõ ïðîöåññà, ñòåêà
çàäà÷è è ñîäåðæèìîãî ñîâìåñòíî
èñïîëüçóåìîãî ïðîñòðàíñòâà ïàìÿòè
â âèðòóàëüíûõ àäðåñàõ ïðîöåññà. Òå
÷àñòè âèðòóàëüíîãî àäðåñíîãî
ïðîñòðàíñòâà ïðîöåññà, êîòîðûå
ïåðèîäè÷åñêè îòñóòñòâóþò â
îïåðàòèâíîé ïàìÿòè âñëåäñòâèå
âûãðóçêè èëè çàìåùåíèÿ ñòðàíèö,
òàêæå âêëþ÷àþòñÿ â
ïîëüçîâàòåëüñêèé êîíòåêñò. Ðåãèñòðîâûé êîíòåêñò ñîñòîèò èç
ñëåäóþùèõ êîìïîíåíò: Ñèñòåìíûé êîíòåêñò ïðîöåññà
èìååò "ñòàòè÷åñêóþ ÷àñòü"
(ïåðâûå òðè ýëåìåíòà â
íèæåñëåäóþùåì ñïèñêå) è
"äèíàìè÷åñêóþ ÷àñòü"
(ïîñëåäíèå äâà ýëåìåíòà). Íà
ïðîòÿæåíèè âñåãî âðåìåíè
âûïîëíåíèÿ ïðîöåññ ïîñòîÿííî
ðàñïîëàãàåò îäíîé ñòàòè÷åñêîé
÷àñòüþ ñèñòåìíîãî êîíòåêñòà, íî
ìîæåò èìåòü ïåðåìåííîå ÷èñëî
äèíàìè÷åñêèõ ÷àñòåé. Äèíàìè÷åñêóþ
÷àñòü ñèñòåìíîãî êîíòåêñòà ìîæíî
ïðåäñòàâèòü â âèäå ñòåêà,
ýëåìåíòàìè êîòîðîãî ÿâëÿþòñÿ
êîíòåêñòíûå óðîâíè, êîòîðûå
ïîìåùàþòñÿ â ñòåê ÿäðîì èëè
âûòàëêèâàþòñÿ èç ñòåêà ïðè
íàñòóïëåíèè ðàçëè÷íûõ ñîáûòèé.
Ñèñòåìíûé êîíòåêñò âêëþ÷àåò â ñåáÿ
ñëåäóþùèå êîìïîíåíòû: (*) Èñïîëüçóåìûå â äàííîì
ðàçäåëå òåðìèíû
"ïîëüçîâàòåëüñêèé êîíòåêñò"
(user-level context), "ðåãèñòðîâûé
êîíòåêñò" (register context),
"ñèñòåìíûé êîíòåêñò" (system-level
context) è "êîíòåêñòíûå óðîâíè"
(context layers) ââåäåíû àâòîðîì. ßäðî ïîìåùàåò êîíòåêñòíûé
óðîâåíü â ñòåê ïðè âîçíèêíîâåíèè
ïðåðûâàíèÿ, ïðè îáðàùåíèè ê
ñèñòåìíîé ôóíêöèè èëè ïðè
ïåðåêëþ÷åíèè êîíòåêñòà ïðîöåññà.
Êîíòåêñòíûé óðîâåíü âûòàëêèâàåòñÿ
èç ñòåêà ïîñëå çàâåðøåíèÿ
îáðàáîòêè ïðåðûâàíèÿ, ïðè âîçâðàòå
ïðîöåññà â ðåæèì çàäà÷è ïîñëå
âûïîëíåíèÿ ñèñòåìíîé ôóíêöèè, èëè
ïðè ïåðåêëþ÷åíèè êîíòåêñòà. Òàêèì
îáðàçîì, ïåðåêëþ÷åíèå êîíòåêñòà
âëå÷åò çà ñîáîé êàê ïîìåùåíèå
êîíòåêñòíîãî óðîâíÿ â ñòåê, òàê è
èçâëå÷åíèå óðîâíÿ èç ñòåêà: ÿäðî
ïîìåùàåò â ñòåê êîíòåêñòíûé
óðîâåíü ñòàðîãî ïðîöåññà, à
èçâëåêàåò èç ñòåêà êîíòåêñòíûé
óðîâåíü íîâîãî ïðîöåññà.
Èíôîðìàöèÿ, íåîáõîäèìàÿ äëÿ
âîññòàíîâëåíèÿ òåêóùåãî
êîíòåêñòíîãî óðîâíÿ, õðàíèòñÿ â
çàïèñè òàáëèöû ïðîöåññîâ. Íà Ðèñóíêå 6.8
èçîáðàæåíû êîìïîíåíòû êîíòåêñòà
ïðîöåññà. Ñëåâà íà ðèñóíêå
èçîáðàæåíà ñòàòè÷åñêàÿ ÷àñòü
êîíòåêñòà. Â íåå âõîäÿò:
ïîëüçîâàòåëüñêèé êîíòåêñò,
ñîñòîÿùèé èç ïðîãðàìì ïðîöåññà
(ìàøèííûõ èíñòðóêöèé), äàííûõ, ñòåêà
è ðàçäåëÿåìîé ïàìÿòè (åñëè îíà
èìååòñÿ), à òàêæå ñòàòè÷åñêàÿ ÷àñòü
ñèñòåìíîãî êîíòåêñòà, ñîñòîÿùàÿ èç
çàïèñè òàáëèöû ïðîöåññîâ,
ïðîñòðàíñòâà ïðîöåññà è çàïèñåé
÷àñòíîé òàáëèöû îáëàñòåé
(èíôîðìàöèè, íåîáõîäèìîé äëÿ
òðàíñëÿöèè âèðòóàëüíûõ àäðåñîâ
ïîëüçîâàòåëüñêîãî êîíòåêñòà).
Ñïðàâà íà ðèñóíêå èçîáðàæåíà
äèíàìè÷åñêàÿ ÷àñòü êîíòåêñòà. Îíà
èìååò âèä ñòåêà è âêëþ÷àåò â ñåáÿ
íåñêîëüêî ýëåìåíòîâ, õðàíÿùèõ
ðåãèñòðîâûé êîíòåêñò ïðåäûäóùåãî
óðîâíÿ è ñòåê ÿäðà äëÿ òåêóùåãî
óðîâíÿ. Íóëåâîé êîíòåêñòíûé
óðîâåíü ïðåäñòàâëÿåò ñîáîé ïóñòîé
óðîâåíü, îòíîñÿùèéñÿ ê
ïîëüçîâàòåëüñêîìó êîíòåêñòó;
óâåëè÷åíèå ñòåêà çäåñü èäåò â
àäðåñíîì ïðîñòðàíñòâå çàäà÷è, ñòåê
ÿäðà íåäåéñòâèòåëåí. Ñòðåëêà,
ñîåäèíÿþùàÿ ìåæäó ñîáîé
ñòàòè÷åñêóþ ÷àñòü ñèñòåìíîãî
êîíòåêñòà è âåðõíèé óðîâåíü
äèíàìè÷åñêîé ÷àñòè êîíòåêñòà,
îçíà÷àåò òî, ÷òî â òàáëèöå
ïðîöåññîâ õðàíèòñÿ èíôîðìàöèÿ,
ïîçâîëÿþùàÿ ÿäðó âîññòàíàâëèâàòü
òåêóùèé êîíòåêñòíûé óðîâåíü
ïðîöåññà. Ïðîöåññ âûïîëíÿåòñÿ â ðàìêàõ
ñâîåãî êîíòåêñòà èëè, åñëè ãîâîðèòü
áîëåå òî÷íî, â ðàìêàõ ñâîåãî
òåêóùåãî êîíòåêñòíîãî óðîâíÿ.
Êîëè÷åñòâî êîíòåêñòíûõ óðîâíåé
îãðàíè÷èâàåòñÿ ÷èñëîì
ïîääåðæèâàåìûõ â ìàøèíå óðîâíåé
ïðåðûâàíèÿ. Íàïðèìåð, åñëè â ìàøèíå
ïîääåðæèâàþòñÿ ðàçíûå óðîâíè
ïðåðûâàíèé äëÿ ïðîãðàìì,
òåðìèíàëîâ, äèñêîâ, âñåõ îñòàëüíûõ
ïåðèôåðèéíûõ óñòðîéñòâ è òàéìåðà,
òî åñòü 5 óðîâíåé ïðåðûâàíèÿ, òî,
ñëåäîâàòåëüíî, ó ïðîöåññà ìîæåò
áûòü íå áîëåå 7 êîíòåêñòíûõ óðîâíåé:
ïî îäíîìó íà êàæäûé óðîâåíü
ïðåðûâàíèÿ, 1 äëÿ ñèñòåìíûõ ôóíêöèé
è 1 äëÿ ïîëüçîâàòåëüñêîãî
êîíòåêñòà. 7 óðîâíåé áóäåò
äîñòàòî÷íî, äàæå åñëè ïðåðûâàíèÿ
áóäóò ïîñòóïàòü â "íàèõóäøåì"
èç âîçìîæíûõ ïîðÿäêîâ, ïîñêîëüêó
ïðåðûâàíèå äàííîãî óðîâíÿ
áëîêèðóåòñÿ (òî åñòü åãî îáðàáîòêà
îòêëàäûâàåòñÿ öåíòðàëüíûì
ïðîöåññîðîì) äî òåõ ïîð, ïîêà ÿäðî
íå îáðàáîòàåò âñå ïðåðûâàíèÿ ýòîãî
è áîëåå âûñîêèõ óðîâíåé. Íåñìîòðÿ íà òî, ÷òî ÿäðî âñåãäà
èñïîëíÿåò êîíòåêñò êàêîãî-íèáóäü
ïðîöåññà, ëîãè÷åñêàÿ ôóíêöèÿ,
êîòîðóþ ÿäðî ðåàëèçóåò â êàæäûé
ìîìåíò, íå âñåãäà èìååò îòíîøåíèå ê
äàííîìó ïðîöåññó. Íàïðèìåð, åñëè
âîçâðàùàÿ äàííûå, äèñêîâîå
çàïîìèíàþùåå óñòðîéñòâî ïîñûëàåò
ïðåðûâàíèå, òî ïðåðûâàåòñÿ
âûïîëíåíèå òåêóùåãî ïðîöåññà è
ÿäðî îáðàáàòûâàåò ïðåðûâàíèå íà
íîâîì êîíòåêñòíîì óðîâíå ýòîãî
ïðîöåññà, äàæå åñëè äàííûå
îòíîñÿòñÿ ê äðóãîìó ïðîöåññó.
Ïðîãðàììû îáðàáîòêè ïðåðûâàíèé
îáû÷íî íå îáðàùàþòñÿ ê ñòàòè÷åñêèì
ñîñòàâëÿþùèì êîíòåêñòà ïðîöåññà è
íå âèäîèçìåíÿþò èõ, òàê êàê ýòè
÷àñòè íå ñâÿçàíû ñ ïðåðûâàíèÿìè. Ïðåäûäóùàÿ
ãëàâà || Îãëàâëåíèå
|| Ñëåäóþùàÿ ãëàâà
6.3 ÊÎÍÒÅÊÑÒ ÏÐÎÖÅÑÑÀ
Ðèñóíîê 6.8. Êîìïîíåíòû êîíòåêñòà
ïðîöåññà