• Название:

    Винокуров И. В. МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнен...


  • Размер: 0.63 Мб
  • Формат: PDF
  • или
  • Сообщить о нарушении / Abuse

Установите безопасный браузер



  • Автор: Винокуров

Предпросмотр документа

Московский Государственный Технический Университет
им. Н.Э. Баумана
Калужский филиал

Винокуров И.В.
МЕТОДИЧЕКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ
КУРСОВОЙ РАБОТЫ ПО ДИСЦИПЛИНЕ
«ОПЕРАЦИОННЫЕ СИСТЕМЫ»

Калуга, 2010 г.

2
СОДЕРЖАНИЕ
1. Цель курсовой работы и сроки ее выполнения

3

2. Задание на курсовую работу

3

3. Требования к вычислительной системе и средствам разработки

7

4. Требования к программной модели

7

5. Требования к содержимому и оформлению пояснительной записки
и графического материала

7

6. Пример проектирования подсистемы управления памятью

8

7. Пример проектирования подсистемы управления ВЗУ

12

8. Пример проектирования подсистемы управления процессами

13

Литература

15

Приложение 1. Граф-схема алгоритма функционирования
модели ОС

16

Приложение 2. Структурные модели подсистем ОС

18

Приложение 3. UML-диаграмма классов, реализующих
программную модель ОС

19

Приложение 4. Штампы листов графического материала курсовой
работы

20

3
1. ЦЕЛЬ КУРСОВОЙ РАБОТЫ И СРОКИ ЕЕ ВЫПОЛНЕНИЯ
Целью курсовой работы по дисциплине «Операционные системы» (ОС)
является закрепление полученных теоретических знаний по принципам организации и функционирования основных подсистем ОС и практических навыков по их моделированию.
Время выполнения курсовой работы составляет 51 час. К 7-й неделе семестра должно быть выполнено:
1. анализ поставленной задачи и поиск методов ее решения;
2. проектирование всех подсистем ОС и построение UML-диаграмм
реализующих их классов.
С 8-й по 13-ю неделю семестра осуществляется:
1. программная реализация модели ОС;
2. оформление пояснительной записки и графического материала.
Защита курсовой работы производится на 14-й неделе семестра и представляет собой собеседование с преподавателем (преподавателями) по теории ОС и основным этапам проектирования и реализации ее программной
модели.
2. ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
Пусть существует вычислительная система (ВС), в которой
одновременно работают 3 процесса – А, Б и В. Процесс А считывает
информацию из своего логического адресного пространства и записывает еѐ
в логичесое адресное пространство, разделяемое процессами А и Б. Процесс
Б тем или иным образом обрабатывает эту информацию и записывает
результат в файл на ВЗУ. Процесс В считывает содержимое этого файла и
записывает его в свое логическое адресное пространство, рис. 1.
Логическое адресное
пространство
процесса А

Процесс А

Исходная
информация

Логическое адресное
пространство
процессов А и Б

Процесс Б

Логическое адресное
пространство
процесса В

Процесс В
ВЗУ

Рис. 1. Организация работы процессов в ВС

Конечная
информация

4
Необходимо разработать программную модель ОС, осуществляющей
управление работой всех процессов. Программная модель ОС должна включать:
1. подсистему управления памятью;
2. подсистему управления ВЗУ;
3. подсистему управления процессами.
Проектирование и реализация подсистемы управления памятью должно
заключаться в следующем:
1. формирование логических адресных пространств процессов и таблиц ОС, необходимых для обращения к ним;
2. определение формата логического адреса;
3. определение размера логического адресного пространства ОС, необходимого для реализации подсистемы управления памятью;
4. построение UML-диаграммы классов программной модели этой
подсистемы ОС и написание реализующего ее кода.
Проектирование и реализация подсистемы управления ВЗУ должно
представлять собой:
1. выбор формата файлового блока ВЗУ;
2. формирование таблицы ОС, управляющей доступом к ВЗУ;
3. определение размера адресного пространства ОС, необходимого
для реализации подсистемы управления ВЗУ;
4. построение UML-диаграммы классов программной модели этой
подсистемы и написание реализующего ее кода.
И, наконец, проектирование и реализация подсистемы управления процессами должно состоять из:
1. выбора формата контекста процесса и формирования необходимых
таблиц ОС с целью организации одновременной работы процессов;
2. выбора типов объектов, синхронизирующих доступ к разделяемым
ресурсам ВС;
3. определения размера адресного пространства ОС, необходимого
для реализации подсистемы управления процессами;
4. построение UML-диаграммы классов программной модели этой
подсистемы и написание реализующего ее кода.
Варианты заданий на курсовую работу приведены в табл. 1.
Таблица 1
Варианты заданий
Алгоритм
Алгоритм замещения
№ диспетчеризации
страниц
процессов
1

RR

LRU

2

RR

NFU

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

5
Продолжение табл. 1
Алгоритм
Алгоритм замещения
№ диспетчеризации
страниц
процессов
3

RR

FIFO

4

RR

FIFO second chance

5

RR

WS

6

RR

7

RR

8

RR

WSClock

9

SRT

LRU

10 SRT

NFU

11 SRT

FIFO

12 SRT

FIFO second chance

13 SRT

WS

14 SRT
15 SRT

Часовой с одной
стрелкой
Часовой с двумя
стрелками

Часовой с одной
стрелкой
Часовой с двумя
стрелками

16 SRT

WSClock

17 RR

LRU

18 RR

NFU

19 RR

FIFO

20 RR

FIFO second chance

21 RR

WS

22 RR

Часовой с одной
стрелкой

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

6
Продолжение табл. 1
Алгоритм
Алгоритм замещения
№ диспетчеризации
страниц
процессов
Часовой с двумя
23 RR
стрелками
24 RR

WSClock

25 SRT

LRU

26 SRT

NFU

27 SRT

FIFO

28 SRT

FIFO second chance

29 SRT

WS

30 SRT
31 SRT

Часовой с одной
стрелкой
Часовой с двумя
стрелками

32 SRT

WSClock

33
34
35
36
37

LRU
NFU
FIFO
FIFO second chance
WS
Часовой с одной
стрелкой
Часовой с двумя
стрелками
WSClock

RR
RR
RR
RR
RR

38 RR
39 RR
40 RR

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

Размер страницы и файлового блока для всех вариантов заданий – 4 байта. За одну операцию чтения/записи памяти и ВЗУ могут быть считаны/записаны от 1-го до 4-х байт информации.
Для всех вариантов заданий размер разделяемого процессами А и Б логического адресного пространства следует выбирать таким, чтобы возникала
необходимость в замещении страниц.
Количество файловых блоков на ВЗУ должно быть достаточным для записи конечной информации. Количество файлов на ВЗУ, в которые осуществляется запись, должно превышать 1.
Для четных вариантов заданий переключение процессов следует осуществлять после чтения/записи в память или на ВЗУ 1-го байта, для нечетных –
после 2-х байтов.

7
3. ТРЕБОВАНИЯ К ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЕ И
СРЕДСТВАМ РАЗРАБОТКИ
Курсовая работа должна быть выполнена на IBM-совместимом персональном компьютере, работающем под управлением ОС Microsoft Windows
или Linux с использованием универсальных языков программирования
Pascal/Delphi, C/С++, Visual С#, Java и других.
Для построения UML-диаграмм классов могут быть использованы такие
средства как Microsoft Visual Studio, StarUML, NClass, Umbrello (Linux), плагины сред разработки Eclipse и NetBeans и т.п.
4. ТРЕБОВАНИЯ К ПРОГРАММНОЙ МОДЕЛИ
На форме главного окна приложения, моделирующего работу ОС, необходимо отобразить следующее:
1. Заявки процессов на потребление системных ресурсов. Количество
заявок должно быть достаточным для моделирования работы всех
подсистем ОС. Кроме того, любая из заявок процесса должна иметь
возможность визуального изменения своего параметра (параметров).
2. Содержимое адресных пространств взаимодействующих процессов.
3. Содержимое всех системных таблиц ОС.
4. Содержимое всех файловых блоков ВЗУ.
Моделирующее работу ОС приложение должно иметь возможность пошаговой работы. При пошаговой работе следует тем или иным образом выделять текущую заявку процесса и элементы системных таблиц, используемые в процессе ее выполнения.
5. ТРЕБОВАНИЯ К СОДЕРЖИМОМУ И ОФОРМЛЕНИЮ
ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ И ГРАФИЧЕСКОГО МАТЕРИАЛА
Содержимое пояснительной записки курсовой работы должно быть следующим:
1. титульный лист (выдается преподавателем);
2. лист с заданием (выдается преподавателем);
3. содержание;
4. введение;
5. исследовательская часть;
6. конструкторская часть;
7. технологические част;
8. список использованных источников и литературы;
9. приложение (приложения).
Во введении (1-2 стр.) должно быть приведено краткое описание всех
частей пояснительной записки курсовой работы, ее объем в страницах, общее
количество рисунков и таблиц.
В исследовательской части (10-15 стр.) описывается использованный в
программной модели ОС алгоритм замещения страниц, алгоритм диспетче-

8
ризации процессов, принцип организации одновременной работы процессов
и особенности организации записи и считывания информации на ВЗУ с использованием того или иного типа связи между файловыми блоками.
В конструкторской части (15-20 стр.) отражаются основные этапы проектирования и особенности программной реализации моделей всех подсистем ОС.
В технологической части (5-10 стр.) приводятся основные принципы
взаимодействия пользователя с программной моделью ОС.
В списке использованных источников и литературы указываются ссылки
на адреса интернет-русурсов (если они были использованы) и литературные
источники.
В приложении (приложениях) – тексты исходных кодов программной
модели ОС с достаточным для их понимания количеством комментариев.
Пояснительная записка курсовой работы должна быть оформлена следующим образом:
1. Объѐм пояснительной записки без приложения (приложений) –
35…40 страниц формата А4.
2. Шрифт пояснительной записки – Times New Roman, размер – 14 pt.
3. Межстрочный интервал – одинарный или полуторный. Отступ слева – 25 мм., отступы сверху, снизу и справа – по 15 мм.
4. Номера страниц проставляются в правом верхнем углу.
5. Все рисунки должны иметь подрисуночные подписи.
6. Все таблицы должны иметь номера и заголовки.
7. Исходный текст программной модели ОС должен быть вынесен в
приложение (приложения) и иметь достаточное для его понимания
количество комментариев.
Графическая часть курсовой работы должна быть представлена следующими листами формата А1 (допускается формирование листа такого
формата из нескольких листов А4):
1.
2.
3.

граф-схема алгоритма функционирования программной модели ОС;
структурные модели подсистем управления памятью, ВЗУ и процессами;
UML-диаграммы классов, реализующих программную модель ОС.

Примеры всех перечисленных выше листов графической части курсовой
работы и соответствующих им штампов приведены в приложениях 1–4.
Курсовые работы, не удовлетворяющим требованиям, приведенным в
п. 3-5 не рассматриваются и к защите не допускаются.
6. ПРИМЕР ПРОЕКТИРОВАНИЯ ПОДСИСТЕМЫ УПРАВЛЕНИЯ
ПАМЯТЬЮ
Пусть, например, логические адресные пространства процессов А и В
состоят из 10 страниц. Разделяемое этими процессами логическое адресное
пространство состоит из 5-ти страниц. Размер страницы для всех логических
адресных пространств равен 5 байтам. Для замещения страниц в основной
памяти ВС используется алгоритм рабочего набора.

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

Заявка процесса А:

Индекс дескриптора
Смещение в странице
таблицы
Индекс
дескриптора
страницы

Заявка процесса А:

Записать в память 01 001011XXX
Записываемая информация
Индекс дескриптора
Смещение в странице
таблицы
Индекс
дескриптора
страницы

Дескрипторы 10-ти
страниц процесса А
003

Информативные биты 127
Информативные биты Базовый адрес
.
.
.

021

Дескрипторы
3-х таблиц

Информативные биты Базовый адрес

Основная память ВС
0

127

1

003

01

Базовый адрес

Информативные биты Базовый адрес

02

Базовый адрес

Информативные биты Базовый адрес

177

0

1

2

182

Информативные биты Базовый адрес

.
.
.

3
XXX

4

Адресное
пространство
процессов А и Б
(5 страниц)

202

.
.
.

Информативные биты Базовый адрес

051

Адресное
пространство
процесса А
(10 страниц)

.
.
.

Информативные биты Базовый адрес

Дескрипторы 10-ти
страниц процесса В
033

4

Информативные биты Базовый адрес
Информативные биты 182

00

031

3

132

Дескрипторы 5-ти страниц
процессов А и Б
023

2

XXX

Адресное
пространство
процесса В
(10 страниц)

251

Информативные биты Базовый адрес

Рис. 2. Подсистема управления памятью ОС (о заявках процессов см. п. 8)

10
Исходя из используемых таблиц, логический адрес памяти будет представлять собой индекс дескриптора таблицы, индекс дескриптора страницы и
смещение внутри нее. Последнее определяет порядковый номер одного из 5ти байт страницы.
Определим теперь размер адресного пространства ОС, необходимый для
реализации описанной выше подсистемы управления памятью. Совокупное
логическое адресное пространство всех процессов состоит из 25 страниц по 5
байт каждая и, как следствие, распределяет 125 байт основной памяти ВС.
Любой адрес памяти такого размера описывается 1 байтом. Пусть дескрипторы таблиц будут располагаться с адреса 000. Элементами этой таблицы являются три базовых адреса, т.е. эта таблица распределяет 3 байта основной
памяти ВС. Вслед за этой таблицей пусть будут последовательно располагаться таблицы с дескрипторами страниц всех процессов. Выше было отмечено, что дескриптор каждой страницы состоит из информативных битов и
базового адреса страницы. Пусть под информативные биты будет распределен 1 байт и еще один байт под базовый адрес. Отсюда все дескрипторные
таблицы процессов распределяют 25×2 = 50 байт – от 3 до 52 байта основной
памяти ВС включительно.
Этап реализации подсистемы управления памятью должен начинаться с
создания UML-диаграмм реализующих ее классов. Пусть, например, модель
этой подсистемы ОС реализуют следующие классы, рис. 3.

Рис. 3. UML-диаграммы классов, реализующих модель
подсистемы управления памятью
Описание всех классов программной модели подсистемы управления
памятью приведено в табл. 2.

11
Таблица 2
Классы, реализующие программную модель подсистемы
управления памятью
Имя
PageDescriptor
PageTable

Pages
Memory

Назначение
Дескриптор
страницы
Дескрипторная
таблица

С какими классами
связан

Тип прямой связи

PageTable

Агрегация

Pages

Агрегация

Memory

Ассоциация

Дескрипторы
таблиц
Основная память
<