Конспект установочных лекций по комплексному курсу Информатика, Теория информации

       

Относящиеся к пользователю аспекты ОС


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

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

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

·         вычислительную работу для выполнения пользовательских и системных программ;

·         хранение данных и доступ к банкам данных;

·         передачу сообщений другим пользователям и - через сеть - другим ВС;

·         доступ к специальным терминальным (конечным) устройствам (в частности, к устройствам вывода).

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

Командный язык

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

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


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



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

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

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

Новейшие командные языки в большей степени ориентируются на языки программирования высокого уровня. Они разрешают также задавать “командные процедуры” и гибкую поддержку диалога. Команды пользователя обрабатываются интерпретатором команд.


Интерпретатор команд имеет в своем распоряжении список имен команд, которые содержатся  в определенном файле, и ссылки на операторы, реализующие эти команды.

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

У пользователя в режиме диалога обычно возникают следущие вопросы:

·         каков модус системы в настоящее время?

·         какие операции и какие команды являются при этом доступными для использования?

·         какой последовательностью команд я создал это состояние?

·         каких состояний системы и с помощью, каких последовательностей команд я могу достигнуть?

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

Управление пользователями

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



Данная часть ОС устанавливает каждому пользователю рамки использования ресурсов системы, что предполагает ограничения:

·         на потребность процессорного времени,

·         текущие потребности памяти,

·         потребности для тигельного хранения данных,

·         приоритет,

·         специальные правовые отношения.

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

Организация данных и управление ими

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

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

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

Доступ к внешним наборам данных во внешней памяти должен поддерживаться ОС. Это включает:

·         локализацию единиц информации на запоминающих средах,

·         передачу информации между различными видами памяти.

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


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

Системы файлов обычно имеют иерархическую структуру. Часто они имеют древовидную структуру - тогда говорят о файловом дереве. Доступ к какому-либо файлу осуществляется по трассе доступа. Она состоит из последовательности имен, которая исходя из корня дерева, соответственно - из корня позиции пользователя в дереве, по отдельным шагам выбора ведет к нужному файлу. В файловой системе имеется два типа файлов: файлы, которые содержат простые наборы данных (листья файлового дерева) и управляющие файлы, называемые директориями (англ. directories), которые служат для управления наборами данных (внутренние узлы дерева). В принципе оба типа файлов могут быть построены одинаково - различно лишь их использование (см. ОС UNIX и DCL).

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

В новейших ОС ряд названных команд можно не задавать в явном виде - они неявно вводятся самой ОС и затем выполняются при обработке определенных команд пользователя.

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

Аспекты надежности и защиты

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


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

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

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

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

·         механизмы запрета,

·         пароли,

·         блокировка данных (криптографические методы, см. BAUER, 1992).

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


Содержание раздела