Кіріспе
Экран сақтағыш бағдарламалық қамтамасыз ету
XScreenSaver – Unix, macOS, iOS және Android операциялық жүйелері үшін 240-тан астам экран сақтағыштарының жинағы, тегін және ашық кодты бағдарлама. Ол 1992 жылы Джейми Завински жасаған және қазірге дейін оның күтімінде, жылына бірнеше рет жаңа нұсқалары шығады.
screensavers for Unix, macOS, iOS and Android operating systems. It was created by Jamie Zawinski in 1992 and is still maintained by him, with new releases coming out several times a year.
Платформалар
X терезесі жүйесімен жұмыс істейтін еркін бағдарламалық қамтамасыз ету және ашық кодты Unix сияқты операциялық жүйелер (мысалы, Linux және FreeBSD) XScreenSaver-ді дерлік толығымен пайдаланады. Бұл жүйелерде бірнеше пакет бар: экранды сақтау және құлыптау үшін арналған бір пакет, және екі немесе одан көп дисплей режимдері үшін, шамалы ерікті түрде бөлінген пакеттер. Macintosh жүйелерінде XScreenSaver, macOS-тың кіріктірілген экран сақтағышымен жұмыс істейді. iOS жүйелерінде XScreenSaver – кез келген хактарды толық экранда іске қоса алатын жеке қосымша. Android жүйелерінде XScreenSaver дисплей режимдері, қалыпты экран сақтағыштар ретінде (Android кейде "Daydreams" деп атайды) немесе тірі обои ретінде жұмыс істейді. Microsoft Windows үшін ресми нұсқасы жоқ, және жасаушы оны порттауға ешкімді шақырмайды. Автор Microsoft-ты "жаман, жыртқыш, бәсекеге қарсы бизнес-әрекеттері бар компания" деп есептейді және Netscape Navigator-дың бастапқы авторларының бірі ретінде, ол Microsoft-қа қарсы "жеке наразылығын" білдіреді, себебі оның Бірінші Браузер Соғысы кезіндегі әрекеттерінен.
and says that, as one of the original authors of Netscape Navigator, he holds a "personal grudge" against Microsoft because of its behavior during the First Browser War.
Бағдарламалық жасақтама архитектурасы
XScreenSaver демоны белсенділік жоқтығын анықтауға, экранды қараңғылатуға және құлыптауға, сондай-ақ дисплей режимдерін іске қосуға жауапты. Дисплей режимдері (тарихи тұрғыдан "дисплей хак" деп аталатын "хактар") – әрқайсысы жеке бағдарлама. Бұл маңызды қауіпсіздік мүмкіндігі, себебі дисплей режимдері экранды құлыптау аясынан бөлек процеске енгізіледі. Бұл графикалық дисплей режимдерінің біріндегі бағдарламалау қатесі экран құлпының өзіне зиян келтірмейді дегенді білдіреді (мысалы, дисплей режиміндегі қателік экранды ашпайды). Сондай-ақ, бұл үшінші тарап экран сақтағышын кез келген тілде немесе кез келген графикалық кітапхананы пайдаланып жасауға мүмкіндік береді, егер ол сыртқы терезеге бейне шығара алатын болса. Тарихи және тасымалдамалық себептерге байланысты, кіретін хактардың барлығы ANSI C тілінде жазылған. Олардың шамамен жартысы X11 API-ді, ал қалғаны OpenGL 1.3 API-ді пайдаланады. Кодты бөліп, хактарды әртүрлі платформаларға қайта жазудың орнына, XScreenSaver бірнеше үйлесімділік қабаттарын қамтиды. X11 негізделген хактарды macOS және iOS жүйелерінде тікелей іске қосу үшін XScreenSaver Cocoa ("jwxyz") негізінде салынған X11 API-нің толыққанды нұсқасын қамтиды. OpenGL 1.3 негізделген хактарды тек OpenGL ES қолдауы бар iOS және Android жүйелерінде іске қосу үшін XScreenSaver OpenGL ES 1.0 ("jwzgles") негізінде салынған OpenGL 1.3 API-нің нұсқасын қамтиды. Ал X11 негізделген хактарды iOS және Android жүйелерінде тікелей іске қосу үшін XScreenSaver OpenGL ES 1.0 арқылы X11 API-нің нұсқасын да қамтиды.