Проектирование гипотетической операционной системы

Автор: Пользователь скрыл имя, 23 Марта 2015 в 00:35, курсовая работа

Краткое описание

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

Оглавление

Техническое задание

1
Реферат

2
Введение

4
1 Структура проектируемой файловой системы

5
1.1 Общая организация файловой системы

5
1.2 Виртуальные страницы

10
1.3 Команды для работы с ФС

13
1.4 Системные вызовы для работы с ФС

14
1.5 Способы организации файлов

14
1.6 Алгоритмы работы некоторых системных вызовов ФС.

15
2 Процессы в ОС

16
2.1 Команды для работы с процессами

16
2.2 Системные вызовы управления процессами

16
2.3 Диаграмма состояний процесса

17
2.4 Приоритеты процессов

19
2.5 Выбор дисциплины обслуживания планировщика процессов. Алгоритм работы планировщика процессов.

19
2.6 Межпроцессное взаимодействие.

21
2.7 Свопинг процессов.

23
3 Режимы работы проектируемой ОС

29
3.1 Мультипрограммный режим работы ОС

29
3.2 Многопользовательская защита

30
3.3 Интерактивный режим работы ОС

31
3.4 Пакетный режим работы

31



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

33
4.1 Общая структура проектируемой ОС.

33
4.2 Структура ядра проектируемой ОС.

36
4.3 Структура управляющих блоков базы данных ОС

36
4.4 Схема взаимодействия управляющих блоков базы данных операционной системы

37
Перечень ссылок

Файлы: 1 файл

Курсовая работа ТОС.doc

— 653.00 Кб (Скачать)

 

3.3 Интерактивный режим  работы ОС

 

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

 

3.4 Пакетный режим работы

 

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

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

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

 

 

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

 

4.1 Общая структура проектируемой  ОС

 

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

Рисунок 4.1 - Структура проектируемой ОС

 

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

Уровень оборудования представляет собой собственно саму аппаратуру, на которой функционирует ОС.

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

 

4.1.1 Внешние устройства (НМД)

 

Магнитные диски организованы в цилиндры, каждый из которых содержит столько дорожек, сколько есть у устройства головок, установленных вертикально. Дорожки делятся на секторы, их количество обычно варьируется от 8 до 32 у гибких дисков и до нескольких сот у жестких дисков. Число головок варьируется от 1 до 16.

У некоторых магнитных дисков мало электроники, они предоставляют на выходе простой поток битов. На этих дисках контроллер выполняет совсем немного работы. На других дисках, в частности на IDE-дисках (IDE, Integrated Drive Electronics — встроенный интерфейс накопителей), само устройство содержит микроконтроллер, выполняющий значительный объем работ, и позволяющий собственно контроллеру обращаться к нему с набором команд высокого уровня.

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

 

4.1.2 Внешние устройства (видеотерминалы)

 

Существует много разновидностей терминалов. На практике сегодня наиболее часто встречаются следующие три типа терминалов:

1. Автономные терминалы  с последовательным интерфейсом RS-232 для связи с мэйнфреймами.

2. Дисплеи персональных  компьютеров с графическим интерфейсом пользователя.

3. Сетевые терминалы.

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

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

 

4.2 Структура ядра ОС

 

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

Условно ядро можно разделить на следующие составляющие:

    • Управление процессами, распределение ресурсов системы;
    • Управление стандартными устройствами ввода и вывода;
    • Управление памятью, обеспечение выделения и освобождения памяти;
    • Управление ФС, обеспечение обмена данными с диском;
    • Контроль доступа к компьютеру.

 

4.3 Структура управляющих  блоков базы данных ОС

 

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

База данных состоит из следующих управляющих блоков:

    • блок управления пользователями;
    • блок управления файлами;
    • блок управления памятью;
    • блок управления процессами;
    • блок управления файлами.

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

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

Блок управления устройствами регистрирует все устройства, их текущее состояние, при необходимости меняет его в ходе работы.

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

 

4.4 Схема взаимодействия  управляющих блоков базы данных  ОС

 

4.4.1 Блоки управления

 

На рисунке 4.2 приведена схема взаимодействия управляющих блоков базы данных операционной системы.

 

Рисунок 4.2 - Взаимодействие управляющих блоков базы данных ОС

 

Блок управления процессами имеет следующую структуру:

    • PID — ID процесса;
    • NAME — имя процесса;
    • QID — идентификатор очереди, в которой стоит процесс;
    • ID — идентификатор пользователя;
    • PRI — приоритет процесса;
    • ST — текущее состояние процесса (0 - процесс находится в режиме выполнения, 1 - процесс находится в режиме ожидания, 2 - процесс находится в режиме готовности).

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

    • RCB_HANDLE — дескриптор блока;
    • RCB_SIZE — размер блока;
    • RCB_CADR — текущий адрес блока;
    • RCB_RIGHT — права доступа.

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

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

Структура блока управления файлами представляет собой следующее:

    • FCB_ID — ID файла;
    • NAME — имя файла;
    • SIZE — размер файла;
    • UID — идентификатор владельца;
    • TIME — время создания;
    • BUSYBLOCKS — перечень блоков, занимаемых данным файлом.

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

    • U_ID — ID пользователя;
    • U_Name — имя пользователя;
    • U_GROUP — группа пользователя (текущая);
    • U_RIGHT — права пользователя.

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

Блок управления устройством содержит следующую информацию:

    • DCB_ID — ID устройства;
    • DCB_NAME — имя устройства;
    • DCB_ST — статус устройства;
    • DCB_INT — таблица точек входа;
    • DCB_INIT — инициализация;
    • DCB_WRITE — флаг записи;
    • DCB_READ — флаг чтения;
    • DCB_PROP — параметры устройства;
    • DCB_DRV — адрес драйвера устройства;
    • DCB_NEXT — адрес следующего DCB.

 

4.4.2 Обеспечение ввода-вывода  данных

 

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

Информация о работе Проектирование гипотетической операционной системы