Кіріспе

Операциялық жүйенің қызметтерін адамға немесе басқа бағдарламаларға ашатын компьютерлік бағдарлама. Компьютерлік саласында, қабықша – операциялық жүйенің қызметтерін адам пайдаланушысына немесе басқа бағдарламаларға ашатын компьютерлік бағдарлама. Әдетте, операциялық жүйе қабықшалары компьютердің мақсатына және нақты операциясына қарай командалық қатар интерфейсін (CLI) немесе графикалық пайдаланушы интерфейсін (GUI) пайдаланады. Ол операциялық жүйенің ең сыртқы қабаты болғандықтан қабықша деп аталады.

Шолу

Операциялық жүйелер пайдаланушыларына файлдық басқару, процестерді басқару (қосымшаларды іске қосу және тоқтату), пакеттік өңдеу, операциялық жүйені бақылау және конфигурациялау сияқты түрлі қызметтерді ұсынады. Көптеген операциялық жүйелердің қабықшалары (shell) негізгі ядромен тікелей интерфейс емес, тіпті егер қабықша компьютерге тікелей қосылған перифериялық құрылғылар арқылы пайдаланушымен байланысса да. Қабықшалар – бұл басқа қолданба бағдарламалары сияқты ядролық API-ді пайдаланатын арнайы қолданбалар. Қабықша пайдаланушы-жүйе өзара әрекеттесуін басқару үшін пайдаланушылардан енгізуді сұрайды, олардың енгізгенін түсіндіреді, содан кейін негізгі операциялық жүйеден шығысты өңдейді (оқу-бағалау-басып шығару циклы сияқты, REPL). Операциялық жүйе қабықшасы іс жүзінде қолданба болғандықтан, оны көптеген операциялық жүйелерде басқа ұқсас қолданбамен оңай алмастыруға болады. Жергілікті жүйелерде жұмыс істейтін қабықшалардан басқа, қашық жүйелерді жергілікті пайдаланушыларға қолжетімді етудің әртүрлі тәсілдері бар; мұндай тәсілдер әдетте қашықтан қол жеткізу немесе қашықтан басқару деп аталады. Бұл мүмкіндік алғаш рет көп пайдаланушылы мейнфреймдерде пайда болды, олар сериялық желі немесе модем арқылы мейнфреймге қосылған мәтіндік терминал арқылы әрбір белсенді пайдаланушыға бір мезгілде мәтіндік интерфейс ұсынды. Кейін қашықтан қол жеткізу Unix сияқты жүйелерге және Microsoft Windows-қа тарады. Unix сияқты жүйелерде мәтіндік қабықшалар үшін әдетте Secure Shell протоколы (SSH) қолданылады, ал SSH туннельдеуі X Window System негізіндегі графикалық пайдаланушы интерфейстеріне (GUI) қолданылуы мүмкін. Microsoft Windows-та GUI қашықтан қол жеткізу үшін Remote Desktop Protocol қолданылады, ал Windows Vista нұсқасынан бастап PowerShell Remote WMI, RPC және WS Management арқылы мәтіндік қашықтан қол жеткізу үшін қолданылуы мүмкін. Көптеген операциялық жүйе қабықшалары екі санатқа бөлінеді: командалық және графикалық. Командалық қабықшалар операциялық жүйеге командалық жол интерфейсін (CLI) ұсынады, ал графикалық қабықшалар графикалық пайдаланушы интерфейсін (GUI) ұсынады. Басқа мүмкіндіктерге, бірақ олар жиі кездеспейді, дауыстық пайдаланушы интерфейсі және мәтіндік меню жүйелері сияқты CLI емес мәтіндік пайдаланушы интерфейсінің (TUI) әртүрлі нұсқалары жатады. CLI және GUI негізделген қабықшалардың тиімділігі жиі талқыланады. Көптеген компьютер пайдаланушылары орындалатын міндетке байланысты екеуін де қолданады.

Тарих

Ертедегі интерактивті жүйелер резиденттік монитордың бір бөлігі ретінде қарапайым командалық жол интерпретаторымен жабдықталды. Бұл интерпретатор DEC TOPS 10 жүйелеріндегі COMCON сияқты түрлі атаулармен аталуы мүмкін. Интерпретатор алдын ала анықталған командалардың бірін орындайтын, соның ішінде пайдаланушы бағдарламасын іске қосу. Көбінесе қолданылатын командалар пайдаланушыны жүйеге кіргізу және одан шығу, құрылғылар мен файлдарды бөлу, босату және басқару, сондай-ақ жүйе немесе пайдаланушы процесі туралы түрлі ақпаратты сұрау мүмкіндігін қамтамасыз ететін. 1964 жылы Луи Пузин Multics операциялық жүйесі үшін «командаларды бағдарламалау тілі сияқты қолдану» идеясын ұсынды және оны сипаттау үшін «қабықша» терминін енгізді. 1965 жылғы құжатта қабықша «пайдаланушы консольде белгілі бір хабарды теріп жазғанда, консоль бақылауында басқа ешқандай процесс іске қосылмағанда, бақылаушы автоматты түрде шақыратын ортақ процедура» деп анықталған. Бұл процедура консоль хабарлары мен бақылаушыдағы қосалқы бағдарлама арасындағы интерфейс ретінде қызмет етеді. Бұл жүйені алғаш рет Гленда Шрёдер және General Electric компаниясынан аты-жөні белгісіз бір адам жүзеге асырды. Multics сонымен қатар кейінгі барлық қабықшаларда маңызды ұғым болып табылатын белсенді функцияны да енгізді. Бұл функция оны қамтитын команда жолы орындалғанға дейін, мінездемелік тізбекпен алмастырылатын тізбек ретінде анықталады. Белсенді функциялар командалық тіл макростарын іске асыру үшін жиі қолданылады. 1971 жылы Кен Томпсон Unix жүйесінің бірінші нұсқасында Томпсон қабықшасын жасады. Multics қабықшасына қарағанда қарапайым болғанымен, ол инновациялық мүмкіндіктерге ие болды, олар қазіргі заманғы қабықшаларда сақталды, соның ішінде кіріс және шығыс бағыттау үшін < және > белгілерін пайдалану. Графикалық қабықша алғаш рет Дуглас Энгельбарттың NLS жүйесінде пайда болды, ол 1968 жылдың желтоқсан айында Сан-Францискодағы Күзгі бірлескен компьютерлік конференцияда көрсетілді, бұл «Барлық демонстрациялардың анасы» деп аталды. Энгельбарттың Стэнфорд зерттеу институтындағы әріптестері бұл ұғымды Xerox Palo Alto Research Center (PARC) компаниясына жеткізді, онда ол 1973 жылы ұсынылған Alto компьютерінде пайда болды. Содан кейін бұл идея 1980 жылы Никлаус Вирттің Lilith және 1983 жылы Apple Lisa жүйелеріне тарады, содан кейін кеңінен таралды.

Командалық желілік снарядтар

Командалық желі интерфейсі (CLI) – операциялық жүйе қабығы, ол операциялық жүйеге нұсқаулар мен деректерді интерактивті түрде беру үшін пернетақтада терілген әріптік-сандық символдарды пайдаланады. Мысалы, телетайппир компьютерде жұмыс істейтін командалық интерпретаторға пернелерді басуды көрсететін кодтарды жібере алады; командалық интерпретатор пернелердің тізбегін талдайды және егер символдар тізбегін танымаса, қате туралы хабарлама береді немесе қолданба бағдарламасын жүктеу, файлдарды тізімдеу, пайдаланушыны тіркеу және тағы басқалар сияқты басқа бағдарламалық әрекеттерді орындай алады. UNIX сияқты операциялық жүйелерде әртүрлі командалармен, синтаксисімен және мүмкіндіктерімен көптеген түрлі қабықша бағдарламалары бар, ал POSIX қабықшасы – базалық нұсқа. Кейбір операциялық жүйелерде командалық интерфейстің бір ғана түрі болды; MS DOS сияқты тауарлық операциялық жүйелер стандартты командалық интерфейспен (COMMAND.COM) келді, бірақ үшінші тарап интерфейстері де жиі қол жетімді болды, олар мәзірлер немесе бағдарламаны қашықтан орындау сияқты қосымша мүмкіндіктерді немесе функцияларды ұсынды. Қолданба бағдарламалары да командалық желі интерфейсін іске асыра алады. Мысалы, Unix сияқты жүйелерде telnet бағдарламасы қашықтағы компьютер жүйесіне қосылысты басқару үшін бірнеше командаларды қамтиды. Бағдарламаға берілген командалар қашықтағы компьютерге жіберілетін деректерге ұқсас пернелерді басу арқылы жасалғандықтан, оларды ажыратудың кейбір тәсілдері қажет. Жергілікті жүйе ешқашан жібермейтін, бірақ әрқашан жергілікті жүйемен интерпретацияланатын арнайы жергілікті перне комбинациясын пайдаланып, құтылу тізбегін анықтауға болады. Бағдарлама режимді болады, пернетақтадан командаларды интерпретациялау немесе өңделуге тиіс деректер ретінде пернелерді жіберу арасында ауысады. Көптеген командалық қабықшалардың ерекшелігі – командалар тізбектерін қайта пайдалану үшін сақтау мүмкіндігі. Деректер файлында пайдаланушы теріп бергендей CLI орындайтын командалар тізбегі болуы мүмкін. Осы сақталған нұсқауларды орындаған кезде CLI-да арнайы мүмкіндіктер қолданылуы мүмкін. Мұндай пакеттік файлдарды (скрипт файлдарын) жүйе қайта іске қосылған кезде бағдарламалар жиынтығын инициализациялау сияқты жүйелі операцияларды автоматтандыру үшін бірнеше рет пайдалануға болады. Қабықшаларды пакеттік режимде пайдалану әдетте құрылымдарды, шарттарды, айнымалыларды және бағдарламалау тілдерінің басқа элементтерін қамтиды; кейбіреулерінде мұндай мақсат үшін қажетті ең негізгі мүмкіндіктер бар, ал басқалары өздері өте күрделі бағдарламалау тілдері болып табылады. Керісінше, кейбір бағдарламалау тілдерін операциялық жүйе қабығынан немесе арнайы жасалған бағдарламада интерактивті түрде пайдалануға болады. Xonsh, Bash (Unix қабықшасы) және Z қабықшасы сияқты бірнеше командалық желі қабықшалары командалық жолды толықтыруды ұсынады, бұл интерпретаторға пайдаланушы енгізген бірнеше символға негізделген командаларды кеңейтуге мүмкіндік береді. Командалық желі интерпретаторы тарих функциясын ұсына алады, соның арқасында пайдаланушы жүйеге берілген бұрынғы командаларды еске түсіріп, оларды, мүмкін, кейбір түзетулермен қайталай алады. Операциялық жүйеге барлық командаларды пайдаланушы теруі керек болғандықтан, қысқа командалық атаулар мен бағдарлама опцияларын көрсетуге арналған ықшам жүйелер кең таралған. Қысқа атауларды пайдаланушының есте сақтауы қиын болды, ал алғашқы жүйелерде егжей-тегжейлі онлайн пайдаланушы нұсқаулықтарын ұсыну үшін жеткілікті жад ресурстары болмады.

Графикалық қоршаулар

Графикалық пайдаланушы интерфейсі (GUI) бағдарламаларды графикалық түрде өңдеу құралдарын ұсынады, терезелерді ашу, жабу, жылжыту және мөлшерін өзгерту сияқты операцияларды, сондай-ақ терезелер арасында назар аударуды қамтамасыз етеді. Графикалық қабықтар жұмыс үстеліне кіріктірілуі мүмкін немесе жеке түрде, тіпті байланысқан утилиталар жиынтығы ретінде келеді. Көптеген графикалық пайдаланушы интерфейстері «электрондық жұмыс үстелі» метафорасын дамытады, онда деректер файлдары кеңседегі қағаз құжаттары сияқты көрсетіледі, ал қосымша бағдарламалар командалық атаулармен шақырылудың орнына графикалық бейнеленуге ие болады.

Microsoft Windows-тың жүйелік жүйесі

Microsoft Windows операциялық жүйесінің қазіргі заманғы нұсқалары өздерінің қабығы ретінде Windows қабығын пайдаланады. Windows Shell жұмыс үстелінің ортасын, бастау мәзірін және тапсырмалар панелін, сондай-ақ операциялық жүйенің файлдарды басқару функцияларына қол жеткізуге арналған графикалық пайдаланушы интерфейсін ұсынады. Ескі нұсқаларына Microsoft Windows 3.x сериясының қабығы болған Program Manager да кіреді, ол Windows 95 және NT түрлерінің кейінгі нұсқаларымен, кем дегенде Windows XP-ге дейін бірге келді. Windows 1 және 2 нұсқаларының интерфейстері едәуір өзгеше болды. Үшінші тараптық қозғалтқышты пайдаланса, үстелдік қолданбалар да қабықшалар деп есептеледі. Сол сияқты, Windows Explorer интерфейсіне наразы болған көптеген жеке тұлғалар мен әзірлеушілер қабықтың жұмысын және сыртқы түрін өзгертетін немесе оны толығымен ауыстыратын бағдарламалық жасақтама жасады. StarDock компаниясының WindowBlinds бағдарламасы осындай қолданбалардың жақсы мысалы. LiteStep және Emerge Desktop олардың тағы бір мысалы. Операциялық үйлесімділік бағдарламалары мен мақсатты бағдарламалық қамтамасыз ету Windows пайдаланушыларына төменде талқыланған түрлі Unix негізделген GUI-лардың және Macintosh-тың баламаларын пайдалануға мүмкіндік береді. Windows NT нұсқаларындағы OS/2 орталық кіші жүйесін пайдаланып, OS/2 Presentation Manager 3.0 нұсқасына балама ретінде кейбір OS/2 бағдарламаларын белгілі бір жағдайларда іске асыруға болады.

Басқа қолданыстар

"Shell" сонымен қатар, веб-браузерлер және электрондық пошта клиенттері сияқты, белгілі бір компоненттің "негізінде құрылған" қолданбалық бағдарламалық жасақтаманы сипаттау үшін кең мағынада қолданылады, бұл табиғаттағы қабықшаларға ұқсас. Шындығында, (командалық жол) қабықшасы операциялық жүйенің ядросын қамтиды. Мұндай бағдарламалар кейде "орауыштар" деп те аталады.