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

Графический интерфейс конца 1980-х годов с TUI окно для страница руководства. Другое текстовое окно для оболочка Unix частично виден.

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

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

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

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В случае macOS, Кварцевый можно рассматривать как оконную систему, а оболочка состоит из Finder,[5] то Док,[5] SystemUIServer,[5] и Управление полетами.[6]

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

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

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

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

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

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

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

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

Рекомендации

  1. ^ «Пятый человек Интернета», Сканирование мозга, Экономист, Лондон: Группа экономистов, 13 декабря 2013 г., Г-н Пузен создал программу под названием RUNCOM, которая помогла пользователям автоматизировать утомительные и повторяющиеся команды. Эта программа, которую он описал как «оболочку» вокруг вращающихся внутренностей компьютера, дала вдохновение - и название - целому классу программных инструментов, называемых оболочками командной строки, которые до сих пор скрываются за поверхностью современных операционных систем.
  2. ^ а б Раймонд, Эрик С. (ред.). "ракушка". Файл жаргона.
  3. ^ «Оболочки операционной системы». Информационный центр AIX 6.1. IBM Корпорация. Получено 16 сентября, 2012.
  4. ^ Уилер, Шон (14 октября 2018 г.). «Выполнение удаленных команд». Документы Microsoft. Microsoft. Получено 30 июн 2019. Вы можете запускать команды на одном или сотнях компьютеров с помощью одной команды PowerShell. Windows PowerShell поддерживает удаленные вычисления с использованием различных технологий, включая WMI, RPC и WS-Management.
  5. ^ а б c «Жизненный цикл демона». Apple Inc.
  6. ^ «Перезапустите Mission Control в OS X Lion». OSXDaily. 23 ноября 2011 г.
  7. ^ Британское компьютерное общество: глоссарий терминов ИКТ и вычислительной техники BCS. Pearson Education. 2005. с. 135. ISBN  978-0-13-147957-9.