Оболочка (вычисления) - Shell (computing)

Графический интерфейс конца 1980-х годов, в котором есть окно TUI для страницы руководства, окно формы (oclock), а также несколько окон с иконками . В правом нижнем углу мы видим эмулятор терминала, работающий под управлением оболочки Unix , в которой пользователь может вводить команды, как если бы они сидели за терминалом .

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

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

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

Обзор

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

Большинство оболочек операционной системы не являются прямыми интерфейсами с базовым ядром, даже если оболочка взаимодействует с пользователем через периферийные устройства, подключенные к компьютеру напрямую. Оболочки - это на самом деле специальные приложения, которые используют API ядра точно так же, как и другие прикладные программы. Оболочка управляет взаимодействием пользователя с системой, предлагая пользователям вводить данные, интерпретируя их ввод, а затем обрабатывая вывод из базовой операционной системы (во многом как цикл чтения – оценки – печати, REPL ). Поскольку оболочка операционной системы на самом деле является приложением, ее можно легко заменить другим аналогичным приложением для большинства операционных систем.

Помимо оболочек, работающих в локальных системах, существуют различные способы сделать удаленные системы доступными для локальных пользователей; такие подходы обычно называют удаленным доступом или удаленным администрированием. Первоначально доступный на многопользовательских мэйнфреймах , которые предоставляли текстовые пользовательские интерфейсы для каждого активного пользователя одновременно с помощью текстового терминала, подключенного к мэйнфрейму через последовательную линию или модем , удаленный доступ распространился на Unix-подобные системы и Microsoft Windows. В Unix-подобных системах протокол Secure Shell обычно используется для текстовых оболочек, а туннелирование SSH может использоваться для графических интерфейсов пользователя (GUI) на основе системы X Window. В Microsoft Windows протокол удаленного рабочего стола может использоваться для обеспечения удаленного доступа с графическим интерфейсом пользователя, а начиная с Windows Vista , PowerShell Remote может использоваться для удаленного доступа на основе текста через WMI, RPC и WS-Management.

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

Оболочки командной строки

Командная строка , оболочка CLI в Windows
Bash , широко распространенная оболочка Unix

Интерфейс командной строки (CLI) , представляет собой систему оболочки операционной , которая использует буквенно - цифровые символы , набранные на клавиатуре , чтобы предоставить инструкции и данные в операционную систему, в интерактивном режиме . Например, телетайп может посылать коды, представляющие нажатия клавиш, программе интерпретатора команд, работающей на компьютере; интерпретатор команд анализирует последовательность нажатий клавиш и отвечает сообщением об ошибке, если он не может распознать последовательность символов или может выполнить какое-либо другое действие программы, такое как загрузка прикладной программы, перечисление файлов, вход пользователя в систему и многие другие. Операционные системы, такие как UNIX, имеют большое количество программ оболочки с различными командами, синтаксисом и возможностями, причем оболочка POSIX является базовой. Некоторые операционные системы имели только один стиль командного интерфейса; стандартные операционные системы, такие как MS-DOS, поставлялись со стандартным командным интерфейсом ( COMMAND.COM ), но также часто были доступны сторонние интерфейсы, обеспечивающие дополнительные возможности или функции, такие как меню или удаленное выполнение программы.

Прикладные программы также могут реализовывать интерфейс командной строки. Например, в Unix-подобных системах программа telnet имеет ряд команд для управления каналом связи с удаленной компьютерной системой. Поскольку команды для программы состоят из тех же нажатий клавиш, что и данные, отправляемые на удаленный компьютер, требуются некоторые средства их различения. Последовательность выхода можно определить, используя либо специальное локальное нажатие клавиши , который никогда не передается , но всегда на истолкована в локальной системе. Программа становится модальной, переключаясь между интерпретацией команд с клавиатуры или передачей нажатий клавиш в качестве данных для обработки.

Особенностью многих оболочек командной строки является возможность сохранять последовательности команд для повторного использования. Файл данных может содержать последовательности команд, которым CLI может следовать, как если бы они были введены пользователем. При выполнении этих сохраненных инструкций могут применяться специальные функции в интерфейсе командной строки. Такие командные файлы ( файлы сценариев) можно многократно использовать для автоматизации рутинных операций, таких как инициализация набора программ при перезапуске системы. Использование оболочек в пакетном режиме обычно включает структуры, условные выражения, переменные и другие элементы языков программирования; некоторые из них имеют самое необходимое для этой цели, другие сами по себе являются очень сложными языками программирования. И наоборот, некоторые языки программирования можно использовать в интерактивном режиме из оболочки операционной системы или в специально созданной программе.

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

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

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

Большинство графических пользовательских интерфейсов развивают метафору «электронного рабочего стола» , где файлы данных представлены так, как если бы они были бумажными документами на столе, а прикладные программы аналогичным образом имеют графическое представление, а не вызываются по именам команд.

Unix-подобные системы

Операция перетаскивания, выполняемая над группой файлов между KDesktop и Konqueror в KDE

Графические оболочки обычно строятся поверх оконной системы . В случае X Window System или Wayland оболочка состоит из диспетчера окон X или композитора Wayland , соответственно, а также из одной или нескольких программ, обеспечивающих функциональность для запуска установленных приложений, управления открытыми окнами и виртуальными рабочими столами и часто для поддержки движка виджетов.

В случае MacOS , Кварц можно рассматривать как Windowing системы, и оболочка состоит из Finder , в Dock , SystemUIServer и управления полетом .

Майкрософт Виндоус

Современные версии операционной системы Microsoft Windows используют оболочку Windows в качестве своей оболочки. Оболочка Windows предоставляет среду рабочего стола , меню «Пуск» и панель задач , а также графический пользовательский интерфейс для доступа к функциям управления файлами операционной системы. Более старые версии также включают Program Manager , который был оболочкой для Microsoft Windows серии 3.x и фактически поставлялся с более поздними версиями Windows 95 и NT, по крайней мере, через Windows XP. Интерфейсы Windows версий 1 и 2 заметно отличались.

Настольные приложения также считаются оболочками, если они используют сторонний движок. Точно так же многие люди и разработчики, недовольные интерфейсом Windows Explorer, разработали программное обеспечение, которое либо изменяет функционирование и внешний вид оболочки, либо полностью заменяет ее. WindowBlinds от StarDock - хороший пример приложения первого типа. LiteStep и Emerge Desktop - хорошие примеры последнего.

Программы взаимодействия и специализированное программное обеспечение позволяют пользователям Windows использовать эквиваленты многих различных графических интерфейсов пользователя на основе Unix, обсуждаемых ниже, а также Macintosh. Эквивалент OS / 2 Presentation Manager для версии 3.0 может запускать некоторые программы OS / 2 при определенных условиях, используя подсистему среды OS / 2 в версиях Windows NT.

Другое использование

«Оболочка» также используется в широком смысле для описания прикладного программного обеспечения, которое «построено на основе» определенного компонента, такого как веб-браузеры и почтовые клиенты, по аналогии с оболочками, встречающимися в природе. Действительно, оболочка (командной строки) инкапсулирует ядро операционной системы . Их также иногда называют «обертками».

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

Смотрите также

использованная литература