Петербургский Университет Телекомунникаций им проф. Бонч-Бруевича курс лекций

Вид материалаКурс лекций

Содержание


8. Однопользовательские операционные системы.
Система управления файлами (СУФ).
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11

8. Однопользовательские операционные системы.



По своей сути ПОС – однопользовательская ОС. Выполняет первые 4 ранее перечисленные функции ОС. В настоящее время ПОСы спроектированы классическим образом.


Принципы построения ПОС:
  1. иерархическое построение;


а)

б) нисходящая архитектура;

Пользовательский интерфейс





Абстрактная машина










………







………..





Физическая машина


………

Достоинство нисходящей архитектуры в легкой возможности ее модернизации, т.к. i-тый слой связан с i1 слоями и только.


Пример ОС с нисходящей архитектурой – UNIX.

  1. спецификации и примитивы;


Примитивы – стандартные функции для каждого из слоев. Естественно, их число должно быть минимальным.


Спецификации – стыковщики слоев.


а) для каждого слоя должен быть свой набор спецификаций и примитивов, который и позволяет этому слою функционировать;

б) необходимо стремиться к тому, чтобы имела место ситуация “черных ящиков”, т.е. связь одного слоя с другим осуществляется только через спецификаторы;

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

  1. дружественный интерфейс;

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

Кроме того, ОС часто предоставляют средства - разделяемые библиотеки, серверы и т.д. для реализации графического пользовательского интерфейса прикладными программами. Часто оказывается сложно провести границу между ядром ОС и этими средствами, особенно если стандартная оболочка ОС реализована с их использованием. В некоторых системах, например в MS Windows 3.x и MacOS, практически все ядро состоит из средств реализации графического интерфейса.

В настоящее время оформилось два принципиально различных подхода к организации пользовательского интерфейса. Первый, исторически более ранний подход состоит в предоставлении пользователю командного языка, в котором запуск программ оформлен в виде отдельных команд. Этот подход известен как интерфейс командной строки (Command Line Interface - CLI).

Альтернативный подход состоит в символическом изображении доступных действий в виде картинок - иконicons на экране и предоставлении пользователю возможности выбирать действия при помощи мыши или другого координатного устройства ввода. Этот подход известен как графический пользовательский интерфейс(Graphical User Interface - GUI). Мы в дальнейшем будем использовать английские аббревиатуры, потому что писать полное название долго, русскоязычные аббревиатуры-кальки очень уж неблагозвучны, а выдумать короткий, корректный и благозвучный русскоязычный термин мы - скажем честно - слабы.

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

Хороший интерфейс может погубить хорошую ОС, и наоборот.

  1. представление информации;


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


П
Пользовательский интерфейс

ИКЯ – интерпретатор командного языка
ример ПОС:



ИКЯ

Абстрактная машина



СУФ

СУФ – система управления файлами





Физическая машина

Спецификация ИКЯ:


<команда>:=<имя команды : список параметров>


<имя команды> - это либо имя базовой команды или имя файла, содержащего выполняемую команду;


<список параметров> - как правило, это имя (имена) файла (-ов).


Система управления файлами (СУФ).

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


Указатель f (на файл)

Логическая переменная (0 или 1)

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


Открытие файла (f):


Если файл пустой, то логическая переменная = 1 (истине), иначе указ_f  на 1-ую запись.


Чтение файла (f, необх_обл_пам):


Если логическая переменная = 1 (истине), то ошибка, иначе – назначить запись в необходимую область памяти, переместить указ_f.


Недостатки вышеприведенной нисходящей архитектуры:
  1. ИКЯ в некоторых случаях необходим непосредственный доступ к физической машине, что мешает архитектуре быть нисходящей. Следовательно, необходимо учесть эти нюансы, т.е. обеспечить средства для доступа из ИКЯ к физической машине через СУФ.
  2. Набор примитивов возрастает.


Решение проблемы:
  1. устройства ввода/вывода = последовательный файл


буфер

Физическая машина

абстрактная машина + СУФ




последовательный файл


Получили:

+ спецификации СУФ позволяют обращаться к любым устройствам ввода/вывода;

+ изменение конфигурации упрощается.

  1. ввести дополнительный слой, который позволил бы обрабатывать абстрактную информацию как условно физическую, и наоборот (МВВ – машина ввода/вывода).


Тогда получили:

ИКЯ

Пример МВВ – FAT (File Allocation Table)



СУФ



МВВ



Физ. Маш.

Рассмотрим FAT как МВВ:


FCB


N




Первый кластер




Каждому кластеру соответствует своя позиция в FAT:








3



7





10

конец







HDD
















Свободный, испорчен, кластер последний в файле, номер следующего кластера в файле

3, 7, 10 – номера кластеров файла


Машина

Функция

Интерфейс

ИКЯ

Интерпретация ком. языка

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

СУФ

Указание на файл

Операции над файлами

МВВ

Управление вводом/выводом

Машинный язык

ФМ

Физический уровень

Прерывания и спецификации для работы с ПУ


8.1. Среда выполнения.

Резидентные программы


Сегмент стека











Сегмент данных

SS, DS и т.д.



Кодовый сегмент

Сегмент команд программы



Фор_зац

Сегмент для общения с ОС

а) станд. инф-я;

б) нестанд. инф-я.







Буфер для обмена данными




PSP (512 байт)


Если написать программу, соблюдив следующие 2 условия:
  1. в фор_зац будет отсутствовать уникальные операции;
  2. во время загрузки программы разворачивать PSP-сегмент;

 это СОМ-файлы (в ассемблере это делается с помощью: ORG 100h и файл должен состоять из одного сегмента).