Структура операционных систем 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Структура операционных систем



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

На рисунке схематически показаны основные компоненты ОС и порядок их взаимодействия друг с другом, пользователями, внешними устройствами и прикладными программами.

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

Ядро

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

Интерфейс пользователя

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

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

Командный интерфейс

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

Обычно команда представляет собой слово, значение которого в некоторой мере соответствует смыслу команды. Кроме имени команды, пользователь должен ввести параметры, если они необходимы, и указать режимы работы команды. Типичная команда ОС выглядит обычно следующим образом:

<команда> - <ключ1> - <ключ2>… <параметр1> <параметр2>…

Здесь <команда>  - слово, обозначающее команду ОС, <параметр1>  - слово, сообщающее команде некоторую переменную информацию, необходимую для выполнения, <ключ1> - слово, обозначающее один из предварительно заданных режимов работы команды.  Символ «-» (минус), предваряющий ключи, используется как указатель на то, что следующее за ним слово является не параметром, а ключом. Помимо минуса для этой цели в некоторых системах используется символ «/» или два минуса подряд. Правила написания ключей и параметров команды зависят от принятых в ОС соглашений и от команды. Как правило, при создании командного языка стараются придерживаться некоторой общей системы, но, несмотря на это, одни и те же ключи в разных командах могут иметь совершенно различный смысл.

Например, рассмотрим команду языка операционной системы MS-DOS:

Dir *.txt /p /o: n

Эта команда требует от ОС вывести на стандартное устройство отображения (обычно терминал) содержимое текущего каталога (об этом говорит имя команды – dir). При этом должны быть выведены имена только тех файлов, имя которых подходит под маску «*.txt» (параметр «*.txt»), то есть содержащие любую последовательность символов, которая заканчивается на «.txt». необходимо делать паузу после вывода каждого полного экрана текста (этот режим задает ключ «/p»). При выводе необходимо сортировать файлы по именам (ключ «/o: n»). Здесь, как очевидно из описания, «dir» - название команды, «*.txt» - параметр, а «/p» «/o:n» - ключи.  

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

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

Визуальный интерфейс

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

Пользователь отдает команды ОС путем манипулирования предоставленным ему набором образов с помощью манипуляторов и клавиатуры. Например, каталог на диске часто отображен в виде экранного окна, в котором файлы отображены как иконки либо надписи. Предположим, что нужно скопировать файл «1.txt» из каталога «/home/user/work» в каталог «/home/user/archive». Для этого пользователь, вместо того, чтобы писать команду вида:

cp /home/user/work/1.txt /home/user/archive/

 может просто открыть на экран два окна, одно из которых соответствует каталогу  «/home/user/work», другое – каталогу «/home/user/archive», и мышью перетащить надпись «1.txt» из первого окна во второе. Для пользователя-непрофессионала такое действие гораздо проще и естественнее, чем написание малопонятной команды.

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

Важно понимать, что тип интерфейса определяется сущностью способа взаимодействия пользователя с системой, а не используемыми изобразительными средствами. Вовсе не обязательно визуальный интерфейс использует устройство отображения, работающее в графическом режиме. Визуальный интерфейс может быть как текстовым, при котором визуальные образы на экране формируются с помощью обычных текстовых символов, возможно, дополненных псевдографикой (типы интерфейса оболочек FAR, Norton Commander, DOS Navigator), так и графическим, при котором визуальные образы рисуются на экране в графическом режиме и могут иметь практически неограниченное разнообразие. Но на суть интерфейса это не оказывает решающего влияния, хотя, безусловно, графический интерфейс внешне обычно выглядит намного привлекательнее.

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

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

Кроме того, с помощью чисто визуального интерфейса обычно невозможно задать системе последовательность команд для выполнения, если только при разработке системы подобная возможность не была предусмотрена специально. То есть, в визуальном интерфейсе нет полного аналога программ на командном языке, о которых упоминалось выше. Частичным аналогом таких программ являются системы записи макрокоманд, которые позволяют записать последовательность воздействий пользователя на визуальные элементы управления (так называемых «макрос») и впоследствии повторить эту последовательность в автоматическом режиме. Но такие макросы намного менее гибкие, чем пакетные файлы, поскольку они жестко заданы и их, как правило, невозможно выполнять в различных режимах, в то время как исполнение пакетных файлов может происходить всякий раз по-разному, в зависимости от того, с какими параметрами выполнен каждый конкретный файлов может происходить всякий раз по-разному, в зависимости от того, с каким параметрами выполнен каждый конкретный запуск. Все современные ОС имеют командный интерфейс пользователя. При этом большинство имеет также либо встроенные, либо дополнительные подсистемы, позволяющие организовать визуальные интерфейс. Во многих системах визуальный интерфейс настолько развит, что пользователь может работать только с ним, даже не догадываясь о наличии системы команд. Однако практически всегда имеется ряд специфических операций, которые можно выполнить только через командный интерфейс.

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



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 37; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.106.232 (0.01 с.)