Планувальник руху голівок
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСТИТЕТ
«ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
КАФЕДРА
«Обчислювальна техніка та програмування»
КУРСОВИЙ
ПРОЕКТ
За предметом:
«Системне програмне
Тема: «Планувальник
руху голівок»
Залікова книжка №06106
Харків 2010
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСТИТЕТ
«ХАРКІВСЬКИЙ
ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
КАФЕДРА
«Обчислювальна техніка та програмування»
Планувальних руху голівок
Специфікация
ЛИСТ ЗАТВЕРДЖЕННЯ
КІТ 28б.06106-10
ЛЗ
Студент групи КІТ 28б
Харків 2010
ЗАТВЕРДЖЕНО
КІТ 28б.06106-10 ЛЗ
Планувальник руху голівок
Специфікація
КІТ 28б.06106-10
Листів
2
Харків 2010
-2-
КІТ 28б.06106-10
| Позначення | Найменування | Примітка |
| Документація | ||
| КІТ 28б.06106-10 811-01 | Планувальник руху голівок. | |
| Текст програми | ||
| КІТ 28б.06106-10 811-01 | Планувальник руху голівок. | |
| Опис програми | ||
| КІТ 28б.06106-10 811-01 | Планувальник руху голівок. | |
| Пояснювальна записка. | ||
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСТИТЕТ
«ХАРКІВСЬКИЙ
ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
КАФЕДРА
«Обчислювальна техніка та програмування»
Планувальних руху голівок
Технічне завдання
ЛИСТ ЗАТВЕРДЖЕННЯ
КІТ 28б.06106-10
90 1-01 ЛЗ
Харків 2010
ЗАТВЕРДЖЕНО
КІТ 28б.06106-10
90 1-01 ЛЗ
Планувальник руху голівок
Технічне завдання
КІТ 28б.06106-10 90 1-01
Листів
4
Харків 2010
-2-
КІТ 28б.06106-10 90 1-01
ВСТУП
Будь
яка операційна система має в
своєму складі планувальник руху голівок.
Цей модуль обирає з висхідної черги голівкок,
згідно зі своїм алгоритмом роботи, одну
голівку для його виконання.Дослідження
ефективності алгоритму планувальника
руху голівок дозволяє вивчити поведінку
дискових драйверів, їх ефективність і
здатність до виконання певного класу
задач. Імітаційне моделювання роботи
планувальника руху голівок дозволяє
визначити базові характеристики обраного
алгоритму та зробити висновки щодо його
ефективності.
1 ПІДСТАВА ДЛЯ РОЗРОБКИ
Підставою
для розробки є навчальний план підготовки
бакалаврів за напрямом «Комп’ютерна
інженерія» та індивідуальне завдання
на курсове проектування з дисципліни
« системне програмне забезпечення», видане
керівником проекту. Тема курсового проекту
«планувальник руху голівок»
2 ПРИЗНАЧЕННЯ РОЗРОБКИ
3 ВИМОГИ ДО ПРОГРАМИ АБО ДО ПРОГРАМНОГО ВИРОБУ
Програма має виконувати імітаційне моделювання планувальника руху голівок за вказаним алгоритмом.
3.1 Вимоги
до функціональних
Программа, яка розробляється, має забезпечувати виконання таких функцій:
- виконувати імітаційне моделювання для кількості голівок на магнітному диску від 1-200
- виконувати моделювання алгоритма планування руху голівок за дисципліною FCFS
- зберігати результати переміщення голівок на магнітному диску в текстовому файлі
- виводити результати переміщення голівок в консольний додаток.
3.2 Вимоги до надійності
Програмний
виріб має надійно
-3-
КІТ 28б.06106-10 90 1-01
3.3 Умови експлуатації
Умови
експлуатації програмного виробу цілком
ґрунтуються на вимогах експлуатації
технічних засобів та носіїв даних,
що використовуються.
- Вимоги до складу і параметрів технічних засобів.
Для функціонування програмного виробу необхідна ПЕОЕМ (процесор Intel 80486 або краще) з таким мінімальним переліком периферійних пристроїв:
- накопичувач на жорсткому магнітному диску
- відеоадаптер класу VGA або краще
- клавіатура
- пристрій введення «миша».
- Вимоги до інформаційної і програмної сумісності
Операційна
система, в середовищі якої має функціонувати
програмній виріб – Microsoft Windows XP або краще.
Мова програмування Visual C++ версії 6 або
вище.
3.6. Вимоги до маркування та пакування.
Вимоги
до маркування та пакування не висуваються.
3.7 Вимоги
до транспортування і
Вимоги до транспортування
і зберігання програмного виробу
цілком визначаються вимогами до транспортування
і зберігання носіїв даних, що використовуються.
3.8 Спеціальні вимоги
Спеціальні вимоги
до часових та ємкісних характеристик
програми не висуваються.
- ВИМОГИ ДО ПРОГРАМНОЇ ДОКУМЕНТАЦІЇ
Програмно документація
до даного програмного продукту має
включати в себе такі документи, як
специфікація, текст програми, опис
програми, пояснювальна записка.
- ТЕХНІКО-ЕКОНОМІЧНІ ПОКАЗНИКИ
Техніко-економічні
показники в даному курсовому
проекті не розраховуються.
- СТАДІЇ ТА ЄТАПИ РОЗРОБКИ
Розробка програми має проводитися за таким планом:
- одержання завдання( до 7 вересня 2010 р.);
- розробка технічного завдання та його затвердження( 14 вересня 2010 р.);
-4-
КІТ 28б.06106-10 1090 1-01
- огляд літератури і обґрунтування необхідності розробки( 21 вересня 2010 р.);
- аналіз і виріб метода вирішення поставленого завдання (28 вересня 2010р.);
- розробка структури вхідних та вихідних даних, уточнення методів рішення завдання (5 жовтня 2010 р.);
- опис і розробка алгоритму рішення завдання( 19 жовтня 2010 р.);
- розробка та затвердження документа «Пояснювальна записка» (26 жовтня 2010р.);
- розробка структури програми та остаточне визначення конфігурації технічних засобів (10 листопада 2010 р.);
- розробка програми( 24 листопада 2010 р.);
- іспити і налагоджування( 1 грудня 2010 р.);
- розробка програмної документації (15 грудня 2010 р.)
Термін виконання
роботи 25 грудня 2010 р.
- ПОРЯДОК КОНТРОЛЮ І ПРИЙМАННЯ
Контроль і приймання розробки
здійснюється на основі
Під час приймання програмного виробу перевіряється:
- комплектність, зміст і оформлення програмної документації;
- відповідність розробленого програмного виробу функціональним характеристикам;
- відповідність розробленого програмного виробу обговореному програмному та апаратному середовищу;
- надійність функціонування.
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСТИТЕТ
«ХАРКІВСЬКИЙ
ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
КАФЕДРА
«Обчислювальна техніка та програмування»
Планувальних руху голівок
Пояснювальна записка
ЛИСТ ЗАТВЕРДЖЕННЯ
КІТ 28б.06106-10
81 1-01 ЛЗ
Харків 2010
ЗАТВЕРДЖЕНО
КІТ 28б.06106-10
81 1-01 ЛЗ
Планувальник руху голівок
Пояснювальна записка
КІТ 28б.06106-10 81 1-01
Листів
6
Харків 2010
-2-
КІТ 38. 08111
81 1-01
ЗМІСТ
Вступ…………………………………………………………………
1 Призначення
та галузь застосування…………………………....……..
2 Технічні
характеристики…………………….…………………
2.1 Постановка
задачі на розробку програми,
опис застосованих
2.1.1 Постановка
задачі………………………………………………….……….
2.1.2 Опис застосованих математичних методів………….………….….……..3
2.2 Опис алгоритму та функціонування програми обґрунтування вибору схеми
алгоритму вирішення задачі …………………………………….…….…...5
2.2.1 Алгоритм
програми……………………...……………………………
2.2.2 Функціонування
програми……....……………………………………..
2.3 Опис
і обґрунтування методу
2.3.1 Вхідні
дані…………………………….……………………………………
2.3.2 Вихідні
дані……………………………….……………………………….
2.4 Опис
і обґрунтування складу
Джерела
використані при розробці………………
-3-
КІТ 28б.06106
81 1-01
ВСТУП
Програма має назву «MovingHeads», умовне позначення теми розробки - « Планувальник руху голівок» КІТ 38.08101-01.
Розробка ведеться відповідно
до технічного завдання КІТ
38.08101. 90 1-01, яке видане 5 вересня 2010 р. на
курсове проектування з дисципліни «Системне
програмне забезпечення» на кафедрі Обчислювальної
техніки та програмування Національного
технічного університету «Харківський
політехнічний інститут» згідно з навчальним
планом підготовки бакалаврів.
1 ПРИЗНАЧЕННЯ ТА ГАЛУЗЬ ЗАСТОСУВАННЯ
Програма призначена для
Також
програму можна застосовувати як
допоміжний наочний приклад для
вивчення розділу «Драйвери дискових
запам’ятовуючих пристроїв» у дисципліні
«Системне програмне забезпечення».
2 ТЕХНІЧНІ ХАРАКТЕРИСТИКИ
2.1 Постановка
задачі на розробку програми,
опис застосованих
2.1.1 Постановка задачі.
Розробити програму, яка забезпечує виконання таких функцій:
- виконувати імітаційне моделювання для кількості голівок на магнітному диску від 1-200
- виконувати моделювання алгоритма планування руху голівок за дисципліною FCFS
- зберігати результати переміщення голівок магнітного диску в текстовому файлі
- виводити результати переміщення голівок в консольний додаток.
Операційна
система, в середовищі якої має функціонувати
програмній виріб – Microsoft Windows XP або
краще. Мова програмування Visual C++ версії
6 або вище.
-4-
КІТ 28б.0610681 1-01
2.1.2 Опис застосованих математичних методів.
Коли
комп’ютер працює в багатозадачному
режимі, на ньому можуть бути активними
кілька процесів, що намагаються отримати
доступ до процесора. Ця ситуація виникає
за наявності двох і більше процесів
і стані готовності. Якщо доступний
тільки один процесор, необхідно вибирати
між процесами. Відповідальна за
це частина операційної системи
називається планувальником, а алгоритм,
що використовується – алгоритмом
планування.
Найпростіша стратегія планування «першим надійшов» - «першим обслугований» (first-come-first-served - FCFS) відома також як схема: «перший прийшов – перший війшов», або схема суворої черговості. Як тільки голівка готова до виконання, вона приєднується до черги готових голівок. Коли припиняється переміщення поточної голівки, для виконання обирається голівка, яка знаходилась в черзі довше за інших.
Процес моделювання дисциплін планування руху голівок має декілька загальних частин щодо формування руху голівок на магнітному диску.На Рис.1 показано меню користувача, яке має п’ять пунктів.
Рис. 1 Меню користувача
Перший пункт
меню користувача задає висхідну
послідовність розмішення голівок
на магнітному диску (розміщено було 20
голівок з кроком 10 (Рис. 2)).
Рис. 2
Висхідна послідовність голівок на магнітному
диску
Другий пункт меню користувача виконує обхід голівок магнітного диску за дисципліною планування FCFS (first-come-first-served). Запрос на першу голівку в черзі задає користувач
(Рис. 3).
Рис. 3
Рух голівок магнітного диску по дисципліні
FCFS
-5-
КІТ 28б.06106
81 1-01
Третій пункт меню користувача зберігає результати руху голівок магнітного диску по дисципліні FCFS в текстовому файлі (Рис.4, Рис.5).
Рис. 4 Зберігання
результатів руху голівок в текстовому
файлі
Рис.5 Результати
зберігання даних у текстовий файл (result.txt)
Четвертий
пункт виводить коротку інформацію
про використання пунктів,що вказані
в меню користувача.
Останій,
п’ятий пункт завершує роботу програми.
2.2 Опис
алгоритму та функціонування
програми з обґрунтуванням
2.2.1 Алгоритм програми
Алгоритм програми полягає в:
- отриманні вхідних даних від користувача з клавіатури (кількість голівок на магнітному диску,номер голівки яка обробляється);
- плануванні руху голівок на магнітному диску за дисципліною планування FCFS
2.2.2 Функціонування програми
Після запуску програма функціонує таким чином:
- створюється та відображуеться консольний додаток програми;
- отримання меню користувача;
- очікування введення вхідної кількості голівок на магнітному диску;
- очікування введення запросу номеру голівки;
- запуск функції ініціювання процесу моделювання;