А.В. Столяров - Введение в операционные системы (1114673), страница 39
Текст из файла (страница 39)
Ïîääåðæêà ãðàôè÷åñêîãî èíòåðôåéñà ñî ñòîðîíû ÿäðà îãðàíè÷èâàåòñÿ ïðåäîñòàâëåíèåì äîñòóïà ê âèäåîêàðòå, íàïðèìåð,ïóòåì îòîáðàæåíèÿ âèäåîïàìÿòè íà âèðòóàëüíîå àäðåñíîå ïðîñòðàíñòâî Xñåðâåðà. Ýòî ïîçâîëÿåò X-ñåðâåðó íå áûòü ÷àñòüþ îïåðàöèîííîé ñèñòåìû.Òàê, â íàñòîÿùåå âðåìÿ íàèáîëåå ïîïóëÿðíûìè ðåàëèçàöèÿìè X WindowSystem ÿâëÿþòñÿ XFree86 è X.org (îáå − ñâîáîäíî ðàñïðîñòðàíÿåìûå). Îáåðåàëèçàöèè äîñòóïíû êàê äëÿ ÎÑ Linux, òàê è äëÿ ÎÑ FreeBSD; îäíè äèñòðèáóòèâû Linux èñïîëüçóþò XFree86, äðóãèå − X.org, òðåòüè (êàê, íàïðèìåð, ñåðâåðíûé äèñòðèáóòèâ Openwall/*/Linux) âîîáùå íå âêëþ÷àþò ãðàôè÷åñêóþ ïîäñèñòåìó, ò.ê. ïðåäíàçíà÷åíû äëÿ ðàáîòû íà ñåðâåðàõ, îáñëóæèâàåìûõ óäàëåííî.Ñóùåñòâóþò òàêæå ïðîïðèåòàðíûå ðåàëèçàöèè X Window.
Êðîìå òîãî,ñóùåñòâóþò X-ñåðâåðà, ðàáîòàþùèå íà ïëàòôîðìå Win32 (MS Windows) èïîçâîëÿþùèå ïîëüçîâàòåëþ ðàáî÷åé ñòàíöèè ïîä MS Windows çàïóñêàòü óäàëåííî (íà Unix-ñåðâåðå) îêîííûå ïðèëîæåíèÿ è âçàèìîäåéñòâîâàòü ñ íèìè.30.2Îêîííûå ìåíåäæåðûÅñëè çàïóñòèòü X-ñåðâåð áåç îáû÷íîé ïðèêëàäíîé îáâåñêè (ýòî äåëàåòñÿêîìàíäîé X), ìû óâèäèì ïóñòîé ýêðàí ñ êóðñîðîì ìûøè, íàïîìèíàþùèìî÷åíü æèðíóþ áóêâó X, è ôîíîì, âûãëÿäÿùèì, êàê óâåëè÷åííûé ðèñóíîêãðóáîé òêàíè − ýòî ñòàíäàðòíîå ôîíîâîå èçîáðàæåíèå X-ñåðâåðà, êîòîðîåîáû÷íî ïðèêëàäíûå ïðîãðàììû òóò æå ìåíÿþò íà äðóãîå.Åñëè âû çàõîòèòå ïðîâåñòè îïèñûâàåìûé ýêñïåðèìåíò ñàìîñòîÿòåëüíî, óáåäèòåñü, ÷òîíà ìàøèíå â ýòî âðåìÿ íå çàïóùåíû íèêàêèå äðóãèå X-ñåðâåðà.
Åñëè îíè âñå-òàêè çàïóùåíû,ëèáî óáåðèòå èõ, ëèáî ïðèêàæèòå çàïóñêàåìîìó X-ñåðâåðó ðàáîòàòü âòîðûì äèñïëååì ìàøèíû(èñïîëüçóéòå êîìàíäóX :1èëèX :1.0).Âñå, ÷òî ìû ìîæåì ñäåëàòü ñ çàïóùåííûì òàêèì âîò îáðàçîì ñåðâåðîì −ýòî ïîäâèãàòü êóðñîð ñ ïîìîùüþ ìûøè. ×òîáû ïîëó÷èòü áîëåå èíòåðåñíûåðåçóëüòàòû, íåîáõîäèìî çàïóñòèòü õîòÿ áû îäíó ïðèêëàäíóþ ïðîãðàììó. Äëÿ183ýòîãî ñëåäóåò, íàæàâ êîìáèíàöèþ Ctrl-Alt-F11 , âåðíóòüñÿ â òåêñòîâóþ êîíñîëü, ñ êîòîðîé ìû çàïóñòèëè X-ñåðâåð, íàæàòèåì Ctrl-Z è êîìàíäîé bgóáðàòü ðàáîòàþùóþ ïðîãðàììó X â ôîíîâûé ðåæèì. Òåïåðü ìû ìîæåì çàïóñòèòü êàêóþ-íèáóäü ïðèêëàäíóþ ïðîãðàììó, íàïðèìåð xterm.
Ïîñêîëüêó ìûíå âîñïîëüçîâàëèñü îáû÷íîé îáâåñêîé äëÿ çàïóñêà X-ñåðâåðà, íàì ïðèäåòñÿñàìîñòîÿòåëüíî óêàçàòü ïðîãðàììå, ñ êàêèì X-ñåðâåðîì ïûòàòüñÿ óñòàíîâèòüñîåäèíåíèå. Ñ ó÷åòîì ýòîãî êîìàíäà (ïðè èñïîëüçîâàíèè Bourne Shell) áóäåòâûãëÿäåòü òàê:DISPLAY=:0.0 xtermÅñëè âû çàïóñòèëè ñâîé ýêñïåðèìåíòàëüíûé ýêçåìïëÿð X-ñåðâåðà îäíîâðåìåííî ñ äðóãèì ðàáîòàþùèì X-ñåðâåðîì, âìåñòî íàïðèìåð:1.0.:0.0óêàæèòå ñîîòâåòñòâóþùèé èäåíòèôèêàòîð äèñïëåÿ,Âåðíåìñÿ òåïåðü ê íàøåìó X-ñåðâåðó (â çàâèñèìîñòè îò îáñòîÿòåëüñòâ,äëÿ ýòîãî ïîíàäîáèòñÿ êîìáèíàöèÿ êëàâèø Alt-F7, Alt-F8 è ò.ï.). Åñëè âñåïðîøëî óñïåøíî, ìû óâèäèì â ëåâîì âåðõíåì óãëó îêíî ïðîãðàììû xterm è,ïåðåìåñòèâ â íåãî êóðñîð ìûøè, ñìîæåì óáåäèòüñÿ, ÷òî êîìàíäíûé èíòåðïðåòàòîð â íåì ðàáîòàåò.Îäíàêî öåëüþ íàøåãî ýêñïåðèìåíòà áûëî íå ýòî.
Ãëàâíûé ôàêò, êîòîðûéñåé÷àñ ìîæíî êîíñòàòèðîâàòü − ýòî ïîëíîå îòñóòñòâèå ó îêíà êàêèõ-ëèáîýëåìåíòîâ îôîðìëåíèÿ. Íåò íè ðàìêè, íè çàãîëîâêà, íè ïðèâû÷íûõ êíîïîêâ óãîëêàõ îêíà, ñëóæàùèõ äëÿ ìèíèìèçàöèè, ìàêñèìèçàöèè è çàêðûòèÿ −íè÷åãî! Òàêèì îáðàçîì, ó íàñ íåò ïîêà âîçìîæíîñòè, íàïðèìåð, ïåðåìåñòèòüèìåþùååñÿ îêîøêî èëè èçìåíèòü åãî ðàçìåð.Èòàê, íàø íåõèòðûé ýêñïåðèìåíò äàë íàì âîçìîæíîñòü óçíàòü, ÷òî â ñèñòåìå X Window çà îáðàìëåíèå îêîí íå îòâå÷àþò íè X-ñåðâåð, íè êëèåíòñêîåïðèëîæåíèå.Ýòî ñäåëàíî íå ñëó÷àéíî.
Âîçëîæèâ îòâåòñòâåííîñòü çà äåêîð îêîí íàX-ñåðâåð, ìû íàâÿçàëè áû îäèí è òîò æå âíåøíèé âèä (è âîçìîæíîñòè óïðàâëåíèÿ) âñåì ïîëüçîâàòåëÿì äàííîãî ñåðâåðà. Íåñìîòðÿ íà òî, ÷òî îäíà èçâåñòíàÿ êîìïàíèÿ èìåííî òàê è ïîñòóïàåò ñ ïîëüçîâàòåëÿìè ñâîèõ îïåðàöèîííûõñèñòåì, òàêîé ïîäõîä òðóäíî íàçâàòü ïðàâèëüíûì.Åñëè æå îòâåòñòâåííûì çà ñòàíäàðòíûå ýëåìåíòû îêîí ñäåëàòü ïðèêëàäíóþ ïðîãðàììó, ýòî ðåçêî óâåëè÷èò ñëîæíîñòü îêîííûõ ïðèëîæåíèé, ïðè÷åìèçðÿäíàÿ ÷àñòü èõ ôóíêöèîíàëüíîñòè áóäåò â ïðîãðàììàõ äóáëèðîâàòüñÿ.Êðîìå òîãî, ýòî òàêæå ñíèçèò âîçìîæíîñòè ïîëüçîâàòåëÿ ïî âûáîðó óäîáíîãî åìó äåêîðà îêîí. ñèñòåìå X Window çà ñòàíäàðòíûå ýëåìåíòû îêîííîãî èíòåðôåéñà îòâå÷àþò ñïåöèàëüíûå ïðîãðàììû, íàçûâàåìûå îêîííûìè ìåíåäæåðàìè.1 Ïðåäïîëàãàåòñÿ,÷òî ýêñïåðèìåíò ïðîâîäèòñÿ íà ìàøèíå ïîä óïðàâëåíèåì ÎÑ Linux èëè FreeBSD, àçàïóñê îñóùåñòâëåí ñ ïåðâîé âèðòóàëüíîé êîíñîëè184Ïðîäîëæàÿ íàø ýêñïåðèìåíò, çàïóñòèì êàêîé-íèáóäü ïðîñòîé îêîííûé ìåíåäæåð, íàïðèìåð twm, îáû÷íî âõîäÿùèé â ïîñòàâêó X Window.
Ýòî ìîæíîñäåëàòü, íå ïîêèäàÿ X-ñåðâåð, âåäü ó íàñ óæå çàïóùåíà ïðîãðàììà xterm, è âåå îêíå ðàáîòàåò èíòåðïðåòàòîð êîìàíäíîé ñòðîêè. Èòàê, ïåðåìåñòèòå êóðñîðìûøè â îáëàñòü îêíà è äàéòå êîìàíäó twm. Ïîñëå çàïóñêà îêîííîãî ìåíåäæåðà âîêðóã âñåõ èìåþùèõñÿ îêîí ïîÿâÿòñÿ ýëåìåíòû îôîðìëåíèÿ. Òåïåðü îêíàìîæíî äâèãàòü, çàêðûâàòü, ìåíÿòü èõ ðàçìåð è ò.ä.Äëÿ ïîëó÷åíèÿ áîëåå èíòåðåñíîãî ýôôåêòà ìîæíî ñíà÷àëà çàïóñòèòü îäíî-äâà íåáîëüøèõîêîííûõ ïðèëîæåíèÿ, íàïðèìåð,xeyes,è òîëüêî ïîñëå ýòîãî çàïóñêàòütwm.Îêîííûé ìåíåäæåð â X Window ÿâëÿåòñÿ îáû÷íûì ïðîöåññîì, ñ òî÷êèçðåíèÿ ñàìîé ñèñòåìû íè÷åì íå îòëè÷àþùèìñÿ îò îáû÷íîãî ïðèëîæåíèÿ.
ÑX-ñåðâåðîì îêîííûé ìåíåäæåð îáùàåòñÿ ñ ïîìîùüþ òîãî æå X-ïðîòîêîëà,÷òî è îñòàëüíûå êëèåíòû. ïîðÿäêå ïðîäîëæåíèÿ ýêñïåðèìåíòà ïîïðîáóéòå ïîäâèãàòü îêíà ïî ýêðàíó, ïîñëå ÷åãî óáåéòå ïðîöåññ twm. Ýëåìåíòû äåêîðà ñî âñåõ îêîí òóò æå èñ÷åçíóò, íî ñàìè îêíà íèêóäà íå äåíóòñÿ. Ïîñëå ýòîãî ìîæíî ñíîâà çàïóñòèòütwm èëè ëþáîé äðóãîé îêîííûé ìåíåäæåð, èìåþùèéñÿ ó âàñ.Àâòîð ýòîãî ïîñîáèÿ â ñâîå âðåìÿ ëþáèë äåìîíñòðèðîâàòü íåïîñâÿùåííûì ïðîñòåíüêèéôîêóñ, ñîñòîÿâøèé â çàìåíå íà ëåòó îêîííîãî ìåíåäæåðà ñ àñêåòè÷íî âûãëÿäÿùåãîíàfvwm95,fvwm2â ìåëü÷àéøèõ ïîäðîáíîñòÿõ êîïèðóþùèé âíåøíèé âèä MS Windows-95. Îñîáåí-íî ïî÷åìó-òî âïå÷àòëÿåò çðèòåëåé òîò ôàêò, ÷òî îòêðûòûå ïðèëîæåíèÿ ïðè ýòîì íèêóäà íåäåâàþòñÿ.Ïîïóëÿðíûå îáîëî÷êè KDE è Gnome ïðåäñòàâëÿþò ñîáîé ïî ñóòè íè ÷òîèíîå, êàê îêîííûå ìåíåäæåðû, ñíàáæåííûå, ïðàâäà, ðàçâèòîé äîïîëíèòåëüíîé ôóíêöèîíàëüíîñòüþ.30.3Ñåòåâûå X-òåðìèíàëûÊàê óæå ãîâîðèëîñü, îêîííîå ïðèëîæåíèå ìîæåò âûïîëíÿòüñÿ íà òîé æåìàøèíå, ãäå çàïóùåí X-ñåðâåð, à ìîæåò è íà ñîâñåì äðóãîé, ñâÿçûâàÿñü ñX-ñåðâåðîì ïî ñåòè.
Ïîëüçóÿñü ýòèì ñâîéñòâîì X-ïðîòîêîëà, ìîæíî ñîçäàâàòü ñïåöèàëèçèðîâàííûå êîìïüþòåðû, åäèíñòâåííûì íàçíà÷åíèåì êîòîðûõÿâëÿåòñÿ ïîääåðæêà X-ñåðâåðà. Òàêèå êîìïüþòåðû íàçûâàþòñÿ ñåòåâûìè Xòåðìèíàëàìè.Ïðè ðàáîòå ñ X-òåðìèíàëîì âñå ïîëüçîâàòåëüñêèå ïðîãðàììû âûïîëíÿþòñÿ ãäå-òî â äðóãîì ìåñòå, ñêîðåå âñåãî, íà ñïåöèàëüíî ïðåäíàçíà÷åííîé äëÿýòîãî ìîùíîé ìàøèíå. Òàêóþ ìàøèíó îáû÷íî íàçûâàþò ñåðâåðîì ïðèëîæåíèé. Îòìåòèì, ÷òî ñåðâåð ïðèëîæåíèé ìîæåò âîîáùå íå èìåòü ñîáñòâåííûõóñòðîéñòâ îòîáðàæåíèÿ ãðàôè÷åñêîé èíôîðìàöèè, ÷òî íå ìåøàåò åìó âûïîëíÿòü ãðàôè÷åñêèå ïðîãðàììû.Ïðè ðàáîòå ñ X-òåðìèíàëîì ïîëüçîâàòåëþ íåîáõîäèì äîñòóï ê åãî äîìàø185íåìó êàòàëîãó è äðóãèì ðåñóðñàì, êîòîðûå íàõîäÿòñÿ, åñòåñòâåííî, íà óäàëåííîé ìàøèíå (íà ñàìîì ñåðâåðå ïðèëîæåíèé, íà ôàéëîâîì ñåðâåðå è ò.ä.), âåäüX-òåðìèíàë íèêàêèõ çàäà÷, êðîìå îòîáðàæåíèÿ ãðàôèêè (òî åñòü âûïîëíåíèÿ ïðîãðàììû X-ñåðâåðà), íå ðåøàåò.
Òàêèì îáðàçîì, íåîáõîäèìî îáåñïå÷èòüâîçìîæíîñòü àóòåíòèôèêàöèè ïîëüçîâàòåëÿ íà óäàëåííîé ìàøèíå, ñîçäàíèåñåàíñà ðàáîòû, âêëþ÷àþùåãî, íàïðèìåð, ïðîãðàììó îêîííîãî ìåíåäæåðà, êîòîðàÿ óæå óïðàâëÿåò X-ñåðâåðîì è èìååò ñðåäñòâà çàïóñêà ïðîãðàìì ïîëüçîâàòåëÿ. Äëÿ ïðîâåäåíèÿ òàêîé óäàëåííîé àóòåíòèôèêàöèè ñèñòåìà X Windowèìååò ñïåöèàëüíûå ñðåäñòâà.
Íà ñåðâåðå ïðèëîæåíèé çàïóñêàåòñÿ ñïåöèàëüíûé ïðîöåññ, íàçûâàåìûé îáû÷íî xdm (X Display Manager). Çàïóùåííûé íàòåðìèíàëå ïîëüçîâàòåëÿ X-ñåðâåð îáðàùàåòñÿ ê ïðîãðàììå xdm ñ èñïîëüçîâàíèåì ïðîòîêîëà XDMCP (X Display Manager Control Protocol). Ôóíêöèîíèðîâàíèå xdm íåñêîëüêî íàïîìèíàåò òðàäèöèîííóþ ñõåìó getty: íà ãðàôè÷åñêèéýêðàí ïîëüçîâàòåëÿ âûäàåòñÿ ïðèãëàøåíèå ê ââîäó âõîäíîãî èìåíè è ïàðîëÿ, ïîñëå ÷åãî (óæå ñ ïðàâàìè àóòåíòèôèöèðîâàâøåãîñÿ ïîëüçîâàòåëÿ) çàïóñêàåòñÿ ãîëîâíîé ïðîöåññ íîâîãî ñåàíñà.  òðàäèöèîííîé ñõåìå ðàáîòûòåêñòîâûõ òåðìèíàëîâ òàêèì ãëàâíûì ïðîöåññîì âûñòóïàåò èíòåðïðåòàòîðêîìàíäíîé ñòðîêè, â ñëó÷àå æå ñåàíñà ðàáîòû ñ X-òåðìèíàëîì â êà÷åñòâåãëàâíîãî ïðîöåññà çàïóñêàåòñÿ îáû÷íî ëèáî îêîííûé ìåíåäæåð, ëèáî (÷àùå)íåêèé êîìàíäíûé ôàéë, êîòîðûé ïðîèçâîäèò âñåâîçìîæíûå ïîäãîòîâèòåëüíûå äåéñòâèÿ, â òîì ÷èñëå è çàïóñê îêîííîãî ìåíåäæåðà.Ñî ñõåìîé âçàèìîäåéñòâèÿ X-òåðìèíàëà, ñåðâåðà ïðèëîæåíèé, ïðîãðàììû xdm è ïîëüçîâàòåëüñêèõ ïðîãðàìì (X-êëèåíòîâ) ñâÿçàíà, ê ñîæàëåíèþ,îïðåäåëåííàÿ òåðìèíîëîãè÷åñêàÿ ïóòàíèöà.
Êàê ìîæíî áûëî çàìåòèòü, Xòåðìèíàë − ýòî êëèåíòñêàÿ ðàáî÷àÿ ñòàíöèÿ, â êîíå÷íîì ñ÷åòå îáðàùàþùàÿñÿ ê ñåðâåðíîé (îáñëóæèâàþùåé) ìàøèíå − ñåðâåðó ïðèëîæåíèé. Áîëååòîãî, íà ñåðâåðå ïðèëîæåíèé çàïóñêàåòñÿ ïðîãðàììà xdm, ïðåäñòàâëÿþùàÿñîáîé íè ÷òî èíîå êàê ñåðâåð ïðîòîêîëà XDMCP. Ñ äðóãîé ñòîðîíû, ïðîãðàììà, âûïîëíÿþùàÿñÿ íà X-òåðìèíàëå (êëèåíòñêîé ìàøèíå!), íàçûâàåòñÿX-ñåðâåðîì, à ïîëüçîâàòåëüñêèå ïðîãðàììû, âûïîëíÿþùèåñÿ íà ñåðâåðå ïðèëîæåíèé (!), íàçûâàþòñÿ X-êëèåíòàìè.Äåëî â òîì, ÷òî ñ òî÷êè çðåíèÿ X Window System ñåðâåðîì, ïðåäîñòàâëÿþùèì óñëóãó ïî îòîáðàæåíèþ ãðàôè÷åñêèõ îáúåêòîâ, ÿâëÿåòñÿ êàê ðàç Xòåðìèíàë, à îáðàùàþùèåñÿ çà òàêîé óñëóãîé ïðîãðàììû (ïîëüçîâàòåëüñêèåïðèëîæåíèÿ) îêàçûâàþòñÿ, ñîîòâåòñòâåííî, êëèåíòàìè.
Ïîïðîñòó ãîâîðÿ, èñïîëüçóåìàÿ òåðìèíîëîãèÿ çàâèñèò îò óðîâíÿ, íà êîòîðîì ìû ðàññìàòðèâàåìó÷àñòíèêîâ âçàèìîäåéñòâèÿ. Íà óðîâíå X Window System X-òåðìèíàë ÿâëÿåòñÿ ñåðâåðîì, íà óðîâíå ïîëüçîâàòåëüñêèõ óñëóã − áåçóñëîâíî, êëèåíòîì.Äîñòîèíñòâîì ñõåìû ñ èñïîëüçîâàíèåì íåñêîëüêèõ ìîùíûõ ñåðâåðîâ ïðèëîæåíèé è ìíîæåñòâà X-òåðìèíàëîâ ÿâëÿåòñÿ êðàéíÿÿ ïðîñòîòà àäìèíèñòðè186ðîâàíèÿ è îáñëóæèâàíèÿ òàêîé ñåòè. X-òåðìèíàëû îáû÷íî íå èìåþò äèñêîâûõïîäñèñòåì è, áîëåå òîãî, íåêîòîðûå èç íèõ ñïîñîáíû îáõîäèòüñÿ è áåç âåíòèëÿòîðîâ çà ñ÷åò èñïîëüçîâàíèÿ ñðàâíèòåëüíî ìåäëåííûõ ïðîöåññîðîâ. Ñîîòâåòñòâåííî, â íèõ ïîïðîñòó íå÷åìó ëîìàòüñÿ. Íèêàêîé íàñòðîéêè áîëüøèíñòâîX-òåðìèíàëîâ íå òðåáóþò, âñå íåîáõîäèìûå ïàðàìåòðû îíè ïîëó÷àþò ïðèïîäêëþ÷åíèè ê ñåòè.
Òàêèì îáðàçîì, îáñëóæèâàíèÿ è àäìèíèñòðèðîâàíèÿòðåáóþò òîëüêî ñåðâåðíûå ìàøèíû.Áåçóñëîâíî, â îðãàíèçàöèè, èìåþùåé íåñêîëüêî ñîò ðàáî÷èõ ìåñò, â êà÷åñòâå ñåðâåðîâ ïðèëîæåíèé ïðèõîäèòñÿ èñïîëüçîâàòü î÷åíü ìîùíûå è äîðîãîñòîÿùèå êîìïüþòåðû, îäíàêî âëîæåíèÿ â íèõ áûñòðî îêóïàþòñÿ çà ñ÷åòýêîíîìèè ðàñõîäîâ íà òåêóùèé ðåìîíò è ïðî÷åå îáñëóæèâàíèå ïîëüçîâàòåëüñêèõ ðàáî÷èõ ñòàíöèé.