КАФЕДРА «ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И СИСТЕМНЫЙ АНАЛИЗ»
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК И ТЕХНОЛОГИЙ

КАФЕДРА «ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И СИСТЕМНЫЙ АНАЛИЗ»

 

 

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ

ПО ДИСЦИПЛИНЕ « Операционные системы »

 

для студентов направления подготовки

Информационные системы и технологии»

Профиля «Интеллектуальные информационные системы»

 
   
Рассмотрены на заседании кафедры «Искусственный интеллект и системный анализ» Протокол № 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 2 1
2. 2 2,4,6,8 1,2 2 3 2
3. 3 1,3,8 2,3 3 4 3
4. 4 1,3, 1,3 4 5 4
5. 5 2,4,5 1,2 1 6 5
6. 6 2,4,6,7 2,3 2 1 6
7. 7 2,3,8 1,3 3 2 7
8. 8 2,4,5,8 1,2 4 3 1
9. 9 2,4,6,8 2,3 1 4 2
10. 1 1,3,8 1,3 2 5 3
11. 2 1,3, 1,2 3 6 4
12. 3 2,4,5 2,3 4 1 5
13. 4 2,4,6,7 1,3 1 2 6
14. 5 2,4,5,8 1,2 2 3 7
15. 6 2,4,6,8 2,3 3 4 1
16. 7 1,3,8 1,3 4 5 2
17. 8 1,3, 1,2 1 6 3
18. 9 2,4,5 2,3 2 1 4
19. 1 2,4,6,7 1,3 3 2 5
20. 2 2,3,8 1,2 4 3 6
21. 3 2,4,5,8 2,3 1 4 7
22. 4 2,4,6,8 1,3 2 5 1
23. 5 1,3,8 1,2 3 6 2
24. 6 1,3, 2,3 4 1 3
25. 7 2,4,5 1,3 1 2 4
26. 8 2,4,6,7 1,2 2 3 5
27. 9 2,4,5,8 2,3 3 4 6
28. 1 2,4,6,8 1,3 4 5 7
29. 2 1,3,8 1,2 1 6 1
30. 3 1,3, 2,3 2 1 2
31. 4 2,4,5 1,3 3 2 3
32. 5 2,4,6,7 1,2 4 3 4
33. 6 2,3,8 2,3 1 4 5
34. 7 2,4,5,8 1,3 2 5 6
35. 8 2,4,6,8 1,2 3 6 7
36. 9 1,3,8 2,3 4 1 1
37. 1 1,3, 1,3 1 2 2
38. 2 2,4,5 1,2 2 3 3
39. 3 2,4,6,7 2,3 3 4 4
40. 4 2,4,5,8 1,3 4 5 5
41. 5 2,4,6,8 1,2 1 6 6
42. 6 1,3,8 2,3 2 1 7
43. 7 1,3, 1,3 3 2 1
44. 8 2,4,5 1,2 4 3 2
45. 9 2,4,6,7 2,3 1 4 3
46. 1 2,3,8 1,3 2 5 4
47. 2 2,4,5,8 1,2 3 6 5
48. 3 2,4,6,8 2,3 4 1 6
49. 4 1,3,8 1,3 1 2 7
50. 5 1,3, 1,2 2 3 1
51. 6 2,4,5 2,3 3 4 2
52. 7 2,4,6,7 1,3 4 5 3
53. 8 2,4,5,8 1,2 1 6 4
54. 9 2,4,6,8 2,3 2 1 5
55. 1 1,3,8 1,3 3 2 6
56. 2 1,3, 1,2 4 3 7
57. 3 2,4,5 2,3 1 4 1
58. 4 2,4,6,7 1,3 2 5 2
59. 5 2,3,8 1,2 3 6 3
60. 6 2,4,5,8 2,3 4 1 4
61. 7 2,4,6,8 1,3 1 2 5
62. 8 1,3,8 1,2 2 3 6
63. 9 1,3, 2,3 3 4 7
64. 1 2,4,5 1,3 4 5 1
65. 2 2,4,6,7 1,2 1 6 2
66. 3 2,4,5,8 2,3 2 1 3
67. 4 2,4,6,8 1,3 3 2 4
68. 5 1,3,8 1,2 4 3 5
69. 6 1,3, 2,3 1 4 6
70. 7 2,4,5 1,3 2 5 7
71. 8 2,4,6,7 1,2 3 6 1
72. 9 2,3,8 2,3 4 1 2
73. 1 2,4,5,8 1,3 1 2 3
74. 2 2,4,6,8 1,2 2 3 4
75. 3 1,3,8 2,3 3 4 5
76. 4 1,3, 1,3 4 5 6
77. 5 2,4,5 1,2 1 6 7
78. 6 2,4,6,7 2,3 2 1 1
79. 7 2,4,5 1,3 3 2 2
80. 8 2,4,6,7 1,2 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 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 IR IT IR SS IT 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 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 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

 

 
                       │              ┌───────┴─────────┐ Save ( Current )   Вход в ядро│ KERNEL _ ENTRY │              └───────┬─────────┘ Set ( Kernel )       ┌──────────────┴───────────────────┐   ┌───┴───┐ . . . . . . . . . . ┌───┴───┐ ┌───>│ М1 │                     │ МN │ Модули   │ └───┬───┘ . . . . . . . . . . └───┬───┘ │ ───┴───────────┬────────┬────────────┬┴─── │         Конец │   │Переплани- │Выход без │         кванта│ . . . │рование │перепланирования │            ┌──┴────────┴──┐    │ └────────────────>│ Планировщик │    │ Изменить состояние└──────┬───────┘    │ процесса        │ ┌────────────┘               ┌───────┴────┴──┐ Выход из ядра│KERNEL _ EXIT │ Set ( Current )               └───────┬───────┘                       │  

 

 


Рисунок 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а

Н. контр.

     

Зав. каф.

Шевченко А.И.    
                     

 

 

СОДЕРЖАНИЕ

 

Введение………………………………………………………………………… 8
1 Постановка задачи……………………………………………………………. 10
1.1 Общая постановка задачи………………………………………………….. 10
1.2 Цель создания курсового проекта…………………………………………. 10
1.3 Актуальность разработки и область применения ………………………... 10
2 Теоретические сведения……………………………………………………… 11
2.1 Классификация ОС ………………………………………………………… 11
2.2 Особенности алгоритмов управления ресурсами………………………… 11
2.2.1 Поддержка многозадачности…………………………………………….. 11
2.2.2 Поддержка многопользовательского режима…………………………... 11
2.2.3 Вытесняющая и невытесняющая многозадачнсть……………………… 12
2.2.4 Многопроцессорная обработка …………………………………………. 12
2.3 Особенности аппаратных платформ………………………………………. 13
2.4 Особенности областей использования…………………………………….. 15
2.5 Особенности методов построения………………………………………… 17
2.6 Уплотнение памяти…………………………………………………………. 20
2.7 Средства синхронизации и взаимодействия процес сов и потоков……... 21
2.8 Алгоритмы планирования, основанные на приоритетах………………… 21
2.9 Обзор файловой системы HPFS (OS/2)……………………………………. 22
3 Выбор архитектуры вычислительной системы……………………………... 24
3.1 Общая схема архитектуры вычислительной системы…………………… 24
3.2 Описание ВС………………………………………………………………... 26
3.3 Векторные суперкомпьютеры  SIMD ……………………………………. 28
3.4 Многопроцессорные векторные суперкомпьютеры MIMD……………... 30
3.5 Архитектура процесора ……………………………………………………. 32
3.6 Спецификация интерфейсов ВУ…………………………………………… 35
3.6.1 Система прерываний……………………………………………………... 35
3.6.2 Аппаратные средства обеспечения защиты…………………………… 38
4 Вытесняющая многозадачность и средства взаимодействия в ОС Windows XX и Windows NT…………………………………………………….   40
4.1 Структура проекта в виде графа…………………………………………… 40
4.2 Реализация алгоритмов…………………………………………………….. 40
4.2.1 Метод левых прямоугольников …………………………………………. 40
4.2.2 Метод правых прямоугольников ………………………………………... 41
4.2.3 Метод трапеций…………………………………………………………... 41
4.3 Выбор средств взаимодействия потоков………………………………….. 41

 

 

Разработал Фамилия Подпись Дата

КП-6.050103-13-063.001.ПЗ

Лист
ст. гр. ПОС-11а Головко В.М     4
         

 

 

 

4.4 Содержание log-файла после работы системы…………………………… 43
5 Проектирование командного языка ОС …………………………………….. 44
5.1 Требования к системе команд……………………………………………… 44
5.2 Интерактивные команды…………………………………………………… 44
5.3 Системные вызовы…………………………………………………………. 47
5.4 Язык пакетных файлов……………………………………………………... 48
6 Определение состава и общей структуры системы ………………………... 50
6.1 Ядро и вспомогательные модули ОС……………………………………… 50
6.2 Многослойная структура ОС………………………………………………. 53
6.3 Системные процессы……………………………………………………….. 57
6.4 Системные вызовы управления процессами……………………………… 58
6.5 Структура ядра ОС ………………………………………………………… 58
6.6 Подсистема управления файлами…………………………………………. 60
6.7 Подсистема управления процессами……………………………………… 60
7 Формирование базы данных ОС…………………………………………….. 62
7.1 Перечень, назначение и структура управляючих блоков………………... 62
7.2 Системная таблица файлов………………………………………………… 62
7.3 Список загружаемых драйверов устройств……………………………….. 63
7.4 Блок описания дисков DINFO……………………………………………... 64
7.5 Общая схема организации БД……………………………………………... 65
8 Проектирование структуры и реализация логики управления файловой системы…………………………………………………………………………..   67
8.1 Общее описание файловой системы HPFS (OS/2)………………………... 67
8.2 Описание команд………………………………………………………….. 68
9 Общее описание команд функционирования ОС ………………………… 69
9.1 Состояние процессов……………………………………………………… 69
9.2 Описание процессов………………………………………………………. 77
9.3 Управление процессами…………………………………………………... 78
9.4 Общая структура проектируемой ОС……………………………………. 79
Выводы………………………………………………………………………… 80
Список используемых источников…………………………………………… 81
Приложение А Техническое задание………………………………………… 82
Приложение Б Листинги……………………………………………………… 84
Б.1 Листинг реализации многопоточности………………………………….. 84
Б.2 Листинг программы реализации файловой системы…………………… 95
Приложение В Экранные формы…………………………………………….. 99
   
   

 

Разработал Фамилия Подпись Дата

КП-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, просмотров: 246.