Кіріспе

Дисплей экранының әртүрлі бөліктерін жеке басқаратын бағдарламалық құрал. Компьютерде терезелік жүйе (немесе терезе жүйесі) – дисплей экранының әртүрлі бөліктерін жеке басқаратын бағдарламалық жиынтық. Бұл – графикалық пайдаланушы интерфейсінің (GUI) бір түрі, ол пайдаланушы интерфейсі үшін WIMP (терезелер, белгішелер, мәзірлер, көрсеткіш) парадигмасын іске асырады. Қазіргі уақытта жұмыс істеп тұрған әрбір қолданбаға пайдаланушыға өзінің графикалық интерфейсін көрсету үшін дисплейдің көбінесе өзгертілетін және көбінесе тіктөртбұрышты беті беріледі; бұл терезелер бір-бірімен қабаттасуы мүмкін, плиткалы интерфейске қарағанда, онда олардың қабаттасуына рұқсат етілмейді. Әдетте, әр терезеге терезе безендіруі салынады. Терезенің безендіруін және терезенің ішіндегі қолжетімді виджеттерді – слайдерлер, түймелер сияқты тікелей пайдаланушының өзара әрекеттесуіне арналған графикалық элементтерді – бағдарламалау виджет құралдары жиынтығын пайдалану арқылы жеңілдетіледі және қарапайымдастырылады.

Техникалық мәліметтер

Кез келген терезелік жүйенің негізгі компоненті әдетте дисплей сервері деп аталады, бірақ терезе сервері немесе композитор сияқты баламалы атаулар да қолданылады. Терезеде өзінің графикалық интерфейсін іске қосып, көрсететін кез келген қосымша дисплей серверінің клиенті болып табылады. Дисплей сервері мен оның клиенттері қолданбалы бағдарламалау интерфейсі (API) немесе байланыс протоколы арқылы бір-бірімен байланысады, бұл әдетте дисплей сервері протоколы деп аталады, дисплей сервері клиенттер мен пайдаланушы арасындағы делдал рөлін атқарады. Ол ядродан, яғни ядроның барлық қосылған кіріс құрылғыларынан – пернетақтадан, көрсеткіш құрылғыларынан немесе сенсорлық экраннан алатын барлық кіріс деректерін қабылдап, оларды тиісті клиентке жібереді. Дисплей сервері клиенттердің компьютер мониторына шығарылуына да жауапты. Дыбыс шығаруды әдетте дисплей сервері басқармайды, бірақ дыбыс деңгейі әдетте GUI апплеттері арқылы реттеледі және дисплей сервері қай қосымшалардың алдында болатынын анықтайды. Терезелік жүйе компьютер пайдаланушысына бір уақытта бірнеше бағдарламамен жұмыс істеуге мүмкіндік береді. Әрбір бағдарлама өзінің графикалық интерфейсін өз терезесінде көрсетеді, ол әдетте экранның тіктөртбұрышты аймағы болып табылады. Бағдарламашының тұрғысынан қарағанда, терезелік жүйе графикалық примитивтерді іске асырады. Мысалы: қаріптерді көрсету немесе экранға сызық жүргізу. Ол графикалық интерфейстің жоғары деңгейдегі элементтері, мысалы терезе менеджері үшін графикалық жабдықтардың абстракциясын ұсынады. Дисплей сервері протоколы желілік мүмкіндіктерге ие немесе тіпті желілік тұрғысынан көрінбейтін болуы мүмкін, бұл жұқа клиенттерді іске асыруды жеңілдетеді.

Дисплей сервері

Дисплей сервері немесе терезе сервері – негізгі міндеті клиенттердің кіріс және шығысын операциялық жүйенің қалған бөлігімен, аппараттық құралдармен және бір-бірімен үйлестіру болып табылады. Дисплей сервері клиенттерімен дисплей сервері протоколы арқылы байланысады, бұл коммуникациялық протокол желілік тұрғысынан ашық немесе жай ғана желілік мүмкіндіктерге ие болуы мүмкін. Дисплей сервері кез келген графикалық пайдаланушы интерфейсінің, әсіресе терезелік жүйенің маңызды құрауы болып табылады. Дербес дисплей серверінің сервер/клиент қарым-қатынасы кейде түсініксіз болып көрінеді, себебі "сервер" әдетте үлкен, қашықтағы машина ретінде еске түседі, ал дербес "дисплей сервері" – кішкентай жергілікті жүйе, ал клиенттердің көп бөлігі үлкен орталық машинада іске қосылады. Мұның түсіндірмесі – дисплей сервері дисплей және кіріс құрылғыларының қызметтерін ұсынады.

X11

Дисплей серверінің бір мысалы — ядроның үстінде жұмыс істейтін X.Org сервері (әдетте Unix сияқты ядро, мысалы Linux немесе BSD). Ол пайдаланушыдан кіріс деректерін қабылдайды (мысалы, Linux-тағы evdev-тен) және оны клиенттерінің біріне жібереді. Дисплей сервері өз клиенттерінен де деректерді қабылдайды; ол деректерді өңдейді, композициялауды жүзеге асырады және Linux-та деректерді үш ядролық компоненттің біріне — DRM, gem немесе KMS драйверіне жібереді. Бұл компонент деректерді фреймбуферге жазады және фреймбуфердің мазмұны қосылған экранға жіберіліп, көрсетіледі. X GLX-ке тәуелді. Дисплей сервері тұжырымдамасының бір іске асырылуы — X Window System, атап айтқанда оның қолданыстағы нұсқасы — X.Org сервері және Xlib және XCB клиенттік кітапханалары. X.Org сервері дисплей сервері болып табылады, бірақ қазіргі орындалуында композициялауды жүзеге асыру үшін екінші бағдарламаға, композициялық терезе менеджеріне тәуелді. Мысалдарға Mutter немесе KWin жатады. X11 дисплей сервер протоколын іске асыратын дисплей серверлерінің маңызды мысалдары — X.Org сервері, XFree86, XQuartz және Cygwin/X, ал X11 дисплей сервер протоколын іске асыратын клиенттік кітапханалар — Xlib және XCB.

Уэйленд

Wayland дисплей сервері протоколын іске асыратын дисплей серверлері Wayland композиторлары деп аталады. Кез келген дисплей сервері сияқты, Wayland композиторы клиенттер үшін кіріс және шығысты басқарады, ал X11-ден айырмашылығы, композициялауды да өз міндетіне алады. Мысалдар: Weston, Mutter, KWin немесе Enlightenment. Wayland композиторлары Wayland клиенттерімен Wayland дисплей сервері протоколы арқылы байланысады. Бұл протокол клиенттерге EGL рендеринг API-ді пайдаланып деректерді тікелей фреймбуферге жазуға мүмкіндік береді. Дисплей сервері әлі де қандай терезе жоғарыда тұратынын және пайдаланушыға көрінетінін анықтайды, сондай-ақ evdev-тен клиенттерге кіріс құрылғылары туралы деректерді жеткізуге жауапты. Wayland Fedora сияқты кейбір Linux дистрибутивтерінде белгілі бір деңгейде қолданылады. Ол мобильді есептеулер үшін де өте қолайлы және, мысалы, смартфондар мен планшеттерге бағытталған Tizen, Sailfish OS және AsteroidOS жобаларында қабылданды. Wayland-тің бір іске асырылымы MIT лицензиясымен қол жетімді, libwayland клиенттік және libwayland серверлік кітапханалары арқылы. ChromeOS-қа Wayland қолдауын қосу жөніндегі жұмыстар жалғасуда.

Мира

Mir дисплей сервері X11 және Wayland қолданатын протоколдардан өзгеше, өзінің Mir дисплей сервер протоколымен бірге келеді. Mir сонымен қатар X11 протоколын қолдайды. Ол Canonical компаниясымен әзірленген және Ubuntu үшін басты дисплей сервері болуы жоспарланған. 2017 жылдан бастап Ubuntu-ның десктоптық нұсқаларында Wayland дисплей серверіне алмастырылды. GPLv3 лицензиясымен Mir дисплей серверінің, libmir серверінің және libmir клиент кітапханаларының іске асырылымдары қолжетімді.

Кварц композиторы

Apple компаниясының macOS операциялық жүйелер отбасы үшін Quartz Compositor дисплей сервері және терезелер жүйесінде терезе менеджерінің қызметтерін атқарады.

Үстел терезесі менеджері

Microsoft Windows үшін, Windows Vista нұсқасынан бастап, Desktop Window Manager графикалық пайдаланушы интерфейсін көрсету үшін аппараттық үдетуді қолдануға мүмкіндік береді. Ол бастапқыда жаңа "Windows Aero" пайдаланушы тәжірибесінің мүмкіндіктерін іске қосу үшін жасалған, оның арқасында ашықтық, 3D терезелерді ауыстыру және тағы да басқа әсерлер пайда болды. Ол Windows Server 2008 құрамына да кіреді, бірақ "Desktop Experience" мүмкіндігі және үйлесімді графикалық драйверлер орнатылуын қажет етеді. Windows 8 нұсқасынан бастап DWM өшірілмейді және егер қолайлы графикалық карта орнатылмаса, бағдарламалық түрде көрсетіледі.