Оболочка операционной системы
Оболо́чка операцио́нной систе́мы (от англ. 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. Оболочка и утилиты) определён язык оболочки, включающий конструкции последовательного (перевод строки, точка с запятой), условного (if
, case
, ||
, &&
) и циклического (for
, for in
, while
, until
) исполнения команд, а также оператор присваивания.
Стандартом также определён режим редактирования вводимых команд, являющийся подмножеством команд стандартного текстового редактора (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, но на базе его форков, которые в сообществе называют оболочками.
Примечания
[править | править код]- ↑ 1 2 3 4 Гузенко Е.Н., Сурядный А.С. Персональный компьютер. — М.: Астрель, 2011. — С. 61-150. — 544 с. — ISBN 978-5-271-32156-6.
- ↑ Керниган Б., Пайк. Unix programming environment.
- ↑ Fire OS . Дата обращения: 10 июля 2020. Архивировано 29 июня 2021 года.
Литература
[править | править код]- Бибарсов М. Р., Бибарсова Г. Ш., Кузьминов Ю. В. «Операционные системы, среды и оболочки: Учебное пособие». Ставрополь: Изд-во СГПИ, 2010. — 120 с.