ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК И ТЕХНОЛОГИЙ
КАФЕДРА «ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И СИСТЕМНЫЙ АНАЛИЗ»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
К ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ
ПО ДИСЦИПЛИНЕ « Операционные системы »
для студентов направления подготовки
Информационные системы и технологии»
Профиля «Интеллектуальные информационные системы»
Рассмотрены на заседании кафедры «Искусственный интеллект и системный анализ» Протокол № 1 от 30.08.2016 г. |
Донецк
2016
УДК 004. 422_
Методические указания к выполнению лабораторных работ по дисциплине «Операционные системы» для студентов направления подготовки 09.03.02 «Информационные системы и технологии» профиля «Интеллектуальные информационные системы»
/ сост.: А.И. Ольшевский, Р.А.Сорокин – Донецк: ДОННТУ. 2017. – 39 с.
В пособии рассматриваются вопросы выполнения лабораторных работ, контрольные вопросы для подготовки к защите работы, формы отчетности по лабораторным работам. Приведены варианты типовых заданий, правила и примеры оформления текстовой и графической документации.
Составители: ст. преп. А.И. Ольшевский
ст. преп. Д.М. Бочаров
Ответственный за выпуск: ст.преп. А.И. Ольшевский
Рецензенты: д.т.н., проф. В.Н.Павлыш
доц. Ю.К. Орлов
Содержание
Порядок выполнения ……………………………………………………………………. | 3 |
Классификатор для вариантов задания ………………..………………………………. | 4 |
Варианты задания ………………………………………………………………………. | 5 |
Описание элементов классификатора………………………………………………….. | 8 |
Методические указания по выполнению проекта…………………………………….. | 10 |
Раздел 1. Постановка задачи……………………………………………………………. | 11 |
Раздел 2. Выбор архитектуры вычислительной системы …………………………….. | 12 |
Раздел 3. Проектирования командного языка ОС …………………………………… | 14 |
Раздел 4. Вытесняющая многозадачность и средства взаимодействия в ОС Windows ХХ и Windows NT ………………………………………………………….. | 16 |
Раздел 5. Определение состава и общей структуры системы ……………………… | 20 |
Раздел 6. Формирование базы данных ОС …………………………………………… | 22 |
Раздел 7. Проектирование структуры и реализация логики управления файловой системы ………………………………………………………………………………….. | 23 |
Раздел 8. Общее описание функционирования ОС …………………………………… | 26 |
ПОРЯДОК ВЫПОЛНЕНИЯ
Курсовое проектирование предполагает разработать проект операционной системы, которая удовлетворяет услонию задач, поставленных перед ней. Для этого необходимо выполнить следующие этапы:
1. По варианту задания выбрать исходные элементы из таблицы 1.1 классификатора для изучение проектного решения.
2. Сформулировать цели проектирования ОС.
3. Провести анализ требований к системе и обосновать выбор способов их реализации.
4. Разработать архитектуру аппаратных средств компьютера для реализации ОС.
5. Определить состав и общую структуру ОС: перечень и внешние спецификации модулей.
6. Разработать интерфейс пользователя (командный язык архитектуры ОС: интерактивные команды ОС; системные вызовы; язык пакетных файлов).
7. Спроектировать базу данных ОС: перечень и описание управляющих блоков и очередей.
8. Описать общее функционирования ОС:
¾ состояние процесса;
¾ схему работы ядра ОС;
¾ алгоритмы управления процессами для реализации многозадачности и средств взаимодействия процессов.
9. Спроектировать структуру и реализовать логику управления заданной файловой системы.
10. Выполнить оценку работоспособности системы и ее эксплуатационных характеристик.
11. Сформулировать выводы по результатов проектирования.
Отчеты по разделам наглядно отображают результаты проектирования ОС, являются разделами курсового проекта. Основное содержание которых, составляют графические формы представления информации: схемы, рисунки, таблицы, а также их описания. Уровень изложения материала должен обеспечивать дальнейшую программную реализацию операционной системы.
Классификатор для вариантов задания
1.Особенности аппаратных платформ:
1. сверхпроизводительные ЭВМ и системы (супер-ЭВМ);
2. большие ЭВМ (универсальные ЭВМ общего назначения);
3. средние ЭВМ;
4. микро-ЭВМ;
5. персональные компьютеры;
6. карманных персональные компьютеры;
7. сети ЭВМ;
8. сенсорных узлов;
9. смарт карт.
2.Особенности алгоритмов управления ресурсами:
1. однозадачные;
2. многозадачные;
3. однопользовательские;
4. многопользовательские;
5. вытесняющая многозадачность;
6. невытесняющая многозадачность;
7. поддержка многонитевости;
8. многопроцессорная обработка.
3.Особенности областей использования:
1. системы пакетной обработки;
2. системы разделения времени;
3. системы реального времени.
4.Организация оперативной памяти:
1. Без использования внешней памяти:
а) фиксированными разделами;
б) с переменными разделами;
в) с переменными разделами и уплотнением памяти
2. С использования внешней памяти:
а) страничное распределение;
б) сегментное распределение;
в) сегментно - страничное распределение;
5.Средства взаимодействия процессов:
1. критические секции( critical sections ) и потоки( threads );
2. взаимоисключения(mutexes) ;
3. события (events) ;
4. семафоры (semaphores) .
6.Управление процессами:
1. квантование времени;
2. абсолютные приоритеты;
3. относительные приоритеты;
4. статические приоритеты;
5. динамические приоритеты;
6. свопинг процессов.
7.Организация файловой системы:
1. MS DOS ;
2.UNIX;
3.HPFS(OS/2;)
4.NTFS(Windows NT);
5.Распределенная файловая система Google FS;
6. Распределенная файловая система Lustre FS;
7.Свободный формат(не похожий не на один из прндыдущих).
Таблица 1.1 – Варианты задания
№ | Аппаратная платформа | Алгоритм Управления Ресурсами | Тип доступа | Организация оперативной памяти | Средства взаимод-твия процессов | Управление процессами | Файловая система |
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
1. | 1 | 2,4,5,8 | 1,3 | 1а | 1 | 2 | 1 |
2. | 2 | 2,4,6,8 | 1,2 | 1б | 2 | 3 | 2 |
3. | 3 | 1,3,8 | 2,3 | 1в | 3 | 4 | 3 |
4. | 4 | 1,3, | 1,3 | 2а | 4 | 5 | 4 |
5. | 5 | 2,4,5 | 1,2 | 2б | 1 | 6 | 5 |
6. | 6 | 2,4,6,7 | 2,3 | 2в | 2 | 1 | 6 |
7. | 7 | 2,3,8 | 1,3 | 1б | 3 | 2 | 7 |
8. | 8 | 2,4,5,8 | 1,2 | 1в | 4 | 3 | 1 |
9. | 9 | 2,4,6,8 | 2,3 | 2а | 1 | 4 | 2 |
10. | 1 | 1,3,8 | 1,3 | 2б | 2 | 5 | 3 |
11. | 2 | 1,3, | 1,2 | 2в | 3 | 6 | 4 |
12. | 3 | 2,4,5 | 2,3 | 1а | 4 | 1 | 5 |
13. | 4 | 2,4,6,7 | 1,3 | 1б | 1 | 2 | 6 |
14. | 5 | 2,4,5,8 | 1,2 | 1в | 2 | 3 | 7 |
15. | 6 | 2,4,6,8 | 2,3 | 2а | 3 | 4 | 1 |
16. | 7 | 1,3,8 | 1,3 | 2б | 4 | 5 | 2 |
17. | 8 | 1,3, | 1,2 | 2в | 1 | 6 | 3 |
18. | 9 | 2,4,5 | 2,3 | 1а | 2 | 1 | 4 |
19. | 1 | 2,4,6,7 | 1,3 | 1б | 3 | 2 | 5 |
20. | 2 | 2,3,8 | 1,2 | 1в | 4 | 3 | 6 |
21. | 3 | 2,4,5,8 | 2,3 | 2а | 1 | 4 | 7 |
22. | 4 | 2,4,6,8 | 1,3 | 2б | 2 | 5 | 1 |
23. | 5 | 1,3,8 | 1,2 | 2в | 3 | 6 | 2 |
24. | 6 | 1,3, | 2,3 | 1б | 4 | 1 | 3 |
25. | 7 | 2,4,5 | 1,3 | 1в | 1 | 2 | 4 |
26. | 8 | 2,4,6,7 | 1,2 | 2а | 2 | 3 | 5 |
27. | 9 | 2,4,5,8 | 2,3 | 2б | 3 | 4 | 6 |
28. | 1 | 2,4,6,8 | 1,3 | 2в | 4 | 5 | 7 |
29. | 2 | 1,3,8 | 1,2 | 1а | 1 | 6 | 1 |
30. | 3 | 1,3, | 2,3 | 1б | 2 | 1 | 2 |
31. | 4 | 2,4,5 | 1,3 | 1в | 3 | 2 | 3 |
32. | 5 | 2,4,6,7 | 1,2 | 2а | 4 | 3 | 4 |
33. | 6 | 2,3,8 | 2,3 | 2б | 1 | 4 | 5 |
34. | 7 | 2,4,5,8 | 1,3 | 2в | 2 | 5 | 6 |
35. | 8 | 2,4,6,8 | 1,2 | 1а | 3 | 6 | 7 |
36. | 9 | 1,3,8 | 2,3 | 1б | 4 | 1 | 1 |
37. | 1 | 1,3, | 1,3 | 1в | 1 | 2 | 2 |
38. | 2 | 2,4,5 | 1,2 | 2а | 2 | 3 | 3 |
39. | 3 | 2,4,6,7 | 2,3 | 2б | 3 | 4 | 4 |
40. | 4 | 2,4,5,8 | 1,3 | 2в | 4 | 5 | 5 |
41. | 5 | 2,4,6,8 | 1,2 | 1б | 1 | 6 | 6 |
42. | 6 | 1,3,8 | 2,3 | 1в | 2 | 1 | 7 |
43. | 7 | 1,3, | 1,3 | 2а | 3 | 2 | 1 |
44. | 8 | 2,4,5 | 1,2 | 2б | 4 | 3 | 2 |
45. | 9 | 2,4,6,7 | 2,3 | 2в | 1 | 4 | 3 |
46. | 1 | 2,3,8 | 1,3 | 1а | 2 | 5 | 4 |
47. | 2 | 2,4,5,8 | 1,2 | 1б | 3 | 6 | 5 |
48. | 3 | 2,4,6,8 | 2,3 | 1в | 4 | 1 | 6 |
49. | 4 | 1,3,8 | 1,3 | 2а | 1 | 2 | 7 |
50. | 5 | 1,3, | 1,2 | 2б | 2 | 3 | 1 |
51. | 6 | 2,4,5 | 2,3 | 2в | 3 | 4 | 2 |
52. | 7 | 2,4,6,7 | 1,3 | 1а | 4 | 5 | 3 |
53. | 8 | 2,4,5,8 | 1,2 | 1б | 1 | 6 | 4 |
54. | 9 | 2,4,6,8 | 2,3 | 1в | 2 | 1 | 5 |
55. | 1 | 1,3,8 | 1,3 | 2а | 3 | 2 | 6 |
56. | 2 | 1,3, | 1,2 | 2б | 4 | 3 | 7 |
57. | 3 | 2,4,5 | 2,3 | 2в | 1 | 4 | 1 |
58. | 4 | 2,4,6,7 | 1,3 | 1б | 2 | 5 | 2 |
59. | 5 | 2,3,8 | 1,2 | 1в | 3 | 6 | 3 |
60. | 6 | 2,4,5,8 | 2,3 | 2а | 4 | 1 | 4 |
61. | 7 | 2,4,6,8 | 1,3 | 2б | 1 | 2 | 5 |
62. | 8 | 1,3,8 | 1,2 | 2в | 2 | 3 | 6 |
63. | 9 | 1,3, | 2,3 | 1а | 3 | 4 | 7 |
64. | 1 | 2,4,5 | 1,3 | 1б | 4 | 5 | 1 |
65. | 2 | 2,4,6,7 | 1,2 | 1в | 1 | 6 | 2 |
66. | 3 | 2,4,5,8 | 2,3 | 2а | 2 | 1 | 3 |
67. | 4 | 2,4,6,8 | 1,3 | 2б | 3 | 2 | 4 |
68. | 5 | 1,3,8 | 1,2 | 2в | 4 | 3 | 5 |
69. | 6 | 1,3, | 2,3 | 1а | 1 | 4 | 6 |
70. | 7 | 2,4,5 | 1,3 | 1б | 2 | 5 | 7 |
71. | 8 | 2,4,6,7 | 1,2 | 1в | 3 | 6 | 1 |
72. | 9 | 2,3,8 | 2,3 | 2а | 4 | 1 | 2 |
73. | 1 | 2,4,5,8 | 1,3 | 2б | 1 | 2 | 3 |
74. | 2 | 2,4,6,8 | 1,2 | 2в | 2 | 3 | 4 |
75. | 3 | 1,3,8 | 2,3 | 1б | 3 | 4 | 5 |
76. | 4 | 1,3, | 1,3 | 1в | 4 | 5 | 6 |
77. | 5 | 2,4,5 | 1,2 | 2а | 1 | 6 | 7 |
78. | 6 | 2,4,6,7 | 2,3 | 2б | 2 | 1 | 1 |
79. | 7 | 2,4,5 | 1,3 | 2в | 3 | 2 | 2 |
80. | 8 | 2,4,6,7 | 1,2 | 1а | 4 | 3 | 3 |
Раздел №1
Постановка задачи
Операционная система – комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны – предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Постанока задачи предполагает выбор задания по варианту исходных элементов из таблицы 1.1 классификатора для дальнейшего их описания и реализации в операционной системе.
Для этого необходимо выполнить следующие этапы:
- сформулировать цели проектирования ОС;
- привести определения к теоретическим требованиям ОС с заданными характеристиками;
- провести анализ требований к операционной системе и обосновать выбор.
Содержание отчета
Описание раздела:
- общая постановка задачи;
- цель создания операционной системы;
- актуальность разработки и область применения;
- определения к теоретическим требованиям ОС с заданными характеристиками.
Раздел №2
Содержание отчета
Описание архитектуры:
‒ общая схема архитектуры вычислительной системы;
‒ архитектура процессора: регистры, способы адресации, система команд (выборочно);
‒ спецификации интерфейсов с ВУ;
‒ система прерываний;
‒ аппаратные средства обеспечения защиты.
Рекомендуемый формат списока прерываний приведен в таблице 2.1
Таблица 2.1 – Список прерываний
N | Тип | Наименование | Условие возникновения |
Раздел 3
Содержание отчета
Описание командного языка:
¾ таблица интерактивных команд;
¾ таблица системных вызовов;
¾ таблица команд пакетных файлов;
¾ дополнительные описания для сложных команд.
Рекомендуемый формат команд представлен в таблице 3.1.
Таблица 3.1 – Команд
Мнемоника | Наимено-вание | Параметр 1 | … … | Параметр N | Описание | ||
Тип | Диапазон значений | Умолчания | |||||
Раздел 4
Методические указания
1) Сначала необходимо ознакомиться с концепцией вытесняющей многозадачности и средствами взаимодействия потоков и процессов в среде ОС Windows.
2) Описать постановку задания для своего варианта (см. таб 4.1) с конкретизацией блоков обработок и структуры проекта.
3) Для своей конфигурации выбрать вариант разбиения проекта на потоки и механизмы синхронизации ивзаимодействия потоков. В зависимости от варианта необходимо использовать преимущественно рекомендованные средства взаимодействия ( в случае если предложенный объект синхронизации не пригоден для решения поставленной задачи, необходимо обосновать выбор другого средства взаимодействия).
4) Написать и отладить программу на языке программирования высокого уровня в среде WIN32 API (например можно использовать Microsoft Visual C++ и выше).
5) Составить отчет, при сдаче необходимо уметь проявлять свои знания вытесняющей многозадачности и средств взаимодействия потоков и процессов в среде ОС Windows.
Содержание отчета
1) Постановка задачи для своего варианта: структура проекта в виде графа (см.рис. 2.1), замечания по реализации алгоритмов, выбор средств взаимодействия потоков в проекте и обоснование этого выбора…
2) Листинги программ и спецификации основных процедур и функций. Содержание LOG-файла после выполнения программы.
Таблица 4.1 – Варианты заданий
Номер варианта | Номер конфигурации | Типы блоков обработки (Nblock) | |||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
1. | 3 | IT | IR | IT | IR | SS | IL | SS | SS |
2. | 2 | IT | IR | IT | IR | IT | IL | SS | SS |
3. | 1 | SC | IR | IT | IR | IT | IL | IT | SS |
4. | 3 | IT | SS | IT | IR | SS | IT | SC | SS |
5. | 2 | SC | IT | IT | IR | SS | IL | IT | IT |
6. | 1 | SS | SS | IT | IR | IT | SS | SS | IT |
7. | 3 | IT | SC | IT | IR | SS | IT | SS | SS |
8. | 2 | SS | SC | IT | IR | SS | SS | IT | SS |
9. | 1 | SC | IR | IT | SC | IT | SC | IT | SS |
10. | 2 | SC | IR | IT | IR | IT | SC | SS | IT |
11. | 3 | SC | IR | IT | IR | IT | SC | SS | IT |
12. | 3 | SS | IR | IT | IR | SS | IL | SS | IT |
13. | 2 | SS | IR | IT | IR | IT | IL | SS | IT |
14. | 2 | SS | SC | SC | IT | SS | IL | SS | SS |
15. | 1 | IT | IR | IT | IR | IT | IT | SS | SS |
16. | 1 | SS | IR | IT | IR | SS | IL | IT | IT |
17. | 3 | SS | IR | IT | SC | SS | IL | SS | IR |
18. | 3 | IT | IT | IT | IT | IT | IT | SS | SS |
19. | 3 | SS | SS | IT | IR | SS | IL | SS | SS |
20. | 2 | SS | SS | IT | IR | SS | IR | SS | IT |
21. | 2 | IT | IT | SC | IT | IT | IL | IT | IT |
22. | 2 | SS | IT | SC | IR | IT | IR | IT | IL |
23. | 1 | SS | SS | SS | SC | IT | IR | SS | IR |
24. | 1 | IT | IT | SC | IR | IT | IL | SS | SS |
25. | 1 | SS | IR | IT | IR | SS | SC | SS | SC |
26. | 2 | SC | IR | IT | IR | SS | IL | SS | SS |
27. | 3 | IR | IR | SC | IT | SS | IL | SS | SS |
28. | 1 | IR | IR | IT | SS | SC | IL | SS | SS |
29. | 2 | IR | IR | IT | SS | SS | IL | SS | SS |
30. | 1 | IT | IT | SC | IT | IT | IL | IT | IT |
31. | 3 | IT | IR | IT | IR | SS | IL | SS | SS |
32. | 2 | IT | IR | IT | IR | IT | IL | SS | SS |
33. | 1 | SC | IR | IT | IR | IT | IL | IT | SS |
34. | 3 | IT | SS | IT | SC | IT | IT | SC | SS |
35. | 2 | SC | IT | IT | SC | IR | IT | IT | IT |
36. | 1 | SS | SS | IT | SS | SC | IT | SS | IT |
37. | 3 | IT | SC | IT | SC | IR | IT | SS | SS |
38. | 2 | SS | SC | IT | IT | IR | SS | IT | SS |
39. | 1 | SC | IR | IT | IT | IR | SS | IT | SS |
40. | 2 | IR | SS | IT | SS | SC | IL | IR | SS |
41. | 3 | SС | SS | IL | SS | SC | IT | SS | IT |
42. | 2 | IT | IT | SC | IR | IT | IL | IT | SS |
43. | 1 | IT | IR | IT | IR | SS | IL | IT | SS |
44. | 3 | SС | IR | IT | IR | SS | IT | SС | SC |
45. | 2 | SC | IR | IT | IR | IT | SC | SC | IT |
46. | 3 | SC | IR | IT | IR | IT | SC | SC | IT |
47. | 2 | SS | IR | IT | IR | SS | IL | SS | IT |
48. | 1 | SS | IR | IT | IR | IT | IL | SS | IT |
49. | 3 | IT | IR | IT | IR | SS | IL | IT | SS |
50. | 2 | IT | IR | IT | IR | IT | IL | IT | SS |
51. | 1 | SS | IR | IT | IR | SС | IL | IT | IT |
52. | 2 | SS | IR | IT | IT | SS | IL | SS | IR |
53. | 3 | IT | IL | IR | IT | IT | IT | SS | SS |
54. | 2 | SС | SS | IL | IL | SC | IT | SS | IR |
55. | 3 | IT | IR | IT | IR | SS | IL | SS | SS |
56. | 2 | IT | IR | IT | IR | IT | IL | SS | SS |
57. | 1 | SC | IR | IT | IR | IT | IL | IT | SS |
58. | 3 | IT | SS | IT | IR | SS | IT | SC | SS |
59. | 2 | SC | IT | IT | IR | SS | IL | IT | IT |
60. | 1 | SS | SS | IT | IR | IT | SS | SS | IT |
61. | 3 | IT | SC | IT | IR | SS | IT | SS | SS |
62. | 2 | SS | SC | IT | IR | SS | SS | IT | SS |
63. | 1 | SC | IR | IT | SC | IT | SC | IT | SS |
64. | 2 | SC | IR | IT | IR | IT | SC | SS | IT |
65. | 3 | SC | IR | IT | IR | IT | SC | SS | IT |
66. | 3 | SS | IR | IT | IR | SS | IL | SS | IT |
67. | 2 | SS | IR | IT | IR | IT | IL | SS | IT |
68. | 2 | SS | SC | SC | IT | SS | IL | SS | SS |
69. | 1 | IT | IR | IT | IR | IT | IT | SS | SS |
70. | 1 | SS | IR | IT | IR | SS | IL | IT | IT |
71. | 3 | SS | IR | IT | SC | SS | IL | SS | IR |
72. | 3 | IT | IT | IT | IT | IT | IT | SS | SS |
73. | 3 | SS | SS | IT | IR | SS | IL | SS | SS |
74. | 2 | SS | SS | IT | IR | SS | IR | SS | IT |
75. | 2 | IT | IT | SC | IT | IT | IL | IT | IT |
76. | 2 | SS | IT | SC | IR | IT | IR | IT | IL |
77. | 1 | SS | SS | SS | SC | IT | IR | SS | IR |
78. | 1 | IT | IT | SC | IR | IT | IL | SS | SS |
79. | 1 | SS | IR | IT | IR | SS | SC | SS | SC |
80. | 2 | IT | IT | SC | IR | IT | IL | IT | SS |
Тип синхронизирующих объектов выбирается из классификатора.
|
Рисунок 4.1 – Номер конфигурации
Раздел 5
Содержание отчета
Описание состава и общей структуры системы:
‒ состав ОС: перечень файлов (ядро и системные процессы) и их назначение, порядок загрузки;
‒ структура ядра ОС: перечень модулей и их точек входа с кратким описанием назначения и указанием обрабатываемых прерываний;
‒ способ реализации системных вызовов и передачи параметров.
Рекомендуемый формат таблицы модулей ядра.
Таблица 5.1 – Описания модулей ядра.
Наименование модуля | Назначение | Обрабатываемое прерывание |
Раздел 6
Формирование базы данных ОС
Совокупность данных, используемую ОС для управления процессами и ресурсами, называют базой данных ОС (БД ОС). Основная часть базы данных размещается в ядре системы, что обеспечивает ее надежную защиту.
Большая часть элементов базы данных создается и уничтожается динамически. Также динамически создаются и модифицируются связи между элементами. Поэтому для реализации БД ОС, как правило, используют многосвязные списочные структуры данных.
Основу базы данных составляют управляющие блоки, объединяемые в списки сложной структуры. Заголовки основных списков и некоторые глобальные системные переменные образуют статическую часть базы данных. Динамически создаваемые и уничтожаемые блоки размещаются в куче ядра (kernel heap).
Управляющие блоки создаются для каждого типа ресурсов, а также для каждого процесса и для элементов, обеспечивающих взаимодействие процессов. Управляющий блок содержит общее описание параметров ресурса/процесса, а также подробную информацию о текущем состоянии. Управляющие блоки одного типа могут объединяться в общий список (очередь), либо группироваться в несколько списков для различных состояний (очередь готовых процессов, очередь блокированных процессов).
Содержание отчета
Описание базы данных ОС:
‒ перечень и назначение управляющих блоков и очередей;
‒ общая схема организации БД -взаимосвязи управляющих блоков;
‒ описание структуры управляющих блоков;
‒ описание файловой структуры МД: схема, описания элементов.
Раздел 7
Управления файловой систем
Для своего варианта разработать программный эмулятор файловой системы, который должен уметь создавать и манипулировать файловой системой (ФС), используя в качестве носителя файл прямого доступа (файл-образ), необходимого размера.
Эмулятор должен реализовывать следующее минимальное множество команд:
1) Создание ФС в файле образа.
Например :
Emulator Fsfname.im /INFO
3) Копирование файлов.
Например :
a) копирование файлов в образ ФС
Emulator Fsfname.im /DIR
6) Оптимизация расположения файлов в ФС. (аналог SpeedDisk или DiskDEfragmenter).
Методические указания
Для уменьшения трудоемкости работы предлагается придерживаться следующих рекомендаций:
1) для проектируемой ФС не реализовывать иерархическое представление (например для DOS-а иметь только корневой каталог)
2) для файлов хранить минимум атрибутов (например только имя и расширение, совместимое с DOS-ом)
3) не реализовывать систему защиты.
При этом основное внимание следует сосредоточить на реализации логики функционирования ф.с.
Работу можно разбить на несколько этапов:
I. Проектирование ФС
1) описать постановку задания для своего варианта;
2) ознакомиться с устройством, принципами и алгоритмами функционирования файловой системы Операционной Системы, предложенной в качестве прототипа;
3) спроектировать свою ФС:
a) Общее описание ФС
b) Спецификации ФС (форматы и структуры данных)
c) Спецификации сновных запросов к ФС (Open/Close/Seek/Flush и т.д.)
II. Реализация эмулятора ФС
4) Проектирование эмулятора (спецификация команд эмулятора)
- синтаксис и семантика команд (в случае реализации интерфейса в командной строке)
- описание пунктов меню и основных диалогов …
5) Разработка алгоритмов функционирования
6) Программирование эмулятора
7) Отладка:
В качестве теста можно использовать следующую последовательность действий (просматривая после каждого шага листинг состояния ф.с.):
1- создать ФС объемом 100kB
2- скопировать в ФС файл f20 (размером 20kB)
3- скопировать в ФС файл f10 (размером 10kB)
4- скопировать в ФС файл f40 (размером 40kB)
5- удалить из ФС файл f10
6- скопировать в ФС файл f30 (размером 30kB)
7- удалить из ФС файл f30
8- скопировать в ФС файл f5 (размером 5kB)
9- скопировать в ФС файл f60 (размером 60kB)
10- удалить из ФС файл f20
11- оптимизировать ФС
Примечание: в данном тестовом примере не учитываются эффекты выравнивания при кластерной организации ФС.
Содержание отчета
1) Общее описание спроектированной ФС
2) Спецификации ФС (форматы и структуры данных)
3) Спецификация команд эмулятора:
- синтаксис и семантика команд (в случае реализации интерфейса в командной строке)
- описание пунктов меню и основных диалогов …
4) исходные тексты основных модулей, определяющих структуры данных и логику работы системы
5) распечатку листинга состояния ФС после применения тестовой последовательности команд, демонстрирующей особенности функционирования системы
6) Выводы: анализ функционирования спроектированной ФС и предложения по ее улучшению.
Варианты заданий:
В качестве прообраза ФС в зависимости от варианта (по классификатору) необходимо реализовать в эмуляторе следующие дополнительные команды:
1) Добавить к файлу
2) Усечение файла
3) Удаление всех файлов сразу (Quick Format)
Реализовать утилиту подсчета потерь дискового пространства в “хвостах” файлов (WASTE).
Раздел 8
Содержание отчета
Описание функционирования ОС:
- диаграмма состояний процесса;
- общая схема функционирования ОС;
- схема работы ядра ОС: взаимосвязи модулей, управление прерываниями, переключение контекста процессора.
Пример общей схема работы ядра приведен на рисунке 8.1
|
Рисунок 8.1 – Общая схема работы ядра ОС
Л И Т Е Р А Т У Р А
Основная:
1. Таненбаум Э. Современные операционные системы / Э.Таненбаум, Х.Бос // 4-е изд. –СПб.: Питер, 2015. – 1120 с.: ил.
2. Руссинович М. Внутреннее устройство Microsoft Windows / М. Руссинович, Д. Соломон // 6-е изд. — СПб.: Питер, 2013. — 800 с.: ил.
3. Кофлер М. Linux. Полное руководство. — СПб.: Питер, 2011. — 800 с.: ил.
4. Голощапов А. Л. Google Android: системные компоненты и сетевые коммуникации. — СПб.: БХВ-Петербург, 2012. — 384 с.: ил.
5. Олифер Н. А., Олифер В. Г. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов, 4-е изд. - СПб.: Питер, 2011. – 944 с.: ил.
6. Олифер Н. А., Олифер В. Г. Сетевые операционные системы- СПб.: Питер, 2007. – 864 с.: ил.
Дополнительная:
7. .Мешков А.,Тихонов Ю. Visual C++ и MFC. Программирование для Windows NT и Windows 95-:В трех томах. Том 1.-СПб.:BHV- Санкт-Петербург,1997.-464с.,ил.
8. Вильямс А. Системное программирование в Windows 2000 для профессионалов – СПб: Питер, 2001. – 624 с.: ил. Харт, Джонсон, М. Системное программное обеспечение в среде Windows, 3-е издание. :Пер.с англ. М. Издательский дом «Вильямс», 2005. – 592 с.:ил.
9. Альфред Ахо, Рави Сети, Джеффри Ульман Компиляторы: принципы, технологии и инструменты. : Пер. с англ. – М. : Издательский дом «Вильямс», 2001.-768 с. :ил.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ
ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КП-6.050103-13-027.001.ПЗ Кафедра программного обеспечения
интеллектуальных систем
КУРСОВАЯ РАБОТА
по дисциплине: «Операционные системы»
Тема: «Проектирование операционной системы с заданными характеристиками»
Руководители:
(дата, подпись) ст.преп. А.И. Ольшевский
(дата, подпись) ст.преп. Р.А. Сорокин
Нормоконтроль:
(дата, подпись) ст.преп. А.И. Ольшевский
(дата, подпись) ст.преп. Р.А. Сорокин
Разработал:
(дата, подпись) ст. гр. ПОС-12а Д. В. Шепляков
Донецк
2013
Форма № У 6.01
Донецкий национальный технический университет __________________
(назва вищого навчального закладу)
Кафедра Программного обеспечения интеллектуальных систем_________________________
Дисципліна Операционные системы________________________________________________
Спеціальність Программное обеспечение систем
Курс _3_________ Група _____ПЗС-12а_____________ Семестр __________________5______
З А В Д А Н Н Я
на курсовий проект (роботу) студента
Головко Владимира Михайловича
(прізвище, ім’я, по батькові)
1. Тема проекту (роботи) Проектирования операционной системы с заданными характеристиками (аппаратная платформа – сверхпроизводительные ЭВМ и системы (супер-ЭВМ), алгоритм управления ресурсами – (многозадачные, многопользовательские, вытесняющая многозадачность), особенности областей использования (системы пакетной обработки, системы реального времени), организация оперативной памяти без использования внешней памяти с переменными разделами и уплотнением памяти, средства взаимодействия процессов: критические секции и потоки, управление процессами –абсолютные приоритеты, организация файловой системы – HPFS ( OS /2).__________________
_________________________________________________________________________________
_________________________________________________________________________________ _________________________________________________________________________________
2. Строк здачі студентом закінченого проекту (роботи) 20.12.2013________________________
3. Вихідні дані до проекту (роботи) архитектура аппаратных средств компьютера, интерфейс пользователя (командный язык), состав и общая структура ОС, базы данных ОС, средства взаимодействия процессов, структура и реализация логики управления файловой системы,общее описание функционирования ОС ____________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
4. Зміст розрахунково-пояснювальної записки (перелік питань, які підлягають розробці) _____
состав и общая структура ОС, базы данных ОС, средства взаимодействия процессов, структура и реализация логики управления файловой системы_____________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень) ____________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________ _________________________________________________________________________________
6. Дата видачі завдання 05.09.2013__________________________________________________
КАЛЕНДАРНИЙ ПЛАН
№ п/п | Найменування етапів дипломного проекту (роботи) | Строк виконання етапів проекту (роботи) | Примітка |
1 | Выбор исходных элементов из классификатора для изучение проектного решения | 1-2 недели | |
2 | Разработка архитектуры аппаратных средств компьютера для реализации ОС | 2-3 недели | |
3 | Разработка интерфейса пользователя (командного языка) | 3-4 недели | |
4 | Проектирование основных структур данных и базы данных ОС | 5-8 недели | |
5 | Программирование и отладка средства взаимодействия процессов | 9-11 недели | |
6 | Программирование и отладка логики управления файловой системы | 12-14 недели | |
7 | Написание программной документации и оформление пояснительной записки | 15 неделя | |
8 | Защита КП | 16 неделя | |
Студент________________________________
(підпис)
Керівник __________________________________ Ольшевский А.И._____
(підпис) (прізвище, ім’я, по батькові)
«____» ____________________ 20 ___ р.
РЕФЕРАТ
Пояснительная записка: 95 с., 9 табл., 22 рис., 10 источников, 4 прил.
Целью создания проекта является приобретение практических навыков создания операционных систем и комплексного инженерного проектирования программного обеспечения, а также изучение особенностей различных алгоритмов управления ресурсами, организации оперативной памяти, средств взаимодействия процессов, а также организации файловых систем. Проект предназначен для демонстрации работы алгоритмов, связанных с операционными системами. Проектируемая операционная система может быть использована в учебных заведениях в качестве наглядного пособия при обучении приемам и правилам построения интерактивной операционной системы. Данный курсовой проект может ознакомить всех желающих с особенностями операционных систем и алгоритмов, применяемых ОС в управлении ресурсами. А также принципами работы файловой системы UNIX.
АРХИТЕКТУРА, ЯДРО, СИСТЕМНЫЙ ВЫЗОВЫ, ПРОЦЕССОР, МОДУЛЬ, БАЗА ДАННЫХ, СИСТЕМА КОМАНД, СЕМАФОР, ПАМЯТЬ, СИНХРОНИЗАЦИЯ, ПРОЦЕСС
| ||||||||||||
| ||||||||||||
Фамилия | Подпись | Дата | ||||||||||
Разработал | Проектирование операционной системы с заданными характеристиками | Литера | Лист | Листов | ||||||||
Рук. проекта | Ольшевский А.И | у | 3 | 95 | ||||||||
| ИИИИ, каф. ПОИС, группа ПОС-12а | |||||||||||
Н. контр. | ||||||||||||
Зав. каф. | Шевченко А.И. | |||||||||||
СОДЕРЖАНИЕ
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Разработал | Фамилия | Подпись | Дата | КП-6.050103-13-063.001.ПЗ | Лист | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ст. гр. ПОС-11а | Головко В.М | 4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Разработал | Фамилия | Подпись | Дата | КП-6.050103-13-063.001.ПЗ | Лист | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ст. гр. ПОС-11а | Головко В.М | 5 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ПЕРЕЧЕНЬ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ
КП — Курсовой проект ПО — Программное обеспечение ПП — Программный продукт ОС — Операционная система ЭВМ — Электронная вычислительная машина БД — База данных ФС — Файловая система ОЗУ — Оперативное запоминающее устройство ОП — Оперативная память БД — База данных
| |||||||
Разработала | Фамилия | Подпись | Дата |
| Лист | ||
6 | |||||||
Приложение А
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
А.1 Общие сведения
Полное наименование курсового проекта: «Проектирование операционной системы с заданными характеристиками».
Программный продукт проектируется студенткой 3-го курса ВУЗ ДонНТУ, факультета КНТ, группы СИИ-11 Фамилия Имя Отчество
Основанием для разработки данного проекта является задание, выданное кафедрой Программного обеспечения интеллектуальных систем (ПОИС) ИиИИ ВУЗ ДонНТУ.
Дата выдачи задания: 05.09.2018
Срок сдачи проекта: 20.12.2018
А.2 Назначение и цели создания проекта
Целью создания проекта является приобретение практических навыков комплексного инженерного проектирования программного обеспечения на примере создания операционной системы с заданными характеристиками. Проект предназначен для демонстрации работы алгоритмов управления потоками и выполнению основных команд файловой системы.
Проектируемая операционная система может быть использована в учебных заведениях в качестве наглядного пособия при обучении приемам и правилам проектирования операционной системы.
А.3 Требования к КП
Необходимо спроектировать компьютерную операционную систему.
А.3.1 Требования к задачам КП
В КП должны быть решены следующие задачи:
12. Сформулировать цели проектирования ОС.
13. Провести анализ требований к системе и выбрать способ их реализации.
14. Разработать архитектуру аппаратных средств компьютера для реализации ОС.
15. Определить состав и общую структуру ОС: перечень и внешние спецификации модулей.
16. Разработать интерфейс пользователя (командный язык архитектуры ОС: интерактивные команды ОС; системные вызовы; язык пакетных файлов).
17. Спроектировать базу данных ОС: перечень и описание управляющих блоков и очередей.
18. Описать общее функционирования ОС:
¾ состояние процесса;
¾ схему работы ядра ОС;
¾ алгоритмы управления процессами для реализации многозадачности и средств взаимодействия процессов.
19. Спроектировать структуру и реализовать логику управления заданной файловой системы.
20. Выполнить оценку работоспособности системы и ее эксплуатационных характеристик.
21. Сформулировать выводы по результатам проектирования.
А.3.2 Требования к функциональности КП
Разрабатываемый в рамках данного проекта программный продукт должен удовлетворять следующим требованиям к его функциональности по классификатору:
1. реализация особенностей аппаратных платформ: большие ЭВМ (универсальные ЭВМ общего назначения);
2. реализация особенностей алгоритмов управления ресурсами: многозадачные, многопользовательские, вытесняющая многозадачность;
3. реализация особенности областей использования: системы пакетной обработки и системы разделения времени;
4. организация оперативной памяти: с использованием внешней памяти: страничное распределение ;
5. выполнение средств взаимодействия процессов: взаимоисключения ( mutexes);
6. управление процессами: относительные приоритеты;
7. выполнение организации файловой системы: NTFS( Windows NT).
А.3.4 Требования к видам обеспечения
А.3.4.1 Требования к программному обеспечению
1. Программный продукт должен проектироваться как операционная система.
2. При разработке проекта должен использоваться объектно-ориентированный язык программирования С++.
А.3.4.2 Требования к техническому обеспечению
К техническому обеспечению предъявляются следующие требования:
1. Процессор с тактовой частотой 1000 MHz и выше, системой команд, включающей команды микропроцессора Pentium .
2. Объём оперативной памяти 1 Гб.
3. Клавиатура.
4. Мышь.
А.3.4.3 Требования к организационному обеспечению
Организационным обеспечением по данному проекту составляет пояснительная записка. Она должна включать в себя следующие элементы:
1. Техническое задание на курсовой проект.
2. Руководство пользователя.
3. Экранные формы.
4. Листинг программы.
А.4 Порядок защиты проекта
При защите проекта должны соблюдаться следующие требования:
1. Защита проекта проводится в присутствии соответствующей приемной комиссии.
2. Для защиты проекта необходимо в оговоренные сроки представить:
- задание на курсовой проект;
- пояснительную записку на курсовой проект;
- исполняемый файл программы.
А.5 Сроки выполнения курсового проекта
Стадии и этапы разработки КП представлены в таблице 5.1.
Таблица 5.1. Стадии и этапы разработки КП
№ | Этапы работы | Срок выполнения |
1 | Выбор исходных элементов из классификатора для изучение проектного решения. | 1-2 недели |
2 | Разработка архитектуры аппаратных средств компьютера для реализации ОС | 2-3 недели |
3 | Разработка интерфейса пользователя (командного языка) | 3-4 недели |
4 | Проектирование основных структур данных и базы данных ОС | 5-8 недели |
5 | Программирование и отладка средства взаимодействия процессов | 9-13 недели |
6 | Отладка программы | 14 неделя |
7 | Оформление ПЗ | 15 неделя |
8 | Защита КП | 16 неделя |
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК И ТЕХНОЛОГИЙ
КАФЕДРА «ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И СИСТЕМНЫЙ АНАЛИЗ»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Дата: 2019-02-25, просмотров: 292.