Рекомендации по написанию оконного приложения
Оконное приложение должно предоставлять возможности моделирования ситуации, в которой ОС использует заданный алгоритм. Например, для моделирования распределения процессорного времени в соответствии с дисциплиной RR придется моделировать следующие события:
– появление новой задачи (задача должна попасть в очередь готовых к выполнению);
– завершение выполнившейся задачи (задача удаляется из системы);
– переход задачи в состояние ожидания;
– выход задачи из состояния ожидания;
– истечение кванта времени, отпущенного выполняющейся задаче и т.д.
При этом задачу будет представлять запись – дескриптор задачи. Необходимо будет поддерживать 2 списка: список готовых к выполнению задач и список заблокированных задач. В обоих случаях это стандартная односвязная очередь с элементами одного и того же типа, т.е. для работы с обоими списками можно использовать одни и те же подпрограммы (один и тот же модуль).
Выбор используемых элементов управления произволен. Можно воспользоваться следующими рекомендациями:
– инициализация моделируемых событий – по нажатию кнопки.
– задание параметров событий (например, сколько процессорного времени требуется вновь создаваемой задаче и т.п.) – элементы типа Edit.
Необходимо тем или иным способом показывать текущее состояние списка (списков). Можно, например, выводить его содержимое в Edit.
Для облегчения отладки и демонстрации программы можно заготовить массив наборов параметров в текстовом файле и загружать их в соответствующие окошки по нажатию специальной кнопки. Так, например, можно быстро «породить» несколько процессов.
4.4. Отчет по лабораторной работе
Отчет по лабораторной работе должен содержать:
– полученное задание;
– описание моделируемого алгоритма;
– перечень и описание моделируемых событий;
– описание используемого списка (списков);
– интерфейс модуля;
– полный текст модуля (с достаточными для понимания комментариями).
Текст оконного приложения не требуется.
Кроме отчета и демонстрации работающих программ студент отвечает на вопросы по теоретической части, относящейся к данной лабораторной работе.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Пильщиков В.Н. Программирование на языке ассемблера IBM PC / В.Н. Пильщиков. М.: «Диалог-МИФИ», 1994. 288 с.
2. Назаров С.В. Операционные системы. Практикум / С.В. Назаров, Л.П. Гудыно, А.А. Кириченко. М.: КУДИЦ-ПРЕСС, 2008. 464 с.
3. Танненбаум Э. Современные операционные системы. 2-е изд. / Э. Танненбаум. СПб.: Питер, 2007. 1038 с.
СОДЕРЖАНИЕ
1. Лабораторная работа № 3. Организация ветвления, циклов и индексирования………………………………… | |||
1.1. Общие методические указания по выполнению лабораторной работы……………………………........ | |||
1.2. Теоретические сведения……………………………... | |||
1.2.1. Команды переходов…………………………… | |||
1.2.2. Команды управления циклом………………… | |||
1.2.3. Работа с массивами……………………………. | |||
1.3. Задание на лабораторную работу…………………… | |||
1.4. Отчет по лабораторной работе……………………… | |||
2. Лабораторная работа № 4. Стек………………………….. | |||
2.1. Общие методические указания по выполнению лабораторной работы……………………………........ | |||
2.2. Теоретические сведения……………………………... | |||
2.2.1. Стек и сегмент стека…………………………... | |||
2.2.2. Стековые команды…………………………….. | |||
2.2.3. Приемы работы со стеком…………………….. | |||
2.3. Задание на лабораторную работу…………………… | |||
2.4. Отчет по лабораторной работе……………………… | |||
3. Лабораторная работа № 5. Процедуры…………………... | |||
3.1. Общие методические указания по выполнению лабораторной работы……………………………........ | |||
3.2. Теоретические сведения……………………………... | |||
3.2.1. Дальние переходы……………………………... | |||
3.2.2. Подпрограммы (процедуры)………………….. | |||
3.3. Задание на лабораторную работу…………………… | |||
3.4. Отчет по лабораторной работе……………………… | |||
4. Лабораторная работа № 6. Использование связных списков для управления памятью и процессами…………..…... | |||
4.1. Общие методические указания по выполнению лабораторной работы……………………………........ | |||
4.2. Теоретические сведения……………………………... | |||
4.3.Задание на лабораторную работу……………………. | |||
4.4. Отчет по лабораторной работе……………………… | |||
Библиографический список………………………………… |