Кіріспе
UNIX жүйесінің құрауы
Unix процесі
the Unix process
Unix-ке негізделген компьютерлік операциялық жүйелерде init (инициализация үшін қысқартылған) – операциялық жүйені жүктеу кезінде басталатын алғашқы процесс. Init – жүйе тоқтатылғанша жұмыс істей беретін демондық процесс. Ол барлық басқа процестердің тікелей немесе жанама атасы болып табылады және барлық қараусыз қалған процестерді автоматты түрде қабылдайды. Init ядромен жүктеу процесінде басталады; егер ядро оны іске қоса алмаса немесе қандай да бір себеппен тоқтаса, ядролық қате пайда болады. Init-ке әдетте 1-процесс идентификаторы тағайындалады. System III және System V сияқты Unix жүйелерінде init дизайны Research Unix және оның BSD туындыларындағы init ұсынған мүмкіндіктерден өзгешеленеді. 2010 жылдардың басына дейін көптеген Linux дистрибутивтері System V-мен салыстырмалы түрде үйлесімді дәстүрлі init-ті қолданды, ал Slackware сияқты кейбір дистрибутивтер BSD стиліндегі жүктеу сценарийларын пайдаланды, ал Gentoo сияқты басқалары өздерінің жекеленген нұсқаларын қолданды. Содан бері дәстүрлі нұсқалардың дизайн шектеулерін жоюға бағытталған бірнеше қосымша init жүзеге асырылымдары жасалды. Оларға launchd, қызметтерді басқару құралы, systemd, Runit және OpenRC кіреді.
Зерттеу ЮНИКС-қадамды/BSD-қадамды
Research Unix init /etc/rc орналасқан инициализациялық қабықша скриптін іске қосады, содан кейін /etc/ttys бақылауындағы терминалдарда getty-ді іске қосады. Орындалу деңгейлері жоқ; /etc/rc файлы init қандай бағдарламаларды іске қосатынын анықтайды. Бұл жүйенің артықшылығы – оны қолмен өңдеу оңай және қарапайым. Дегенмен, жүйеге жаңа бағдарламалық құралдар қосылғанда, жүйені іске қоса алмау қаупі бар файлдарға өзгерістер енгізу қажет болуы мүмкін. BSD init 4.3BSD-ге дейін Research UNIX-тің init-імен бірдей болды; 4.3BSD-де ол /etc/ttys бақылауындағы графикалық терминалдарда X сияқты терезелік жүйені іске қосу мүмкіндігін қосты. /etc/rc-ді өңдеу қажеттілігін жою үшін BSD түрлері ұзақ уақыттан бері сайтқа арналған /etc/rc.local файлына қолдау көрсетеді, ол жүктелу тізбегінің соңына жақын қосалқы қабықта іске қосылады. Толық модульдік жүйе NetBSD 1.5-пен енгізілді және FreeBSD 5.0 және одан кейінгі нұсқаларына көшірілді. Бұл жүйе /etc/rc.d каталогындағы скрипттерді орындайды. System V скрипттерінің реті, әрбір скрипттің файл атауынан шығарылатын болса, бұл жүйе әрбір скрипт ішінде орналасқан нақты тәуелділік белгілерін пайдаланады. Скрипттердің орындалу реті rcorder құралымен осы белгілерде көрсетілген талаптарға сәйкес анықталады.
SysV-қалыпты
Алдыңғы нұсқаларымен салыстырғанда, AT&T-нің UNIX System III жүйелік бастау конфигурациясының жаңа стилін енгізді, ол UNIX System V-ге (өзгерістермен) көшті және сондықтан "SysV стилі init" деп аталады. Кез келген уақытта, V жүйесі алдын ала белгіленген күйлердің бірінде болады, оларды жұмыс деңгейлері деп атайды. Кем дегенде бір жұмыс деңгейі жүйенің қалыпты жұмыс жағдайы болып табылады; әдетте, басқа жұмыс деңгейлері бір пайдаланушы режимін (бұзылған жүйені жөндеу үшін қолданылады), жүйені өшіру және басқа да әртүрлі жағдайларды көрсетеді. Бір жұмыс деңгейінен екіншісіне ауысу әр жұмыс деңгейі үшін арналған скрипттер жиынтығының орындалуына себеп болады, олар әдетте файлдық жүйелерді қосу, демонды бастау немесе тоқтату, X терезесі жүйесін бастау немесе тоқтату, машинаны өшіру және т.б. сияқты операцияларды жасайды.
Жүргізу деңгейлері
System V жүйесіндегі орындалу деңгейлері машинаның белгілі бір күйлерін сипаттайды, олар әр деңгейде іске қосылған процестер мен қызметтермен (daemon) анықталады. Әдетте, жеті орындалу деңгейі болады, олардың ішінде үш деңгейі "стандартты" саналады, себебі олар жүйенің жұмыс істеуі үшін қажет.
Осы стандартты деңгейлерден өзге, Unix және Unix-қа ұқсас жүйелер орындалу деңгейлерін әртүрлі қарастырады. Бірдей ортақ элемент – /etc/inittab файлы, ол әрбір конфигурацияланған орындалу деңгейінің нақты жүйеде қандай міндеттерді орындайтынын анықтайды.
Әдетті орындау деңгейлері
Операциялық жүйе Әдеттегі орындалу деңгейі AIX 2 antiX 5 Gentoo Linux 3 HP UX 3 (консоль/сервер/көп пайдаланушы) немесе 4 (графикалық) Linux From Scratch 3 Slackware Linux 3 Solaris / illumos 3 UNIX System V Releases 3. x, 4. x 2 UnixWare 7. x 3
Кестеде оң жақта көрсетілген Linux дистрибутивтерінде 5-ші орындалу деңгейі X терезесі жүйесімен жұмыс істейтін көп пайдаланушылық графикалық ортаны іске қосады, әдетте GDM немесе KDM сияқты дисплей менеджерімен. Алайда, Solaris және illumos операциялық жүйелері әдетте 5-ші орындалу деңгейін машинаны өшіру және автоматты түрде қуаттандыру үшін резервтейді. Көптеген жүйелерде барлық пайдаланушылар ағымдағы орындалу деңгейін runlevel немесе who r командасы арқылы тексеруі мүмкін. Түбір пайдаланушы әдетте telinit немесе init командаларын орындау арқылы ағымдағы орындалу деңгейін өзгертеді. /etc/inittab файлы :initdefault: жазу арқылы әдеттегі орындалу деңгейін белгілейді. Unix жүйелерінде орындалу деңгейін өзгерту тек қана қажетті қызметтерді іске қосу арқылы жүзеге асырылады (өйткені әр деңгей тек іске қосылатын/тоқтатылатын қызметтерді анықтайды). Мысалы, жүйені 3-ші деңгейден 4-ші деңгейге ауыстыру жергілікті X серверін ғана іске қосуы мүмкін. Ал 3-ші деңгейге қайта оралғанда, ол қайтадан тоқтатылады.