Оболочка операционной системыОболо́чка операцио́нной систе́мы (от англ. shell «оболочка») — программа, предоставляющая интерфейс для взаимодействия пользователя с функциями системы. Основная функция операционной системы — исполнять прикладные программы и предоставлять программный интерфейс между программами и аппаратурой — и этого может хватать, если на устройстве работает, например, комплекс сбора данных с датчиков или MP3-плеер. В отличие от подобных специализированных устройств, компьютер общего назначения обязан запускать различные программы по командам пользователя — и ОС принимает эти команды с помощью программы-оболочки. В общем случае различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI). Командный интерпретаторДля обеспечения интерфейса командной строки в операционных системах часто используются командные интерпретаторы, которые могут представлять собой самостоятельные языки программирования с собственным синтаксисом и отличительными функциональными возможностями. В операционные системы MS-DOS и Windows 9x включён командный интерпретатор command.com, в Windows NT включён cmd.exe, начиная с Windows XP (пакет обновления 2) доступен PowerShell, который является встроенным компонентом ОС начиная с Windows 7 и Windows 2008 Server[1]. В UNIX-подобных системах у пользователя есть возможность менять командный интерпретатор, используемый по умолчанию. Из командных оболочек UNIX наиболее популярны bash, csh, ksh, zsh. ФункцииКомандный интерпретатор исполняет команды своего языка, заданные в командной строке или поступающие из стандартного ввода или указанного файла. Возможность переадресации ввода-вывода, а также исполнения команд из файла предусмотрена в командной строке[1]. В качестве команд интерпретируются вызовы системных или прикладных утилит, а также управляющие конструкции. Кроме того, оболочка отвечает за раскрытие шаблонов имен файлов и за перенаправление и связывание ввода-вывода утилит[1]. В совокупности с набором утилит оболочка представляет собой операционную среду, язык программирования и средство решения как системных, так и некоторых прикладных задач, в особенности автоматизации часто выполняемых последовательностей команд. Стандартный командный интерпретаторСтандартом POSIX (ISO/IEC 9945) (Том 3. Оболочка и утилиты) определён язык оболочки, включающий конструкции последовательного (перевод строки, точка с запятой), условного ( Стандартом также определён режим редактирования вводимых команд, являющийся подмножеством команд стандартного текстового редактора (vi). АльтернативыВ UNIX-подобных системах наиболее распространены такие языки командных интерпретаторов, как bash, sh и ksh, но также применяются альтернативные оболочки zsh, csh и tcsh, отличающиеся синтаксисом управляющих конструкций и поведением переменных[2]. Также отметим, что Microsoft в 2016 году открыла исходный код оболочки PowerShell, и в настоящее время она доступна для Linux, Mac и, естественно, Windows. Некоторые операционные системы поставляются с интерпретаторами собственных языков командных файлов (такими, как язык командных файлов MS-DOS и Windows, язык REXX в ОС OS/2) Многие пользователи и разработчики программного обеспечения пользуются для автоматизации часто выполняемых последовательностей команд операционной системы интерпретируемыми языками программирования, например, Perl или Python. Графическая оболочкаГрафические оболочки для WindowsПоследние версии операционной системы Windows используют в качестве своей оболочки интегрированную среду Проводника Windows. Проводник Windows представляет собой визуальную среду управления, включающую в себя Рабочий стол, Меню Пуск, Панель задач, а также функции управления файлами[1]. Ранние версии Windows 3.xx в качестве графической оболочки включают Диспетчер программ. Также существует большое количество альтернативных графических оболочек для Windows. Оболочки AndroidОболочка Android — операционная система на базе Android, которая может не зависит от AOSP, так как является форком и зачастую представляет собой не только изменённую графическую оболочку, но и модифицированные системные компоненты, а также поддержку от разработчика оболочки, которым в большинстве случаев является производитель смартфонов или планшетов.[3] Прошивки для смартфонов и планшетов, могут создаваться не только на базе системы Android, но на базе его форков, которые в сообществе называют оболочками. Примечания
Литература
|