Что такое оболочка операционной системы
Оболочка операционной системы
Оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI).
Содержание
Командный интерпретатор
Для обеспечения интерфейса командной строки в операционных системах часто используются командные интерпретаторы, которые могут представлять собой самостоятельные языки программирования, с собственным синтаксисом и отличительными функциональными возможностями.
В операционные системы MS-DOS и Windows 9x включён командный интерпретатор command.com, в Windows NT включён cmd.exe, начиная с Windows XP (пакет обновления 2) доступен PowerShell, который является встроенным компонентом ОС начиная с Windows 7 и Windows 2008 Server.
В семействе командных оболочек UNIX наиболее популярны bash, csh, ksh, zsh, в UNIX-подобных системах у пользователя есть возможность менять командный интерпретатор, используемый по умолчанию.
Функции
Командный интерпретатор исполняет команды своего языка, заданные в командной строке или поступающие из стандартного ввода или указанного файла.
В качестве команд интерпретируются вызовы системных или прикладных утилит, а также управляющие конструкции. Кроме того, оболочка отвечает за раскрытие шаблонов имен файлов и за перенаправление и связывание ввода-вывода утилит.
В совокупности с набором утилит, оболочка представляет собой операционную среду, язык программирования и средство решения как системных, так и некоторых прикладных задач, в особенности, автоматизации часто выполняемых последовательностей команд.
Стандартный командный интерпретатор
Стандартом также определён режим редактирования вводимых команд, являющийся подмножеством команд стандартного текстового редактора (vi).
Альтернативы
В UNIX-подобных системах наиболее распространены такие языки командных интерпретаторов как bash, sh и ksh, но также применяются альтернативные оболочки zsh, csh и tcsh, отличающиеся синтаксисом управляющих конструкций и поведением переменных.
Некоторые операционные системы поставляются с интерпретаторами собственных языков командных файлов (такими, как язык командных файлов MS-DOS и Windows, язык REXX в ОС OS/2)
Многие пользователи и разработчики программного обеспечения пользуются для автоматизации часто выполняемых последовательностей команд операционной системы интерпретируемыми языками программирования, например, Perl или Python.
Графическая оболочка
Графические оболочки для Windows
Последние версии операционной системы Windows используют в качестве своей оболочки интегрированную среду Проводника Windows. Проводник Windows представляет собой визуальную среду управления включающую в себя Рабочий стол, Меню Пуск, Панель задач, а также функции управления файлами. Ранние версии Windows 3.xx в качестве графической оболочки включают менеджер программ.
Полезное
Смотреть что такое «Оболочка операционной системы» в других словарях:
Оболочка UNIX — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Оболочка — В астрономии: Оболочка газообразная область, окружающая одну или несколько звезд (или любых других астрономических объектов). В сопротивлении материалов: Оболочка геометрическая форма тела, у которого один из размеров значительно меньше… … Википедия
Оболочка Windows — Проводник Windows это приложение, реализующее графический интерфейс доступа пользователя к файлам в операционной системе Microsoft Windows. Аналог Проводника имеется и в открытой графической оболочки пользователя Windows. Содержание 1 Об… … Википедия
Командная оболочка — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
Командная оболочка UNIX — (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства UNIX, в котором пользова … Википедия
Unity (оболочка рабочего стола) — У этого термина существуют и другие значения, см. Unity (значения) … Википедия
Командный процессор — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
Shell (командная строка) — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
9P — (или протокол файловой системы Plan 9 или Styx) сетевой протокол, разработанный для распределённой операционной системы Plan 9 для организации соединения компонентов операционной системы Plan 9. Ключевыми объектами системы Plan 9 являются… … Википедия
Фоновая задача — (фоновой процесс) это процесс, который работает в фоне, на заднем плане. Имеется в виду, что оболочка операционной системы, которая выполняет фоновый процесс, не ждёт завершения или окончания процесса, как это происходит с обычными… … Википедия
Лекция по информатике на тему: «Операционные системы: определение, состав, функции, типы, место в составе программного обеспечения ЭВМ. Оболочки операционных систем».
Онлайн-конференция
«Современная профориентация педагогов
и родителей, перспективы рынка труда
и особенности личности подростка»
Свидетельство и скидка на обучение каждому участнику
Раздел 1. Информатика
Операционные системы: определение, состав, функции, типы, место в составе программного обеспечения ЭВМ. Оболочки операционных систем.
Операционная система – комплекс программ, обеспечивающих управление аппаратными и программными ресурсами компьютера, а также осуществляющих диалог пользователя и ЭВМ.
ОС имеет три основных функции:
диспетчерские – координация работы всех аппаратных устройств компьютера, таких, как память, принтеры, диски и т.д., Сюда входит распределение и освобождение оперативной памяти ЭВМ, слежение за использованием процессорного времени, проверка готовности того или иного устройства ЭВМ, включенного в обработку текущей задачи.
сервисные – организация хранения файлов на всевозможных носителях (дискеты, жесткие диски, оптические диски, кассеты), выполнение операций с файлами (копирование, переименование, архивирование и т.д.)
функция обработчика прерываний – слежение за сбоями аппаратного обеспечения, прерывание работы программы при обнаружении ошибок, их анализ и возможное устранение.
Помимо этого, к функциям ОС можно отнести:
определение интерфейса пользователя;
обеспечивание разделение аппаратных ресурсов между пользователями;
предоставление возможность работ с общими данными;
планирование доступа к общим ресурсам;
эффективное использование операций ввода-вывода;
Состав ОС, ее основные компоненты:
Однопрограммные (однозадачные) ОС и многопрограммные (многозадачные) ОС.
Консольные (для автономных ПК) и сетевые (поддерживают работу ПК в сети) ОС.
ОС с командным ( MS DOS ) и графическим интерфейсом ( Windows ).
Многопроцессорные ОС (поддерживают работу нескольких процессоров).
Место ОС в составе программного обеспечения ЭВМ:
Программное обеспечение ( Software ) – совокупность программ обработки данных и необходимых для их эксплуатации документов. Системное ПО ( System Software ) – совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ. Базовое ПО ( Base Software ) – минимальный набор программных средств, обеспечивающих работу компьютера.
Операционные оболочки ( shell ) – специальные программы, предназначенные для облегчения общения пользователя с командами операционной системы.
Оболочки ОС модифицируют только пользовательский интерфейс, повышая его уровень (в основном за счет «меню» и использования функциональных клавиш), а также предоставляя дополнительные возможности пользователю.
Интерфейс ( interface ) – совокупность средств сопряжения и связи устройств компьютера, обеспечивающая их эффективное взаимодействие.
Аппаратный интерфейс определяет тип стыка, уровни сигналов и другие параметры канала связи. Программный интерфейс определяет совокупность допустимых процедур или операций, список общих областей памяти или других объектов. Пользовательский интерфейс – программные и аппаратные средства взаимодействия пользователя с программой или ЭВМ, определяет внешний вид программного продукта.
Оболочки ОС предоставляют пользователю качественно новый интерфейс, по сравнению с предоставляемым ОС, который освобождает пользователя-непрофессионала от знания ОС.
Эти программные комплексы существенно упрощают задание общеупотребительных действий и предлагают пользователю дополнительные услуги. Тем не менее, пользователю-профессионалу приходится изучать соответствующий интерфейс ОС, так как существующие оболочки не могут его полностью заменить.
Большинство распространенных оболочек ОС, обладающих универсальностью предоставляемого интерфейса, обеспечивают:
работу с файлами и каталогами, в том числе:
а) манипулирование файлами (создание, копирование, переименование, удаление и быстрый поиск по заданному образцу);
б) выдачу и смену характеристик файлов (времени, даты создания, размера, прав доступа и т.п.);
в) выдачу содержимого каталогов в естественном порядке, а также в отсортированном по определенному критерию виде (по имени файла, расширению, дате и времени создания или размеру);
г) выдачу части (фильтрацию) содержимого каталогов в соответствии с образцом составного имени файла;
д) сравнения содержимого каталогов;
e) выдачу файловой структуры в виде дерева;
ж) манипулирование каталогами (создание, удаление, переименование, иногда – копирование и пересылку каталогов);
просмотр как текстовых файлов (в формате ASCII ), так и файлов, подготовленных в специальных форматах различными популярными системными и прикладными программными продуктами. Для этого используются соответствующие программы просмотра (визуализаторы);
редактирование текстовых файлов встроенным или внешним текстовым редактором;
создание пользовательских меню для упрощения запуска часто используемых системных и прикладных программ;
выдачу сведений о размещении информации на дисках (например, о степени его занятости), а также об ОЗУ;
доступ к пользовательскому интерфейсу ОС, в частности, для запуска на выполнение системных и прикладных программ;
освобождение большей части занимаемой памяти при запуске внешней программы (в ОЗУ остается лишь небольшое резидентное ядро) и автоматическое восстановление состояния оболочки после завершения выполнения этой программы.
Возможна реализация и других дополнительных функций. Для всех оболочек характерна та или иная степень защиты от ошибок пользователя. Это может, например, уменьшить вероятность случайного удаления файлов. Операционные оболочки имеют текстовый и графический варианты пользовательского интерфейса.
Наиболее популярны следующие виды текстовых оболочек ОС MS DOS :
Norton Commander 5.0
Наиболее популярными из графических оболочек ОС MS DOS являлись:
Windows 3.11 for WorkGroup ( для рабочих групп )
Данные операционные оболочки позволяют изменить среду взаимодействия пользователя с компьютером, расширяют набор основных и сервисных функций. Впоследствии данные операционные оболочки были заменены графической операционной системой Windows 95.
Архитектура, назначение и функции операционных систем
1.1. Понятие операционной системы. Виртуальные машины
Упомянутые два способа решения проблемы различаются тем, каким образом компьютер будет выполнять программы, написанные на языке Я1. Первый способ – замена каждой команды языка Я1 на эквивалентный набор команд в языке Я0. В этом случае компьютер выполняет новую программу, написанную на языке Я0, вместо программы, написанной на языке Я1. Эта технология называется трансляцией.
В подобной ситуации проще представить себе существование гипотетического компьютера или виртуальной машины, для которой машинным языком является язык Я1, чем думать о трансляции и интерпретации. Назовем такую виртуальную машину М1, а виртуальную машину с языком Я0 – М0. Для виртуальных машин можно будет писать программы, как будто они (машины) действительно существуют.
Большинство современных компьютеров состоит из двух и более уровней. Уровень 0 – аппаратное обеспечение машины. Электронные схемы этого уровня выполняют программы, написанные на языке уровня 1. Следующий уровень – микроархитектурный уровень.
На этом уровне можно видеть совокупности 8 или 32 (иногда и больше) регистров, которые формируют локальную память и АЛУ ( арифметико-логическое устройство ). Регистры вместе с АЛУ формируют тракт данных, по которому поступают данные. Основная операция этого тракта заключается в следующем. Выбирается один или два регистра, АЛУ производит над ними какую-то операцию, а результат помещается в один из этих регистров. На некоторых машинах работа тракта контролируется особой программой, которая называется микропрограммой. В других машинах такой контроль выполняется аппаратным обеспечением.
Следующий (второй) уровень составляет уровень архитектуры системы команд. Команды используют регистры и другие возможности аппаратуры. Команды формируют уровень ISA ( Instruction Set Architecture ), называемый машинным языком. Обычно машинный язык содержит от 50 до 300 команд, служащих преимущественно для перемещения данных по компьютеру, выполнения арифметических операций и сравнения величин.
Новые средства, появившиеся на третьем уровне, выполняются интерпретатором, который работает на втором уровне. Этот интерпретатор был когда-то назван операционной системой. Команды третьего уровня, идентичные командам второго уровня, выполняются микропрограммой или аппаратным обеспечением, но не операционной системой. Иными словами, одна часть команд третьего уровня интерпретируется операционной системой, а другая часть – микропрограммой. Вот почему этот уровень операционной системы считается гибридным.
Операционная система была создана для того, чтобы автоматизировать работу оператора и скрыть от пользователя сложности общения с аппаратурой, предоставив ему более удобную систему команд. Нижние три уровня (с нулевого по второй) конструируются не для того, чтобы с ними работал обычный программист. Они изначально предназначены для работы интерпретаторов и трансляторов, поддерживающих более высокие уровни. Эти трансляторы и интерпретаторы составляются системными программистами, которые специализируются на разработке и построении новых виртуальных машин.
Четвертый уровень представляет собой символическую форму одного из языков низкого уровня (обычно ассемблер ). На этом уровне можно писать программы в приемлемой для человека форме. Эти программы сначала транслируются на язык уровня 1, 2 или 3, а затем интерпретируются соответствующей виртуальной или фактически существующей (физической) машиной.
Уровни с пятого и выше предназначены для прикладных программистов, решающих конкретные задачи на языках высокого уровня (C, C++, C#, VBA и др.). Компиляторы и редакторы этих уровней запускаются в пользовательском режиме. На еще более высоких уровнях располагаются прикладные программы пользователей.
Большинство пользователей компьютеров имеют опыт общения с операционной системой, по крайней мере, в той степени, чтобы эффективно выполнять свои текущие задачи. Однако они испытывают затруднения при попытке дать определение операционной системе. В известной степени проблема связана с тем, что операционные системы выполняют две основные, но практически не связанные между собой функции: расширение возможностей компьютера и управление его ресурсами.
Однако концепция, рассматривающая операционную систему прежде всего как удобный интерфейс пользователя, – это взгляд сверху вниз. Альтернативный взгляд, снизу вверх, дает представление об операционной системе как о механизме, присутствующем в компьютере для управления всеми компонентами этой сложнейшей системы. В соответствии с этим подходом работа операционной системы заключается в обеспечении организованного и контролируемого распределения процессоров, памяти, дисков, принтеров, устройств ввода-вывода, датчиков времени и т.п. между различными программами, конкурирующими за право их использовать.
1.2. Операционная система, среда и операционная оболочка
Операционные системы (ОС) в современном их понимании (их назначении и сущности) появились значительно позже первых компьютеров (правда, по всей видимости, и исчезнут в этой сущности в компьютерах будущего). Почему и когда появились ОС? Считается 1 По другим сведениям, первый компьютер был создан в Англии в 1943 году для расшифровки кодов немецких подводных лодок., что первая цифровая вычислительная машина ENIAC (Electronic Numerical Integrator and Computer ) была создана в 1946 году по проекту «Проект РХ» Министерства обороны США. На реализацию проекта затрачено 500 тыс. долларов. Компьютер содержал 18000 электронных ламп, массу всякой электроники, включал в себя 12 десятиразрядных сумматоров, а для ускорения некоторых арифметических операций имел умножитель и «делитель-извлекатель» квадратного корня. Программирование сводилось к связыванию различных блоков проводами. Конечно, никакого программного обеспечения и тем более операционных систем тогда еще не существовало [10, 13].
Интенсивное создание различных моделей ЭВМ относится к началу 50-х годов прошлого века. В эти годы одни и те же группы людей участвовали и в проектировании, и в создании, и в программировании, и в эксплуатации ЭВМ. Программирование осуществлялось исключительно на машинном языке (а затем на ассемблере), не было никакого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм. Операционные системы еще не появились, а все задачи организации вычислительного процесса решались вручную каждым программистом с примитивного пульта управления ЭВМ.
Для организации эффективной загрузки всех средств компьютера в штаты вычислительных центров ввели должности специально обученных операторов, профессионально выполнявших работу по организации вычислительного процесса для всех пользователей этого центра. Однако, как бы ни был подготовлен оператор, ему тяжело состязаться в производительности с работой устройств компьютера. И поэтому большую часть времени дорогостоящий процессор простаивал, а следовательно, использование компьютеров не было эффективным.
В конце 50-х годов прошлого века ведущие фирмы изготовители поставляли операционные системы со следующими характеристиками:
Расположение операционной системы в иерархической структуре программного и аппаратного обеспечения компьютера можно представить, как показано на рис. 1.1.
На микроархитектурном уровне находятся внутренние регистры центрального процессора (их может быть несколько) и арифметико-логические устройства со средствами управления ими. На этом уровне реализуется выполнение машинных команд. В процессе выполнения команд используются регистры процессора и устройств, а также другие возможности аппаратуры. Команды, видимые для работающего на ассемблере программиста, формируют уровень ISA ( Instruction Set Architecture – архитектура системы команд), часто называемый машинным языком.
Таким образом, операционная система – это набор программ, контролирующих работу прикладных программ и системных приложений и исполняющих роль интерфейса между пользователями, программистами, прикладными программами, системными приложениями и аппаратным обеспечением компьютера.
Таким образом, операционная среда – это программная среда, образуемая операционной системой, определяющая интерфейс прикладного программирования ( API ) как множество системных функций и сервисов (системных вызовов), которые предоставляются прикладным программам. Операционная среда может включать несколько интерфейсов прикладного программирования. Кроме основной операционной среды, называемой естественной ( native ), могут быть организованы путем эмуляции (моделирования) дополнительные программные среды, позволяющие выполнять приложения, которые рассчитаны на другие операционные системы и даже другие компьютеры.
Еще одно важное понятие, связанное с операционной системой, относится к реализации пользовательских интерфейсов. Как правило, любая операционная система обеспечивает удобную работу пользователя за счет средств пользовательского интерфейса. Эти средства могут быть неотъемлемой частью операционной среды (например, графический интерфейс Windows или текстовый интерфейс командной строки MS DOS ), а могут быть реализованы отдельной системной программой – оболочкой операционной системы (например, Norton Commander для MS DOS ). В общем случае под оболочкой операционной системы понимается часть операционной среды, определяющая интерфейс пользователя, его реализацию (текстовый, графический и т.п.), командные и сервисные возможности пользователя по управлению прикладными программами и компьютером.
Перейдем к рассмотрению эволюции операционных систем.
Командная оболочка
Оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: интерфейс командной строки (CLI) и графический пользовательский интерфейс (GUI).
Содержание
Командный интерпретатор
Для обеспечения интерфейса командной строки в ОС часто используются командные интерпретаторы, которые могут представлять собой самостоятельные языки программирования, с собственным синтаксисом и отличительными функциональными возможностями.
В операционные системы Windows 9x включён командный интерпретатор command.com, в Windows NT включён командных оболочек UNIX популярны csh, ksh и другие.
Как правило, при низкоуровневой настройке ОС у пользователя есть возможность менять командный интерпретатор, используемый по умолчанию.
Функции
Командный интерпретатор исполняет команды своего языка, заданные в командной строке или поступающие из стандартного ввода или указанного файла.
В качестве команд интерпретируются вызовы системных или прикладных утилит, а также управляющие конструкции. Кроме того, оболочка отвечает за раскрытие шаблонов имен файлов и за перенаправление и связывание ввода-вывода утилит.
В совокупности с набором утилит, оболочка представляет собой операционную среду, полноценный язык программирования и мощное средство решения как системных, так и некоторых прикладных задач, в особенности, автоматизации часто выполняемых последовательностей команд.
Стандартный командный интерпретатор
Стандартом ISO/IEC 9945 (Том 3. Оболочка и утилиты) определен язык оболочки, включающий конструкции последовательного (перевод строки, точка с запятой), условного («if», «case», «||», «&&») и циклического («for», «for in», «while», «until») исполнения команд, а также оператор присваивания.
Стандартом также определен режим редактирования вводимых команд, являющийся подмножеством команд стандартного текстового редактора («vi»).
Реализации и доступность
В современных открытых Unix-подобных ОС наиболее распространены такие языки командных интерпретаторов как zsh, реализующие надмножества языка стандартной оболочки.
Для альтернативных ОС также доступны реализации этих оболочек.
Альтернативы
Наряду со стандартными, в открытых ОС применяются также альтернативные оболочки tcsh, отличающиеся синтаксисом управляющих конструкций и поведением переменных.
Некоторые альтернативные ОС поставляются с интерпретаторами собственных языков командных файлов (такими, как язык командных файлов ОС Microsoft Windows NT, язык OS/2 и т. п.)
Некоторые предпочитают пользоваться для автоматизации часто выполняемых последовательностей команд новыми интерпретируемыми языками, например, Python.
Графическая оболочка
Графические оболочки для OC Windows
Последние версии ОС Windows используют в качестве своей оболочки интегрированную среду Проводника Windows. Проводник Windows представляет собой визуальную среду управления включающую в себя Рабочий стол, Меню пуск, Панель задач, а также функции управления файлами. Ранние версии ОС Windows 3.xx в качестве графической оболочки включают менеджер программ.
Многие сторонние разработчики предлагают альтернативные среды, которые могут быть использованы вместо оболочки проводника, включенной по умолчанию компанией Microsoft в систему Windows.
См. также
Полезное
Смотреть что такое «Командная оболочка» в других словарях:
Командная оболочка UNIX — (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства UNIX, в котором пользова … Википедия
wish (командная оболочка UNIX) — У этого термина существуют и другие значения, см. Wish. wish (Windowing Shell) это простая сценарная или интерактивная командная оболочка UNIX для X Window System и Mac OS X. Она предоставляет пользователям возможность контролировать компоненты… … Википедия
Оболочка UNIX — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Командная строка — Сюда перенаправляется запрос Интерпретатор командной строки. На тему «Интерпретатор командной строки» нужна отдельная статья. Внешний вид оболочки (англ. Co … Википедия
Shell (командная строка) — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
Командный процессор — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
Shell script — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Unix shell — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Unix Shell — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия