Shell (Операционные Системы)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:14, 24 августа 2017.

Shell (рус. Оболо́чка операцио́нной систе́мы) - представляет собой интерактивную компьютерную программу для доступа к сервисам операционной системы, по средствам командной строки (CLI) или ли графического интерфейса пользователя (GUI), в зависимости от роли компьютера и конкретной операции. Вместе с ядром она является одним из основных компонентов операционной системы

Основные функции

Командный интерпретатор исполняет команды своего языка, заданные в командной строке или поступающие из стандартного ввода или указанного файла. В качестве команд интерпретируются вызовы системных или прикладных утилит, а также управляющие конструкции. Кроме того, оболочка отвечает за раскрытие шаблонов имен файлов и за перенаправление и связывание ввода-вывода утилит.

В совокупности с набором утилит, оболочка представляет собой операционную среду, язык программирования и средство решения как системных, так и некоторых прикладных задач, в особенности, автоматизации часто выполняемых последовательностей команд.

Стандартный командный интерпретатор

Стандартом POSIX (ISO/IEC 9945) определён язык оболочки, включающий конструкции последовательного (перевод строки, точка с запятой), условного (if, case, ||, &&) и циклического (for, for in, while, until) исполнения команд, а также оператор присваивания. Стандартом также определён режим редактирования вводимых команд, являющийся подмножеством команд стандартного текстового редактора (vi).

Основные типы Shell

Текстовая (CLI)

Текстовая оболочка (или интерпретатор команд) представляет собой приложение с интерфейсом командной строки , которая выполняется в текстовом терминале . Типы пользователей в команде, или требования к выполнению программы или выполняемая программа отображается в терминале данных.

Один из самых известных CLI является традиционная "командная строка", которая хорошо известная специалистам , знакомым с операционными системами DOS (MS-DOS , DR-DOS , FreeDOS). Для пользователей MS-DOS и некоторых пользователей систем Microsoft Windows текстовой оболочкой является программа command.com . Даже системы семейства Windows NT имеют оболочки текст, например программа cmd.exe.
В UNIX и UNIX-подобныхоперационных система есть несколько видов текстовых оболочек. Среди наиболее известных - Bash (Bourne-Again Shell) или Korn-оболочка , но есть и другие , такие как С -оболочка , с набором основных функций и параметров. Есть также мощные инструменты, позволяющие связать различные программы для выполнения сложных задач. Современные текстовые оболочки обладают следующей эргономической характеристикой:

  • История выполненных команд (или истории команд ), что позволяет повторить последнюю команду, которую вы набрали;
  • Завершение команд (или завершение командной строки ), которая позволяет автоматически выбирать полные названия программ и файлов;
  • Контроль-центры, которые позволяют загружаться нескольким программам в фоновом режиме и дают возможность их временно приостанавливать.

В текстовых оболочках системы Unix интегрирован язык сценариев , с которыми вы можете написать реальные программы , которые могут, например ,автоматизировать задачи системного администрирования, что упрощает взаимодействие с системой. Синтаксис этого языка является продолжением того, который используется в интерактивном режиме, так что, кто знаком с интерактивным использованием оболочки легко для себя сможет составлять различные сценария взаимодействия.
Некоторые из особенностей текстовой оболочки системы Unix были приняты в той или иной степени от текстовых оболочек для систем Microsoft Windows , но есть продукты , которые предлагают Unix-подобную среду (и связанные с ними оболочки ), как, например, проекта Cygwin, или даже Microsoft Windows Services для UNIX.

Графическая (GUI)

Графическая оболочка представлена или так называемая GUI ( графический интерфейс пользователя , графических пользовательских интерфейсов), которые сопровождаются проработанным визуальным интерфейсом и позволяют воспринимать человеческому сознанию предлагаемые функции и инструменты более естественно и наглядно. В оболочках такого рода присутствуют элементы интерфейса взамен строкам текста, которые предоставляют функционал тех самых строк, а следовательно напрямую завязаны с ядром операционной системы или основным приложением, что позволяет выполнять сложные операции «двумя» кликами мыши. Основным недостатком GUI является их высокое потребление вычислительных ресурсов компьютера: она тяжелее и глобальной сетью можно удаленно управлять только за счет производительности и крайне высокой оптимизации. Многие опытные пользователи также считают их менее и менее гибкими.

Графическая оболочка это определенно шаг вперед для взаимодействия человека и машины, но командная строка не может быть заменена из-за ее мощности и скорости использования. Самая известная графическая оболочка, безусловно GNOME и KDE (в Unix и Unix-подобных системах), Finder (в Mac OS) и File Explorer (в системах Microsoft Windows)

Наиболее распространенные оболочки

Текстовые оболочки

  • Bash (оболочка типичная для систем GNU / Linux )
  • Bourne оболочки (оболочка из первых систем Unix )
  • C оболочки (оболочки популярные на Unix )
  • Z оболочки (известный как Zsh)
  • Korn оболочки (системы оболочки , обычно доступные на Unix )
  • Debian Альмквист оболочки (оболочки , используемый в Debian и производных для запуска системных скриптов)
  • cmd.exe (оболочка операционных систем семейства Windows NT)
  • command.com (оболочка операционной системы MS-DOS и некоторых системах Microsoft Windows )
  • Windows PowerShell (Advanced Shell для систем Microsoft Windows)

Графические оболочки

  • GNOME ( что характерно для GNU / Linux и Solaris 10 )
  • KDE ( что характерно для GNU/ Linux )
  • Xfce ( что характерно для систем GNU / Linux )
  • Common Desktop Environment ( как правило, доступны для систем Unix )
  • Finder (оболочка систем Mac OS )
  • File Explorer (оболочка системы Microsoft Windows )
  • Unity (Official оболочка Ubuntu)

Другие виды использования Shell

«Шелл» также широко используется для описания прикладного программного обеспечения, которое "построено вокруг" конкретного объекта, таких как веб-браузеры и почтовые клиенты. В экспертных системах, оболочка представляет собой часть программного обеспечения, которое является "пустой" экспертной системой без базы знаний и отсутствием конкретного применения.

Источники