Основная функция операционной системы — исполнять прикладные программы и предоставлять программный интерфейс между программами и аппаратурой — и этого может хватать, если на устройстве работает, например, комплекс сбора данных с датчиков или MP3-плеер. В отличие от подобных специализированных устройств, компьютер общего назначения обязан запускать различные программы по командам пользователя — и ОС принимает эти команды с помощью программы-оболочки.
Для обеспечения интерфейса командной строки в операционных системах часто используются командные интерпретаторы, которые могут представлять собой самостоятельные языки программирования с собственным синтаксисом и отличительными функциональными возможностями.
Командный интерпретатор исполняет команды своего языка, заданные в командной строке или поступающие из стандартного ввода или указанного файла. Возможность переадресации ввода-вывода, а также исполнения команд из файла предусмотрена в командной строке[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.
Оболочка Android — операционная система на базе Android, которая может не зависит от AOSP, так как является форком и зачастую представляет собой не только изменённую графическую оболочку, но и модифицированные системные компоненты, а также поддержку от разработчика оболочки, которым в большинстве случаев является производитель смартфонов или планшетов.[3]
Прошивки для смартфонов и планшетов, могут создаваться не только на базе системы Android, но на базе его форков, которые в сообществе называют оболочками.
Примечания
↑ 1234Гузенко Е.Н., Сурядный А.С. Персональный компьютер. — М.: Астрель, 2011. — С. 61-150. — 544 с. — ISBN 978-5-271-32156-6.