Проектування комп’ютерних систем з заданими параметрами
Затверджую
зав. кафедрою КІ
_______ Святний В.А.
«10»лютого 2012
року.
ТЕХНІЧНЕ
ЗАВДАННЯ
до
курсової роботи
з
дисципліни
«Комп’ютерні
системи»
тема
роботи:
«Проектування
комп’ютерних систем з заданими параметрами»
студента групи СП-08а
Варича М.В.
Термін здачі роботи на перевірку -
14 тиждень
Термін захисту роботи - 14 тиждень
Вихідні
дані
.Варіант: 89
.Заявки: 5,9,18,3,10
.Логічні схеми заявок:
№ заявки
|
Логічна схема заявки
|
5
|
Нач. ¯1Ax11Bx22Ex33C¯2¯3Mx44D¯4K
Кон.
|
9
|
Нач. x11A¯1¯2Bx22C¯4Dx33K¯3Mx44 Кон.
|
18
|
Нач. ¯4Ax44Bx11C¯1Dx33Ex22K¯2M¯3
Кон.
|
3
|
Нач. Ax22B¯3¯2Cx33¯1Dx11Ex44MK¯4
Кон.
|
10
|
Нач. x11A¯4¯2Bx22Cx33E¯3Dx44K¯1M
Кон.
|
.Ймовірності переходу (при
X=1):
№ заявки
|
p1
|
p2
|
p3
|
p4
|
5
|
0.5
|
0.3
|
0.8
|
0.5
|
9
|
0.9
|
0.7
|
0.4
|
0.1
|
18
|
0.2
|
0.2
|
0.7
|
0.2
|
3
|
0.3
|
0.1
|
0.8
|
0.7
|
10
|
0.8
|
0.8
|
0.3
|
0.2
|
.Кількість процесорних операцій в
операторах заявок (в тисячах):
№ заявки
|
A
|
B
|
C
|
D
|
E
|
M
|
K
|
5
|
5
|
4
|
3
|
2
|
1
|
2
|
3
|
9
|
9
|
8
|
7
|
6
|
5
|
4
|
3
|
18
|
4
|
2
|
2
|
4
|
6
|
8
|
9
|
3
|
3
|
2
|
1
|
2
|
3
|
4
|
5
|
10
|
2
|
1
|
2
|
3
|
4
|
5
|
6
|
.Вхідні дані заявок:
№ заявки
|
λ, 1/c
|
ν
|
ω, c
|
5
|
1.4
|
0.80
|
0.5
|
9
|
1.0
|
0.90
|
3.1
|
18
|
1.6
|
1.0
|
1.3
|
3
|
1.6
|
0.90
|
1.3
|
10
|
0.9
|
0.95
|
0.2
|
.Кількість звернень заявок до
файлів:
№ заявки
|
F1
|
F2
|
F3
|
F4
|
F5
|
F6
|
F7
|
F8
|
F9
|
F10
|
5
|
-
|
-
|
3
|
5
|
7
|
9
|
1
|
-
|
-
|
-
|
9
|
-
|
-
|
-
|
-
|
7
|
9
|
11
|
8
|
5
|
-
|
18
|
-
|
-
|
6
|
4
|
8
|
9
|
12
|
-
|
-
|
-
|
3
|
1
|
2
|
4
|
8
|
10
|
-
|
-
|
-
|
-
|
-
|
10
|
-
|
-
|
-
|
8
|
12
|
6
|
2
|
4
|
-
|
-
|
.Характеристики файлів:
Файли
|
Довжина файлу, Мбайт
|
Середня довжина запису, Кбайт
|
F1
|
5
|
10
|
F2
|
6
|
9
|
F3
|
7
|
8
|
F4
|
8
|
7
|
F5
|
9
|
6
|
F6
|
10
|
5
|
F7
|
9
|
6
|
F8
|
8
|
7
|
F9
|
7
|
8
|
F10
|
6
|
9
|
.Характеристики зовнішніх приладів:
Молодша цифра номеру варіанту
|
Середній час доступу до даних, с
|
Швидкість передачі даних, Кбайт/с
|
Місткість накопичувача, Мбайт
|
Вартісний коефіцієнт процесора, од. кошт./
тис. оп./с.
|
Вартість типових приладів, од.кошт.
|
|
HD
|
ST
|
HD
|
ST
|
HD
|
ST
|
|
HD
|
ST
|
SK
|
9
|
0.06
|
2.0
|
190
|
50
|
9
|
16
|
4.5
|
80
|
35
|
150
|
Розділи пояснювальної записки, які
треба розробити:
. Визначення середньої
трудомісткості алгоритмів заявок.
. Обчислення мінімальної швидкодії
процесора.
. Вибір дисципліни обслуговування та
розрахунок характеристик комп’ютерної системи.
. Розрахунок характеристик
комп’ютерної системи з мінімальною конфігурацією.
. Розрахунок характеристик
комп’ютерної системи з заданим часом перебування.
. Розрахунок характеристик
комп’ютерної системи з заданою вартістю.
. Моделювання комп’ютерної системи.
. Порівняння аналітичних розрахунків
і результатів моделювання.
Зміст графічної частини:
.Заявки. Схеми програм.
. Комп’ютерної системи мінімальної
конфігурації, схема електрична структурна.
. Комп’ютерної системи із заданим
часом перебування, схема електрична структурна.
. Комп’ютерної системи заданої
вартості, схема електрична структурна.
Графік виконання курсової роботи:
тиждень - укладання та аналіз
технічного завдання, виявлення поставленої задачі.
тиждень - визначення середньої трудомісткості
алгоритмів заявок.
тиждень - обчислення мінімальної
швидкодії процесора.
,5 тижні - вибір дисципліни
обслуговування та розрахунок характеристик комп’ютерної системи .
,7 тижні - розрахунок характеристик
комп’ютерної системи з мінімальною конфігурацією.
,9 тиждень - розрахунок
характеристик комп’ютерної системи з заданим часом перебування.
,11 тиждень - розрахунок
характеристик комп’ютерної системи з заданою вартістю.
тиждень - моделювання комп’ютерної
системи, порівняння аналітичних розрахунків і результатів моделювання.
тиждень - оформлення пояснювальної
записки та креслень.
тиждень - захист курсової роботи.
Дата видачі завдання - «10» лютого
2012 року.
Завдання прийняв до виконання
_______ (Варич М.В.)
Керівник роботи _______ (Струнілін
В.М.)
ЗМІСТ
ВСТУП
1. ВИЗНАЧЕННЯ СЕРЕДНЬОЇ
ТРУДОМІСТКОСТІ АЛГОРИТМІВ ЗАЯВОК
.1 Обчислення середньої
трудомісткості потоку заявок №5
1.2 Обчислення середньої
трудомісткості потоку заявок №9
1.3 Обчислення середньої
трудомісткості потоку заявок №18
1.4 Обчислення середньої
трудомісткості потоку заявок №3
1.5 Обчислення середньої
трудомісткості потоку заявок №10
2 ОБЧИСЛЕННЯ МІНІМАЛЬНОЇ
ШВИДКОДІЇ ПРОЦЕСОРА
. ВИБІР ДИСЦИПЛІНИ
ОБСЛУГОВУВАННЯ ТА РОЗРАХУНОК ХАРАКТЕРИСТИК КОМП’ЮТЕРНОЇ СИСТЕМИ(КС)
.1 Дослідження безпріоритетної
дисципліни обслуговування
.2 Дослідження дисципліни
обслуговування з відносним пріоритетом
.3 Дослідження дисципліни
обслуговування з абсолютним пріоритетом
.4 Дослідження дисципліни
обслуговування зі змішаним пріоритетом
4. РОЗРАХУНОК ХАРАКТЕРИСТИК КС
МІНІМАЛЬНОЇ КОНФІГУРАЦІЇ
5. РОЗРАХУНОК ХАРАКТЕРИСТИК КС
З ЗАДАНИМ ЧАСОМ ПЕРЕБУВАННЯ
6. РОЗРАХУНОК ХАРАКТЕРИСТИК КС
ЗАДАНОЇ ВАРТОСТІ
7. МОДЕЛЮВАННЯ КС
. ПОРІВНЯННЯ АНАЛІТИЧНИХ
РОЗРАХУНКІВ З РЕЗУЛЬТАТАМИ МОДЕЛЮВАННЯ
ВИСНОВКИ
ПЕРЕЛІК
ПОСИЛАНЬ
Додаток
А. Програма моделювання. Текст
програми
ВСТУП
Багато прикладних задач потребують
для свого рішення обчислювальних ресурсів великої продуктивності, тобто
використання комп’ютерних систем(КС). Для запуску задачі необхідно виконати
достатньо велику підготовчу роботу по створенню самої цієї системи.
Для оцінки потрібних обчислювальних
ресурсів треба знати трудомісткість задач, що розв’язуються. Оскільки в системі
можуть існувати задачі декількох класів, при чому деякі задачі треба
розв’язувати швидше за інші, в цифровій керуючій системі повинна існувати
дисципліна обслуговування, від вибору якої у великій мірі залежить результуючий
час перебування задачі в системі.
Також в задачі синтезу системи
оперативної обробки(СОО) входить розрахунок параметрів цієї системи, тобто
кількість типових пристроїв (це, наприклад, зовнішні запам’ятовуючі пристрої)
та швидкодія нетипових (процесор). Задачею розрахунку параметрів є також
оптимальний розподіл вартості по пристроях з метою створення максимально
ефективної системи при мінімальних затратах.
Все це є метою цього курсового
проекту. В ньому буде розроблено окрему комп’ютерну систему із заданим часом
перебування, заданою вартістю та з мінімальною конфігурацією. Також буде
розраховано трудомісткість алгоритмів та формування пріоритетів між заявками
для вибору дисципліни обслуговування системи.
1. ВИЗНАЧЕННЯ СЕРЕДНЬОЇ
ТРУДОМІСТКОСТІ АЛГОРИТМІВ ЗАЯВОК
Визначення середньої трудомісткості
заявок необхідне для обчислення всіх параметрів комп`ютерної системи, зокрема
мінімальної швидкодії процесора. Суть обчислення базується на тому, що
ймовірності переходу по умовам в схемі заявки відомі.
Під трудомісткістю алгоритму
розуміється кількість обчислювальної роботи, необхідної для його реалізації.
Трудомісткість характеризує часові затрати для реалізації алгоритму на деякій
сукупності технічних засобів. Звичайно трудомісткість оцінюється кількістю
процесорних операцій й операції вводу-виводу. Трудомісткість залежить від
вихідних даних, тому обчислення може дати лише деяке середнє значення протягом
довгого часу роботи.
Трудомісткість алгоритмів буде
оцінена за допомогою алгоритму марківських ланцюгів. Суть методу полягає в
тому, що ймовірність потрапити в кожну операторну вершину обчислюється за
допомогою ймовірності переходів з інших станів. Для кожної вершини складається
система рівнянь, при чому ймовірність потрапляння в початок і кінець дорівнює
1, адже алгоритм завжди закінчується.
1.1
Обчислення середньої трудомісткості потоку заявок №5
Логічна схема заявки: Поч.↓1 𝐴𝑋1
↑1 𝐵𝑋2
↑2 𝐸𝑋3
↑3 𝐶 ↓2↓3
𝑀𝑋4
↑4 𝐷 ↓4
𝐾
Кін.
На рисунку 1.1 приведені схема та
мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця
приведена в таблиці 1.1.
Рисунок 1.1 - Потік заявок №5: а)
схема алгоритму, б) мінімізований граф алгоритму
Таблиця 1.1 - Стохастична
матриця для алгоритму потоку заявок №5
|
S1
|
S2
|
S3
|
S4
|
S5
|
S6
|
S7
|
Sк
|
S0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
S1
|
0.5
|
0.5
|
0
|
0
|
0
|
0
|
0
|
S2
|
0
|
0
|
0.3
|
0
|
0.7
|
0
|
0
|
0
|
S3
|
0
|
0
|
0
|
0.8
|
0.2
|
0
|
0
|
0
|
S4
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
S5
|
0
|
0
|
0
|
0
|
0
|
0.5
|
0.5
|
0
|
S6
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
S7
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
Система рівнянь для імовірності
переходу в кожну з операторних вершин:
𝑛0 = 1
𝑛1 = 1 · 𝑛0
+ 0.5 · 𝑛1
𝑛2 = 0.5 · 𝑛1
𝑛3 = 0.3 · 𝑛2
𝑛4 = 0.8 · 𝑛3
𝑛5 = 0.7 · 𝑛2
+ 0.2 · 𝑛3
+ 1 · 𝑛4
𝑛6 = 0.5 · 𝑛5
𝑛7 = 0.5 · 𝑛5
+ 1 · 𝑛6
𝑛k
= 1 · 𝑛7
Після розв’язання системи отримано
наступні імовірності:
𝑛0 = 1.0
𝑛1 = 2.0
𝑛2 = 1.0
𝑛3 = 0.3
𝑛4 = 0.24
𝑛5 = 1.0
𝑛6 = 0.5
𝑛7 = 1.0
𝑛k
= 1.0
Трудомісткість алгоритму
обчислюється з урахуванням кількості процесорних операцій:
(тисяч).
1.2
Обчислення середньої трудомісткості потоку заявок №9
Логічна схема заявки: Поч.
𝑋1
↑1 𝐴 ↓1↓2
𝐵𝑋2
↑2 𝐶 ↓4
𝐷𝑋3
↑3 𝐾 ↓3
𝑀𝑋4
↑4 Кін.
На рисунку 1.2 приведені схема та
мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця
приведена в таблиці 1.2.
Рисунок 1.2 - Потік заявок №9: а)
схема алгоритму, б) мінімізований граф алгоритму
Таблиця 1.2 - Стохастична
матриця для алгоритму потоку заявок №9
|
S1
|
S2
|
S3
|
S4
|
S5
|
S6
|
Sк
|
S0
|
0.9
|
0.1
|
0
|
0
|
0
|
0
|
0
|
S1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
S2
|
0
|
0.3
|
0.7
|
0
|
0
|
0
|
0
|
S3
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
S4
|
0
|
0
|
0
|
0
|
0.4
|
0.6
|
0
|
S5
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
S6
|
0
|
0
|
0
|
0.9
|
0
|
0
|
0.1
|
Система рівнянь для імовірності
переходу в кожну з операторних вершин:
𝑛0 = 1
𝑛1 = 0.9 · 𝑛0
𝑛2 = 0.1 · 𝑛0
+ 1 · 𝑛1
+ 0.3 · 𝑛2
𝑛3 = 0.7 · 𝑛2
𝑛4 = 1 · 𝑛3
+ 0.9 · 𝑛6
𝑛5 = 0.4 · 𝑛4
𝑛6 = 0.6 · 𝑛4
+ 1 · 𝑛5
𝑛k
= 0.1 · 𝑛6
Після розв’язання системи отримано
наступні імовірності:
𝑛0 = 1.0
𝑛1 = 0.9
𝑛2 = 1.4286
𝑛3 = 1.0
𝑛4 = 10.0
𝑛5 = 4.0
𝑛6 = 10.0
𝑛k
= 1.0
Трудомісткість алгоритму
обчислюється з урахуванням кількості процесорних операцій:
(тисяч).
1.3
Обчислення середньої трудомісткості потоку заявок №18
Логічна схема заявки: Поч. ↓4
𝐴𝑋4
↑4 𝐵𝑋1 ↑1 𝐶
↓1 𝐷𝑋3 ↑3 𝐸𝑋2
↑2 𝐾 ↓2 𝑀
↓3 Кін.
На рисунку 1.3 приведені схема та
мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця
приведена в таблиці 1.3.
Рисунок 1.3 - Потік заявок №18:
а) схема алгоритму, б) мінімізований граф алгоритму
Таблиця 1.3 - Стохастична
матриця для алгоритму потоку заявок №18
|
S1
|
S2
|
S3
|
S4
|
S5
|
S6
|
S7
|
Sк
|
S0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
S1
|
0.8
|
0.2
|
0
|
0
|
0
|
0
|
0
|
0
|
S2
|
0
|
0
|
0.2
|
0.8
|
0
|
0
|
0
|
0
|
S3
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
S4
|
0
|
0
|
0
|
0
|
0.7
|
0
|
0
|
0.3
|
S5
|
0
|
0
|
0
|
0
|
0
|
0.2
|
0.8
|
0
|
S6
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
S7
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
Система рівнянь для імовірності
переходу в кожну з операторних вершин:
𝑛0 = 1
𝑛1 = 1 · 𝑛0
+ 0.8 · 𝑛1
𝑛2 = 0.2 · 𝑛1
𝑛3 = 0.2 · 𝑛2
𝑛4 = 0.8 · 𝑛2
+ 1 · 𝑛3
𝑛5 = 0.7 · 𝑛4
𝑛6 = 0.2 · 𝑛5
𝑛7 = 0.8 · 𝑛5
+ 1 · 𝑛6
𝑛k
= 0.3 · 𝑛4
+ 1 · 𝑛7
Після розв’язання системи отримано
наступні імовірності:
𝑛0 = 1.0
𝑛1 = 5.0
𝑛2 = 1.0
𝑛3 = 0.2
𝑛4 = 1.0
𝑛5 = 0.7
𝑛6 = 0.14
𝑛7 = 0.7
𝑛k=
1.0
Трудомісткість алгоритму
обчислюється з урахуванням кількості процесорних операцій:
(тисяч).
1.4
Обчислення середньої трудомісткості потоку заявок №3
Логічна схема заявки: Поч. 𝐴𝑋2
↑2 𝐵 ↓3↓2 𝐶𝑋3
↑3↓1 𝐷𝑋1
↑1 𝐸𝑋4 ↑4 𝑀𝐾
↓4 Кін.
На рисунку 1.4 приведені схема та
мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця
приведена в таблиці 1.4.
Рисунок 1.4 - Потік заявок №3: а)
схема алгоритму, б) мінімізований граф алгоритму
Таблиця 1.4 - Стохастична
матриця для алгоритму потоку заявок №3
|
S1
|
S2
|
S3
|
S4
|
S5
|
S6
|
S7
|
Sк
|
S0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
S1
|
0
|
0.1
|
0.9
|
0
|
0
|
0
|
0
|
0
|
S2
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
S3
|
0
|
0
|
0.2
|
0.8
|
0
|
0
|
0
|
0
|
S4
|
0
|
0
|
0
|
0.7
|
0.3
|
0
|
0
|
0
|
S5
|
0
|
0
|
0
|
0
|
0
|
0.7
|
0
|
0.3
|
S6
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
S7
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
Система рівнянь для імовірності
переходу в кожну з операторних вершин:
𝑛0 = 1
𝑛1 = 1 · 𝑛0
𝑛2 = 0.1 · 𝑛1
𝑛3 = 0.9 · 𝑛1
+ 1 · 𝑛2
+ 0.2 · 𝑛3
𝑛4 = 0.8 · 𝑛3
+ 0.7 · 𝑛4
𝑛5 = 0.3 · 𝑛4
𝑛6 = 0.7 · 𝑛5
𝑛7 = 1 · 𝑛6
𝑛k
= 0.3 · 𝑛5
+ 1 · 𝑛7
Після розв’язання системи отримано
наступні імовірності:
𝑛0 = 1.0
𝑛1 = 1.0
𝑛2 = 0.1
𝑛3 = 1.25
𝑛4 = 3.3333
𝑛5 = 1.0
𝑛6 = 0.7
𝑛7 = 0.7
𝑛k
= 1.0
Трудомісткість алгоритму
обчислюється з урахуванням кількості процесорних операцій:
(тисяч).
1.5
Обчислення середньої трудомісткості потоку заявок №10
Логічна схема заявки: Поч. 𝑋1
↑1 𝐴 ↓4↓2 𝐵𝑋2
↑2 𝐶𝑋3 ↑3 𝐸
↓3 𝐷𝑋4 ↑4 𝐾
↓1 𝑀 Кін.
На рисунку 1.5 приведені схема та
мінімізований граф алгоритму для цього потоку заявок. Стохастична матриця
приведена в таблиці 1.5.
Рисунок 1.5 - Потік заявок №10: а)
схема алгоритму, б) мінімізований граф алгоритму
Таблиця 1.5 - Стохастична
матриця для алгоритму потоку заявок №10
|
S1
|
S2
|
S3
|
S4
|
S5
|
S6
|
S7
|
Sк
|
S0
|
0.8
|
0
|
0
|
0
|
0
|
0
|
0.2
|
0
|
S1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
S2
|
0
|
0.2
|
0.8
|
0
|
0
|
0
|
0
|
0
|
S3
|
0
|
0
|
0
|
0.3
|
0.7
|
0
|
0
|
0
|
S4
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
S5
|
0
|
0.8
|
0
|
0
|
0
|
0.2
|
0
|
0
|
S6
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
S7
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
Система рівнянь для імовірності
переходу в кожну з операторних вершин:
𝑛0 = 1
𝑛1 = 0.8 · 𝑛0
𝑛2 = 1 · 𝑛1
+ 0.2 · 𝑛2
+ 0.8 · 𝑛5
𝑛3 = 0.8 · 𝑛2
𝑛4 = 0.3 · 𝑛3
𝑛5 = 0.7 · 𝑛3
+ 1 · 𝑛4
𝑛6 = 0.2 · 𝑛5
𝑛7 = 0.2 · 𝑛0
+ 1 · 𝑛6
𝑛k
= 1 · 𝑛7
Після розв’язання системи отримано
наступні імовірності:
𝑛0 = 1.0
𝑛1 = 0.8
𝑛2 = 5.0
𝑛3 = 4.0
𝑛4 = 1.2
𝑛5 = 4.0
𝑛6 = 0.8
𝑛7 = 1.0
𝑛k
= 1.0
Трудомісткість алгоритму
обчислюється з урахуванням кількості процесорних операцій:
(тисяч).
. ОБЧИСЛЕННЯ МІНІМАЛЬНОЇ
ШВИДКОДІЇ ПРОЦЕСОРА
Визначення мінімальної
швидкодії процесора виконується на базі закону збереження часу очікування:
де ri -
коефіцієнт завантаження процесора з боку i-го потоку заявок;
wi - середній час очікування заявок
i-го потоку.
Для отримання мінімальної
швидкодії використовується безпріоритетна дисципліна обслуговування. Тому має
виконуватися наступна умова:
де -
коефіцієнт завантаження цифрової керуючої системи(ЦКС) усіма потоками заявок;
w0 - середній час очікування заявок
при безпріоритетній дисципліні обслуговування.
Ураховуючи, що:
Розв’язується остання
нерівність відносно швидкодії процесора B:
де:
Результати моделювання дали
результат Bmin = 332365.0 операцій
в секунду. Для
підвищення надійності результату мінімальна швидкодія процесора збільшується на
10 процентів Bmin = 365602.0
операцій в секунду. Текст програми наведено у додатку А.
3. ВИБІР ДИСЦИПЛІНИ ОБСЛУГОВУВАННЯ
ТА РОЗРАХУНОК ХАРАКТЕРИСТИК КОМП’ЮТЕРНОЇ СИСТЕМИ
Для вибору дисципліни обслуговування
(ДО) необхідно, спочатку, дослідити усі типи імовірних ДО. Такі як,
безпріоритетну (БП), з відносним пріоритетом (ВП), абсолютним пріоритетом (АП)
та змішаним пріоритетом (ЗП). Необхідно обрати ту дисципліну, що найбільше
підходить для розв’язання задач, які надходять до комп’ютерної системі.
При виборі дисципліни обслуговування
передбачається дисципліна обслуговування ЗП. Вона задається матрицею
пріоритетів Q
розміром nxn.
Елементами даної матриці можуть бути тільки числа {0,
1, 2}. Якщо елементом є «0», то i-ий
потік не має пріоритету перед j-им
потоком, «1» позначає відносний пріоритет, «2» - абсолютний. Очевидно, що
елементи головної діагоналі повинні бути «0».
ДО можна вважати вдалою, якщо
коефіцієнт запасу по часу очікування приблизно однаковий для всіх задач. Цей
параметр буде досліджуватися при моделюванні системи (додаток А).
Обчислення параметрів виконуються
для різних швидкодій процесора - від мінімальної до подвоєної мінімальної з
кроком 0,25* Bmin. Розрахунок ЦКС
передбачає обчислення наступних характеристик:
- час
розв’язання задачі на процесорі;
- коефіцієнт
завантаження процесора з боку i-ого потоку заявок;
- час
очікування задач i-ого потоку;
- час
перебування задачі у системі;
- запас по
часу очікування;
- імовірність
перевищення допустимого часу очікування;
- сумарне завантаження процесора;
- сумарна інтенсивність потоку
заявок на вході системи;
- довжина черги;
- штраф за втрату задач.
Моделювання буде проведене за
допомогою програми, яка наведена у додатку А.
.1 Дослідження безпріоритетної дисципліни обслуговування
Матриця пріоритетів для даної
ДО складається повністю з нульових елементів. Розрахунки ЦКС для цієї ДО дали
результати, які приведено на рисунку 3.1.
БЕСПРИОРИТЕТНАЯ ДИСЦИПЛИНА ОБСЛУЖИВАНИЯ
Матрица приоритетов
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
.Быстродействие процессора 365602.0000 операций
в секундуВремя обслуживания Загрузка Ср.знач.времени Запас по Вероятность
ср. знач. 2 нач. мом. потока ожид. пребыв.
времени пребывания
0.0575 0.0054 0.0805 0.8926 0.9501 -0.3926
0.5160
0.3789 0.2599 0.3789 0.8926 1.2715 2.2074 0.0482
0.1025 0.0210 0.1639 0.8926 0.9950 0.4074 0.2487
0.0558 0.0056 0.0893 0.8926 0.9484 0.4074 0.2487
0.1127 0.0242 0.1014 0.8926 1.0053 -0.6926
0.6784
Суммарная интенсивность - 6.5000
Суммарная загрузка - 0.8141
Вероятностная функция штрафа - 2.1770
Средняя длина очереди - 3.5655
.Быстродействие процессора 548403.0000 операций
в секундуВремя обслуживания Загрузка Ср.знач.времени Запас по Вероятность
ср. знач. 2 нач. мом. потока ожид. пребыв.
времени пребывания
0.0383 0.0024 0.0537 0.1613 0.1996 0.3387 0.1009
0.2526 0.1155 0.2526 0.1613 0.4139 2.9387 0.0000
0.0683 0.0093 0.1093 0.1613 0.2296 1.1387 0.0068
0.0372 0.0025 0.0596 0.1613 0.1985 1.1387 0.0068
0.0751 0.0107 0.0676 0.1613 0.2364 0.0387 0.2769
Рисунок 3.1, аркуш 1 - Результати
обчислення ЦКС для БП ДО
Суммарная интенсивность - 6.5000
Суммарная загрузка - 0.5427
Вероятностная функция штрафа - 0.4123
Средняя длина очереди - 0.6442
Рисунок 3.1, аркуш 2
-
Результати обчислення ЦКС для БП ДО
При швидкодії Вmin,
що була обчислена раніше, та дорівнювала 365602.0
запас у часі очікування для двох потоків є негативним. Отже потрібно
збільшувати швидкодію процесора.
Як видно з результатів моделювання,
починаючи зі швидкодії процесора 548403.0 (третій крок) запас у часі очікування
для всіх потоків є позитивним.
3.2
Дослідження дисципліни обслуговування з відносним пріоритетом
Програма підбирає пріоритети
наступним чином: більш високий пріоритет присвоюється заявкам з меншим гранично
допустимим часом ждання,а якщо ці параметри співпадають для 2 заявок, то
враховується трудомісткість кожної з них. Розрахунки ЦКС для цієї ДО дали
результати, які приведено на рисунку 3.2.
ДИСЦИПЛИНА ОБСЛУЖИВАНИЯ С ОТНОСИТЕЛЬНЫМ
ПРИОРИТЕТОМ
Матрица приоритетов
1 1 1 0
0 0 0 0
1 0 0 0
1 1 0 0
1 1 1 0
.Быстродействие процессора 365602.0000 операций
в секундуВремя обслуживания Загрузка Ср.знач.времени Запас по Вероятность
ср. знач. 2 нач. мом. потока ожид. пребыв.
времени пребывания
0.0575 0.0054 0.0805 0.2257 0.2832 0.2743 0.1341
0.3789 0.2599 0.3789 1.5803 1.9592 1.5197 0.1649
0.1025 0.0210 0.1639 0.4031 0.5056 0.8969 0.0589
0.0558 0.0056 0.0893 0.2783 0.3341 1.0217 0.0182
0.1127 0.0242 0.1014 0.1846 0.2973 0.0154 0.3371
Суммарная интенсивность - 6.5000
Суммарная загрузка - 0.8141
Вероятностная функция штрафа - 0.7793
Средняя длина очереди - 3.5655
Рисунок 3.2 - Результати обчислення
ЦКС для ДО з ВП
Позитивний запас у часі очікування
вдалося досягти при початковій швидкодії 365602.0
операцій в секунду. Використання дисципліни обслуговування з відносними
пріоритетами дало змогу зменшити функцію штрафу.
3.3
Дослідження дисципліни обслуговування з абсолютним пріоритетом
АП слід назначати за тими ж
правилами, що і ВП, адже результуючий час очікування тим більший, чим нижче
пріоритет. Розрахунки ЦКС для цієї ДО дали результати, які приведено на рисунку
3.3.
ДИСЦИПЛИНА ОБСЛУЖИВАНИЯ С АБСОЛЮТНЫМ ПРИОРИТЕТОМ
Матрица приоритетов
2 2 2 0
0 0 0 0
2 0 0 0
2 2 0 0
2 2 2 0
.Быстродействие процессора 365602.0000 операций
в секундуВремя обслуживания Загрузка Ср.знач.времени Запас по Вероятность
ср. знач. 2 нач. мом. потока ожид. пребыв. времени
пребывания
0.0575 0.0054 0.0805 0.0264 0.0839 0.4736 0.0000
0.3789 0.2599 0.3789 1.8723 2.2512 1.2277 0.2115
0.1025 0.0210 0.1639 0.1256 0.2280 1.1744 0.0002
0.0558 0.0056 0.0893 0.0446 0.1004 1.2554 0.0000
0.1127 0.0242 0.1014 0.0121 0.1248 0.1879 0.0000
Суммарная интенсивность - 6.5000
Суммарная загрузка - 0.8141
Вероятностная функция штрафа - 0.2118
Средняя длина очереди - 3.5655
Рисунок 3.3 - Результати обчислення
ЦКС для ДО з АП
Позитивний запас у часі очікування
вдалося досягти при початковій швидкодії 365602.0
операцій в
секунду. Використання дисципліни обслуговування з абсолютними пріоритетами дало
змогу ще більше зменшити функцію штрафу.
3.4
Дослідження дисципліни обслуговування зі змішаними пріоритетами
Для найбільш оптимальної роботи
системи використовуються ДО зі змішаним типом пріоритету. Адже при використанні
ДО одного виду спостерігається значна асиметрія у розподілі процесорного часу,
хоча потоки можуть мати практично рівний запас у часі очікування. Саме тому
треба використовувати ДО зі ЗП. Для цього, взявши за основу ДО з АП, треба
послідовно назначати потокам ВП. Якщо функція штрафу зменшиться - зміна
пріоритету доречна. В результаті сформуються групи заявок з різними
пріоритетами. В середині цих груп також можуть існувати пріоритети. Отже,
оптимальну матрицю пріоритетів можна отримати шляхом перебору обмеженого числа
варіантів. Результати моделювання для цієї ДО дали результати, які приведено на
рисунку 3.4.
ДИСЦИПЛИНА ОБСЛУЖИВАНИЯ СО СМЕШАННЫМ ПРИОРИТЕТОМ
Матрица приоритетов
2 2 2 0
0 0 0 0
2 0 0 0
2 1 0 0
2 2 2 0
.Быстродействие процессора 365602.0000 операций
в секундуВремя обслуживания Загрузка Ср.знач.времени Запас по Вероятность
ср. знач. 2 нач. мом. потока ожид. пребыв.
времени пребывания
0.0575 0.0054 0.0805 0.0264 0.0839 0.4736 0.0000
0.3789 0.2599 0.3789 1.8723 2.2512 1.2277 0.2115
0.1025 0.0210 0.1639 0.1102 0.2127 1.1898 0.0001
0.0558 0.0056 0.0893 0.0728 0.1286 1.2272 0.0000
0.1127 0.0242 0.1014 0.0121 0.1248 0.1879 0.0000
Суммарная интенсивность - 6.5000
Суммарная загрузка - 0.8141
Вероятностная функция штрафа - 0.2116
Средняя длина очереди - 3.5655
.Быстродействие процессора 548403.0000 операций
в секунду
N Время обслуживания
Загрузка Ср.знач.времени Запас по Вероятность
ср. знач. 2 нач. мом. потока ожид. пребыв.
времени пребывания
1 0.0383 0.0024 0.0537 0.0107 0.0491 0.4893
0.0000
0.2526 0.1155 0.2526 0.3304 0.5830 2.7696 0.0033
Рисунок 3.4, аркуш 1 - Результати
обчислення ЦКС для ДО зі ЗП
3 0.0683 0.0093 0.1093 0.0369 0.1052 1.2631
0.0000
4 0.0372 0.0025 0.0596 0.0274 0.0646 1.2726
0.0000
0.0751 0.0107 0.0676 0.0052 0.0803 0.1948 0.0000
Суммарная интенсивность - 6.5000
Суммарная загрузка - 0.5427
Вероятностная функция штрафа - 0.0033
Средняя длина очереди - 0.6442
Рисунок 3.4, аркуш 2 - Результати
обчислення ЦКС для ДО зі ЗП
Як видно з рисунку, на першому кроці
вдалося трохи зменшити функцію штрафу порівняно з АП. На третьому кроці функція
штрафу складає 0.0033(менше
1 процента). Таким чином, швидкодія процесора 548403.0 операцій
в
секунду буде використовуватись для подальших розрахунків як оптимальна.
4 РОЗРАХУНОК ХАРАКТЕРИСТИК КС
МІНІМАЛЬНОЇ КОНФІГУРАЦІЇ
Спочатку визначаються характеристики
середньої задачі, потік яких створює таке ж навантаження на обчислювальну
систему, що й сукупність вихідних потоків задач.
) Інтенсивність потоку:
) Середня трудомісткість у
кількості процесорних операцій:
) Середня кількість звертання
до файлу Fj:
) Підсумкове число звернень
до файлів в процесі розв’язання середньої задачі:
) Імовірності звернення до
файлів у процесі розв’язання задачі:
) Середня трудомісткість
етапу обчислення:
) Імовірність виходу задачі з
системи:
Потім визначається мінімальна
швидкодія процесора:
Однак ця швидкодія обчислена
лише з урахуванням того, що процесор має встигати виконувати всю обчислювальну
роботу. Але в реальній системі, де задано обмеження по часу очікування,
мінімальна швидкодія повинна забезпечувати позитивний запас за часом очікування
для всіх потоків
та
певну функцію штрафу. Тобто вона складає 548403.0 операцій в
секунду , як обчислено в главі 3.
Визначення можливості розташування
файлів на різних зовнішніх запам’ятовуючих пристроях. Максимально допустимий
час звернення до файлів визначається за формулою:
Файли, максимальний час
доступу до яких більше 2 c, слід
розташувати на стримері ST (таких
файлів немає), усі інші - на жорсткому диску HD.
Визначення кількості зовнішніх
запам`ятовуючих пристроїв.
1) Середня кількість звертань до
жорсткого диску:
) Середня кількість звертань
до стримера:
) Інтенсивність звертання до
жорсткого диску:
) Інтенсивність звертання до
стримеру:
) Кількість HD за
коефіцієнтом завантаження:
) Кількість HD за
місткістю:
) Кількість цих пристроїв
визначається як максимум із обчислених значень:
Визначення кількості селекторних
каналів.
1) Інтенсивність звернення до
селекторних каналів:
) Імовірність звернення до
жорстких дисків:
) Середня довжина запису при
зверненні до HD:
) Середній час передачі
середньої задачі через селекторний канал:
) Кількість селекторних
каналів:
Час перебування заявки на
процесорі:
Час перебування заявки на HD:
Час перебування заявки в
селекторному каналі:
Час відповіді системи
обчислюється за формулою:
Вартість СОО визначається за
наступною формулою:
Результати моделювання системи
оперативної обробки наведені на рисунку 4.1. Програма
моделювання наведена в додатку А.
Синтез СОО минимальной конфигурации
Интенсивность потока заявок на решение средней
задачи Ino=6.50
Средняя трудоемкость при решении средней задачи
Ro=45.79 тысяч процессорных операций
Суммарное число обращений к файлам при выполнении
средней задачи Do=31.723
Вероятность использования файла F[j] при решении
задач:
P(1)=0.008(2)=0.015(3)=0.095(4)=0.157(5)=0.265(6)=0.195(7)=0.157(8)=0.055(9)=0.024(10)=0.000
Средняя трудоемкость этапа счета Rp= 1.40 тысяч
операций
Вероятность выхода задачи из системы Po=0.031
Быстродействие процессора, которое обеспечивает
минимальную функцию штрафа Vpr=548.403015 тысяч операций в секунду
Интенсивность обращения к файлам F[j]:
Inn(1)=1.600(2)=3.200(3)=20.200(4)=33.400(5)=56.400(6)=41.400(7)=33.400(8)=11.600(9)=5.000(10)=0.000
Предельное время доступа к информации:(1)=0.625 необходимо
размеcтить на HD(2)=0.312 необходимо размеcтить на HD(3)=0.050 необходимо
размеcтить на HD(4)=0.030 необходимо размеcтить на HD(5)=0.018 необходимо
размеcтить на HD(6)=0.024 необходимо размеcтить на HD(7)=0.030 необходимо
размеcтить на HD(8)=0.086 необходимо размеcтить на HD(9)=0.200 необходимо
размеcтить на HD(10)=неопределенно неопределенно
Рисунок 4.1, аркуш 1 - Розрахунки
СОО мінімальної конфігурації
Количество обращений к HD Dhd=31.723
Количество обращений к ST Dst=0.000
Интенсивность обращения к HD Ihd=206.200
Интенсивность обращения к ST Ist=0.000
Количество HD по коэффициенту загрузки
Z1hd=12.372
Количество ST по коэффициенту загрузки
Z1st=0.000
Количество HD по емкости Z2hd=7.667
Количество ST по емкости Z2st=0.375
Выбранное количество HD в проектируемой системе
Zhd=13
Выбранное количество ST в проектируемой системе
Zst=0
Интенсивность обращения к селекторным каналам
Ick=206.200
Вероятность обращения к HD Phd=0.969
Вероятность обращения к ST Pst=0.000
Средняя длина записи при обращении к HD
Lhd=6.339 Кб
Средняя длина записи при обращении к ST
Lst=0.000 Кб
Среднее время передачи средней записи через
селекторный канал Tck=0.032 c
Количество селекторных каналов Zck=7
Среднее время пребывания средней задачи на
процессоре Upr= 0.183 c
Среднее время пребывания на HD Uhd=1.242 c
Среднее время пребывания на ST Ust=0.000 c
Среднее время пребывания заявки в селекторном
канале Uck=0.686 c
Среднее время ответа в СОО Umin=61.334 c
Стоимость СОО Smin=4557.813 единиц стоимости
Рисунок 4.1,
аркуш
2 - Розрахунки СОО мінімальної конфігурації
На рисунку 4.2 наведена структурна
схема СОО мінімальної конфігурації.
Рисунок 4.2 - Структурна
схема СОО мінімальної конфігурації
5. РОЗРАХУНОК ХАРАКТЕРИСТИК
КС З ЗАДАНИМ ЧАСОМ ПЕРЕБУВАННЯ ЗАЯВОК
Оскільки в системі
мінімальної конфігурації жорсткі диски дуже сильно завантажені, збільшення їх
кількості на один одразу призведе до різкого зменшення часу очікування. Тому
треба синтезувати СОО, в якій час очікування буде в два рази менше, ніж у
системі мінімальної конфігурації.
Задача визначення швидкодії
нетипових пристроїв і кількості типових визначається за допомогою методу
невизначених множників Лагранжа:
Диференціюючи дану функцію по
невідомим змінним та дорівнюючи перші похідні нулю, виводяться формули для
кількості типових пристроїв. Ціна, яка залишиться, повністю йде на нетиповий
пристрій (процесор). В загальному випадку для обчислення швидкодій нетипових
пристроїв також можна вивести формули:
Коефіцієнт q
обчислюється, виходячи з того, що система матиме мінімальну вартість при часі
перебування заявки, близькому до максимально допустимого:
де: - час
перебування задачі на нетипових пристроях, якщо кількість типових пристроїв іде
до безкінечності. Якщо результат виявляється негативним, при даних параметрах
типових пристроїв побудувати систему із заданим часом перебування неможливо.
В результаті округлення
кількості типових пристроїв виникає додаткова затримка (випередження) в
обслуговуванні задачі:
У зв`язку з цим корегується
швидкодія нетипових пристроїв. Формула корекції в
загальному виді:
Оскільки нетиповий пристрій
лише один - процесор, ця формула матиме вигляд:
Далі для перевірки результату
синтезу СОО обчислюється час перебування задачі в системі за формулою:
Вартість синтезованої СОО:
Результати моделювання
наведені на рисунку 5.1.
Синтез СОО с заданным временем пребывания
Ограничение по времени пребывания Uz=30.667 с
Количество типовых устройств N1=3
Количество нетиповых устройств N2=1
Результирующее значение Uzz=27.737 с
Неопределенный коэффициент Лагранжа sqrt_q=3.237
Быстродействие при первом приближении
Vprmin=558.730 тысяч операций в секунду
Количество типовых устройств:=15=0=8
Задержка в решении задачи U1=13.632 c
Скорректированное быстродействие нетипового
устройства Vprmin=551.762 тысяч операций в секунду
Среднее время пребывания программы U=30.667 c
Стоимость вычислительной системы S=4882.930
единиц стоимости
Рисунок 5.1 - Розрахунки СОО з
заданим часом перебування заявок
На рисунку 5.2 наведена структурна
схема СОО з заданим часом перебування заявок.
Рисунок 5.2 - Структурна
схема СОО з заданим часом перебування заявок
6. РОЗРАХУНОК ХАРАКТЕРИСТИК
КС ЗАДАНОЇ ВАРТОСТІ
Тут треба синтезувати СОО,
яка має вартість в два рази більше, ніж система мінімальної конфігурації, при
цьому має максимальну продуктивність для такої вартості.
Для синтезу СОО заданої
вартості також використовується метод множників Лагранжа. Для цього вводиться
допоміжна функція G:
Диференціюючи дану функцію по
невідомим параметрам та дорівнюючи перші похідні 0, виводяться формули для
відшукання екстремальних значень невідомих параметрів:
В отриманих формулах перший
складник визначає мінімальну швидкодію нетипових пристроїв або мінімальну
кількість типових пристроїв. Другий складник визначає оптимальний закон
розподілу вартості СОО між пристроями для забезпечення максимальної
продуктивності. Максимальною продуктивність буде в тому випадку, якщо вартість
дорівнює максимально допустимій. Звідси виводяться формули для обчислення
невизначеного множника q:
” - це різниця між заданою
вартістю СОО та вартістю системи, що складається з типових пристроїв з
мінімальною продуктивністю і мінімального числа типових пристроїв. Якщо S”<
0 , то побудувати працездатну СОО заданої вартості неможливо.
Далі визначаються кількості
типових пристроїв HD, ST та
СК та швидкодія нетипового пристрою - процесора.
В результаті округлення
кількості типових пристроїв виникає залишкова вартість, яку необхідно врахувати
при обчисленні швидкодій нетипових пристроїв:
Оскільки нетиповий пристрій
лише один (процесор), усю залишкову вартість можна використати на нього:
Середній час перебування задачі
в такій системі дорівнює:
Результати моделювання
наведені на рисунку 6.1.
Синтез СОО заданной стоимости
Предельная стоимость системы оперативной
обработки Smin=9115.627 единиц стоимости=6577.001 единиц стоимости
Неопределенный коэффициент 1/sqrt_q=73.241
Быстродействие процессора при первом приближении
V1=782.039 тысяч операций в секунду
Количество типовых устройств:=40=0=15
Избыточная стоимость S0=1197.813 единиц
стоимости
Быстродействие процессора после распределения
избыточной стоимости V1=814.584 тысяч операций в секунду
Стоимость системы при полученных параметрах
S=9115.627 единиц стоимости
Рисунок 6.1 - Розрахунки СОО заданої
вартості
На рисунку 6.2 наведена структурна
схема СОО заданої вартості.
Рисунок 6.2 - Структурна
схема СОО заданої вартості
7. МОДЕЛЮВАННЯ
КОМП’ЮТЕРНОЇ СИСТЕМИ
програма код
швидкодія процесор
Програма моделювання
комп’ютерної системи написана на мові С++. Весь програмний код міститься в одному
файлі kursovoi.cpp. В
середовищі Borland C++ version 3.1
було створено виконуваний файл kursovoi.exe.
Після виконання kursovoi.exe
буде сформовано 2 файли: part1.txt та part2.txt. В
перший файлі записується мінімальна швидкодія процесора, для кожної дисципліни
обслуговування записуються отримані результати для 5 різних швидкодій процесора
від Bmin до
2*Bmin з
кроком 0,25*Bmin. В
другий файл записуються характеристики розрахованих комп’ютерних систем
мінімальної конфігурації, з заданим часом перебування та з заданою вартістю.
Всі початкові дані для розрахунку містяться в програмі й користувачу не
потрібно вводити ці дані при роботі з програмою.
Програма працює наступним
чином. З основної процедури main()
послідовно викликаються процедури, які виконують певну частину розрахунків.
Спочатку викликається процедура processor(), яка
обчислює мінімальну швидкодію процесора згідно формул в 2 розділі та збільшує
її на 10% відсотків для більш надійної роботи КС. Далі 4 рази викликається
процедура disciplina(int choice,float Bproc),
де змінюється параметр choice: 0-
це безпріоритетна дисципліна обслуговування, 1- з відносним пріоритетом, 2- з
абсолютним пріоритетом, 3- зі змішаним пріоритетом. Відповідно до параметру choice
формується матриця пріоритетів розміром 5х5 та виконуються обчислення згідно
формул в розділі 3. Матриця для БП ДО заповнюється нулями. В матриці для ДО з
відносним пріоритетом більш високий пріоритет надається потокам з меншим
гранично допустимим часом очікування, тобто 1. Для потоків з однаковим гранично
допустимим часом очікування більш високий пріоритет надається потокам з меншою
трудомісткістю. Аналогічно виконується побудова матриці пріоритетів для ДО з
АП, тільки елементами матриці будуть числа 2 та 0. Побудова матриці пріоритетів
для ДО зі ЗП виконується інакше. Спочатку пріоритети призначаються аналогічно
ДО з АП. Потім почергово змінюється пріоритет на відносний та перераховується
функція штрафу за допомогою функції shtraf(float Bproc).
Якщо функція штрафу стала меншою, то зміна пріоритету фіксується, мінімальним
штрафом стає розрахований. Інакше - повертається абсолютний пріоритет. При
роботі зі змішаним пріоритетом визначається оптимальна швидкодія Boptim,
яка забезпечує функцію штрафу менше 0.01. Після закінчення роботи процедур disciplina(int choice,float Bproc)
викликається процедура sintezKS().
Вона почергово проводить розрахунок характеристик КС мінімальної конфігурації,
з заданим часом перебування та з заданою вартістю. Формули для розрахунку
наведені у відповідних розділах. При цьому використовується визначена раніше
оптимальна швидкодія процесора Boptim.
8. ПОРІВНЯННЯ
АНАЛІТИЧНИХ РОЗРАХУНКІВ З РЕЗУЛЬТАТАМИ МОДЕЛЮВАННЯ
На рисунку 8.1 наведено
графік залежності часу очікування від швидкодії процесора для 18 заявки для
всіх дисциплін обслуговування.
Рис. 8.1 - Графік залежності
часу очікування від швидкодії процесора для 18 заявки для всіх дисциплін
обслуговування
На рисунку 8.2 наведено
графік залежності часу очікування від завантаження потоком 18 заявки для всіх
дисциплін обслуговування. На рисунку 8.3 наведено графік залежності часу
очікування від пріоритету заявок для всіх дисциплін обслуговування при
оптимальній швидкодії процесора 548403 операцій в
секунду.
Пріоритет
вказано для номера відповідної заявки в скобках.
Рис. 8.2 - Графік залежності
часу очікування
від
завантаження потоком 18 заявки для всіх дисциплін обслуговування
Рис. 8.3 -
Графік залежності часу очікування від
пріоритету заявок для всіх дисциплін обслуговування при оптимальній швидкодії
процесора
Аналітично передбачалася
наступна закономірність: при безпріоритетній дисципліні обслуговування час
очікування буде відносно великим. При введенні відносних пріоритетів часи
очікування можуть зменшитися. Те саме при введенні абсолютних пріоритетів. Все
ці закономірності відображені на графіках. Дисципліна обслуговування зі
змішаним пріоритетом майже не змінила часи очікування потоків заявок, але
дозволила трохи зменшити функцію штрафу. При розрахунку параметрів СОО
оптимальність розподілу вартості по апаратним компонентам передбачає, що
система з більшою вартістю повинна мати більшу продуктивність. Система
мінімальної конфігурації при вартості 4557.813 одиниць має середній час
відповіді 61.334 с. Система, яка коштує 4882.930 одиниць, має середній час
відповіді 30.667 с. Отже, результати моделювання співпали з передбаченими
результатами.
ВИСНОВКИ
В результаті виконання
курсової роботи визначена середня трудомісткість алгоритмів заявок, обчислена
мінімальна швидкодія процесора, необхідна для розв’язання потоку цих заявок,
обрана найбільш вдала дисципліна обслуговування та розраховані параметри
системи оперативної обробки мінімальної конфігурації, із заданим часом перебування
та заданою вартістю.
Побудова логічних схем заявок
та визначення середньої трудомісткості алгоритмів заявок методом марківських
ланцюгів відбулися без використання комп’ютера. Всі інші параметрі, які
зазначені вище, були розраховані за допомогою програми, написаній на мові С++.
Результати моделювання підтвердили очікувані закономірності. Спираючись на
отримані результати програми, були побудовані графіки залежності часу
очікування від швидкодії процесора, від завантаження потоком заявок, від пріоритету
заявки для всіх дисциплін обслуговування.
ПЕРЕЛІК ПОСИЛАНЬ
1.
Методичні вказівки до виконання курсової роботи з курсу “Комп’ютерні системи” /
Співст.: В.М.Струнілін . - Донецьк: ДонНТУ, 2008. - 23с.
.
Методичні вказівки по оформленню курсових і дипломних проектів (робіт) /
Співст.: В.М.Струнілін. - Донецьк: ДонНТУ, 2010. - 24с.
Додаток А.
Програма моделювання. Текст програми
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
FILE *fout; //файл результатаflag=0;//флаг
оптимального быстродействияBmin,dB,a,c,d; //для
процессораBoptim=0;//оптимальное быстродействиеsum1,sum2,sum3,sum4;//для
омегаF;//Вероятностная функция штрафаR,l,L;//суммарная загрузка, для длины
очередиomega[5];//среднее значение времени ожиданияv[5]; //среднее значение
времени пребыванияro[5]; //загрузка потокаP[5];//вероятность
пребыванияlambda[5]={ 1.4, 1.0, 1.6, 1.6, 0.9}; //интенсивности
потоковteta[5]={ 21020, 138532, 37460, 20416, 41200}; //трудоемкостиnu[5]={
0.8, 0.9, 1.0, 0.9, 0.95}; //коэффициенты вариацииomega_z[5]={ 0.5, 3.1, 1.3,
1.3, 0.2}; //ограничение по времени ожиданияq[5][5]={ 0,0,0,0,0, //матрица
приоритетов
,0,0,0,0,
,0,0,0,0,
,0,0,0,0,
,0,0,0,0 };processor() //определение
быстродействия процессора
{i;(i=a=c=d=0;i<5;i++)
{+=lambda[i]*teta[i];+=lambda[i]*teta[i]*teta[i]*(1+nu[i]*nu[i]);+=lambda[i]*teta[i]*omega_z[i];
}=ceil(0.5*a+sqrt(0.25*a*(a+2*c/d)));(fout,"Bmin
= %7.4f операций в секунду\n",Bmin);
Bmin=ceil(Bmin+(Bmin/10));(fout,"Увеличиваем
быстродействие процессора на 10%\n");(fout,"Bmin = %7.4f операций в
секунду\n",Bmin);
}shtraf(float Bproc)
{i,j;(i=0;i<5;i++)
{[i]=(float)teta[i]/Bproc;[i]=lambda[i]*v[i];
}(i=0;i<5;i++)
{(j=0,sum1=sum2=sum3=sum4=0;j<5;j++)
{+=q[j][i]*(q[j][i]-1)*ro[j];+=(2-q[i][j])*(1+q[i][j])*lambda[j]*teta[j]*teta[j]*(1+nu[j]*nu[j]);+=q[j][i]*(3-q[j][i])*ro[j];+=(1-q[i][j])*(2-q[i][j])*ro[j];
}[i]=sum2/(Bproc*(2-sum3)*(2-sum4));[i]/=Bproc;[i]+=((teta[i]*sum1)/(Bproc*(2-sum1)));(j=0,R=0;j<5;j++)+=ro[j];=R/(1-R);=L*R;[i]=R*exp((-R*omega_z[i])/omega[i]);
}(i=0,sum1=F=0;i<5;i++)
{+=lambda[i];+=lambda[i]*P[i];
}F;
}disciplina(int choice,float Bproc)
{cur_shtraf,min_shtraf;stb,stk,i,j;loop;(choice>3)vyhod;(choice)
{0: for(stk=0;stk<5;stk++) //БП(stb=0;stb<5;stb++)[stk][stb]=0;begin;
//БП1:
for(stk=0;stk<5;stk++) //ОП(stb=0;stb<5;stb++)(omega_z[stk]<omega_z[stb])[stk][stb]=1;((omega_z[stk]==omega_z[stb])&&(stk!=stb))
{(teta[stk]<teta[stb])[stk][stb]=1;
}begin;2: for(stk=0;stk<5;stk++)
//АП(stb=0;stb<5;stb++)(q[stk][stb]==1)[stk][stb]=2;begin;3:
min_shtraf=shtraf(Bproc); //СП(stk=0;stk<5;stk++)(stb=0;stb<5;stb++)((stb!=stk)&&(q[stk][stb]==2))
{[stk][stb]=1;_shtraf=shtraf(Bproc);(cur_shtraf>min_shtraf)[stk][stb]=2;min_shtraf=cur_shtraf;
}
}:(fout,"\nМатрица приоритетов\n");(i=0;i<5;i++)
{(j=0;j<5;j++)(fout,"%d
",q[i][j]);(fout,"\n");
}=Bproc/4;(loop=0;loop<5;loop++)
{(fout,"\n %u.Быстродействие процессора
%7.4f операций в секунду
\n\n",loop+1,Bproc);
fprintf(fout,"
N Время обслуживания Загрузка Ср.знач.времени Запас по Вероятность\n");(fout,"
ср. знач. 2 нач. мом. потока ожид. пребыв. времени пребывания\n");
for (i=0;i<5;i++)
{[i]=(float)teta[i]/Bproc;[i]=lambda[i]*v[i];
}(i=0;i<5;i++)
{(fout,"
%3u",i+1);(fout," %7.4f",v[i]);(fout,"
%7.4f",(float)v[i]*v[i]*(1+nu[i]*nu[i]));(fout," %7.4f",ro[i]);(j=0,sum1=sum2=sum3=sum4=0;j<5;j++)
{+=q[j][i]*(q[j][i]-1)*ro[j];+=(2-q[i][j])*(1+q[i][j])*lambda[j]*teta[j]*teta[j]*(1+nu[j]*nu[j]);+=q[j][i]*(3-q[j][i])*ro[j];+=(1-q[i][j])*(2-q[i][j])*ro[j];
}[i]=sum2/(Bproc*(2-sum3)*(2-sum4));[i]/=Bproc;[i]+=((teta[i]*sum1)/(Bproc*(2-sum1)));(fout,"
%7.4f",omega[i]);(fout," %7.4f",v[i]+omega[i]);(fout,"
%7.4f",omega_z[i]-omega[i]);(j=0,R=0;j<5;j++)+=ro[j];=R/(1-R);=L*R;[i]=R*exp((-R*omega_z[i])/omega[i]);(fout,"
%7.4f\n",P[i]);
}(i=0,sum1=F=0;i<5;i++)
{+=lambda[i];+=lambda[i]*P[i];
}((flag==0)&&(choice==3)&&(F<=0.01))
{=Bproc;=1;
}(fout,"\n");(fout," Суммарная интенсивность
- %5.4f\n",sum1);(fout," Суммарная загрузка
- %5.4f\n",R);
fprintf(fout,"
Вероятностная функция штрафа - %5.4f\n",F);(fout," Средняя длина
очереди - %5.4f\n",l);
Bproc+=dB;
}:
}sintezKS()
{In[5]={1.4,1.0,1.6,1.6,0.9};
//интенсивность поступления задачIno;//интенсивность потока заявок на решение
средней задачиRo;//средняя трудоемкость при решении средней
задачиbuf;Rp;//средняя трудоемкость этапа счетаPo;// верoятность выхода задачи
из системыIhd,Ist;// интенсивность обращения к HD и STzck;// число селекторных
каналовIck;//интенсивность обращения к селекторным каналамPhd,Pst;//
вероятности обращения HD и STLhd,Lst;// средняя длина записи при
обращенииTck;// среднее время передачи через селекторный каналUmin;//ср. время
ответа системыUpr;//ср. время пребывания задачи на процессореUhd,Ust;//ср.
время пребывания на HD и STUck;//ср.время пребывания задачи на
СКUz;//ограничение на время пребыванияUzz;Smin;//стоимость
системыD[10];//среднее число обращений к файлуDo;// суммарное число обращений к
файлу при решении средней задачи
char
flags[10];z1hd,z1st,z2hd,z2st;// количество HD и
STzhd,zst;Dhd,Dst,Dck;// количество обращений к
HD,ST,CK
float
R[5]={21.02,138.532,37.460,20.416,41.2};// трудоемкость процессорных операций в
тысячахN[5][10]={ // ср. число обращений к файлам
{
0, 0, 3, 5, 7, 9, 1, 0, 0, 0},
{
0, 0, 0, 0, 7, 9,11, 8, 5, 0},
{
0, 0, 6, 4, 8, 9,12, 0, 0, 0},
{
1, 2, 4, 8,10, 0, 0, 0, 0, 0},
{
0, 0, 0, 8,12, 6, 2, 4, 0, 0} };P[10];// вероятность использования
файловVpr;//минимальное быстродействиеInn[10];// интенсивность обращения к
файламT[10];// предельное время доступа к
информацииM[10]={5,6,7,8,9,10,9,8,7,6};//длина файлаL[10]={10,9,8,7,6,5,6,7,8,9};//ср.длина
записиThd=0.06,Tst=2.0;//ср.время доступа к даннымVhd=190,Vst=50;//скорость
передачи данныхMhd=9,Mst=16;//емкость накопителяDp=4.5;//стоимостной
коэффициентShd=80,Sst=35,Sck=150;//стоимость устройствn1=1,n2=3; //число
нетиповых (CPU) и типовых (HD,ST,CK) устройствsqrt_q;//неопределенный
коэффициентVi;//быстродействиеz_hd,z_st,z_ck;//количество типовых
устройствU1;// задержка в решении задачи, связанная с
округлениемU;S;//стоимость ВСU1z;//новое ограничение
float Sz;Szz;sqrt_q1;V1;z_hd1,z_st1,z_ck1;S0;i,j;
fprintf(fout,"
Синтез СОО минимальной конфигурации\n");
for (i=0,Ino=0;i<5;i++)+=In[i];
fprintf(fout,"Интенсивность
потока заявок на решение средней задачи Ino=%3.2f\n",Ino);
for
(i=0,buf=0;i<5;i++)+=In[i]*R[i];
Ro=buf/Ino;(fout,"Средняя
трудоемкость при решении средней задачи Ro=%5.2f тысяч процессорных
операций\n",Ro);(fout,"Среднее число обращений к файлам
F[j]:\n");
for (i=0;i<10;i++)
{(j=0,buf=0;j<5;j++)
{+=In[j]*N[j][i];
}[i]=(buf/Ino);(fout,"
D(%u)=%5.3f\n",i+1,D[i]);
}(i=0,Do=0;i<10;i++)+=D[i];
fprintf(fout,"Суммарное
число обращений к файлам при выполнении средней задачи
Do=%5.3f\n",Do);(fout,"Вероятность использования файла F[j] при
решении задач:\n");
for (i=0;i<10;i++)
{[i]=D[i]/(Do+1);(fout,"
P(%u)=%4.3f\n",i+1,P[i]);
}=Ro/(Do+1);(fout,"Средняя трудоемкость этапа счета
Rp=%5.2f тысяч операций\n",Rp);
Po=1/(Do+1);(fout,"Вероятность
выхода задачи из системы
Po=%4.3f\n",Po);=((Boptim)/1000);(fout,"Быстродействие процессора,
которое обеспечивает минимальную функцию штрафа ");(fout,"Vpr=%f
тысяч операций в секунду\n",Vpr);(fout,"Интенсивность обращения к
файлам F[j]:\n");
for (i=0;i<10;i++)
{[i]=(float)Ino*D[i];(fout,"
Inn(%u)=%4.3f\n",i+1,Inn[i]);
}(fout,"Предельное
время доступа к информации:\n");
for (i=0;i<10;i++)
{(Inn[i]!=0)
{ T[i]=(float)1/Inn[i];(fout,"
T(%u)=%4.3f\t",i+1,T[i]);
}
{T[i]=-1;(fout," T(%u)=неопределенно\t",i+1);
}(T[i]!=-1)
{(T[i]<Tst)
{(fout,"необходимо
размеcтить на HD\n");[i]='h';
}
{(fout,"необходимо
размеcтить на ST\n");[i]='s';
}
}
{(fout,"неопределенно
\n");
flags[i]='u';
}
}(i=0,Dhd=Dst=0;i<10;i++)
{(flags[i]=='h')+=D[i];+=D[i];
}(fout,"Количество обращений к
HD Dhd=%5.3f\n",Dhd);
fprintf(fout,"Количество
обращений к ST Dst=%5.3f\n",Dst);=Ino*Dhd;(fout,"Интенсивность
обращения к HD Ihd=%5.3f\n",Ihd);=Ino*Dst;(fout,"Интенсивность
обращения к ST Ist=%5.3f\n",Ist);
z1hd=(Ihd*Thd);st=(Ist*Tst);(fout,"Количество
HD по коэффициенту загрузки
Z1hd=%5.3f\n",z1hd);(fout,"Количество ST по коэффициенту загрузки
Z1st=%5.3f\n",z1st);(i=0,z2hd=z2st=0;i<10;i++)
{(flags[i]=='h')hd+=M[i];st+=M[i];
}hd=(z2hd/Mhd);st=(z2st/Mst);(fout,"Количество
HD по емкости
Z2hd=%5.3f\n",z2hd);(fout,"Количество ST по емкости
Z2st=%5.3f\n",z2st);((z1hd>0)&&(z2hd>0))
{(z1hd>z2hd)= ceil (z1hd);= ceil
(z2hd);
}=0;((z1st>0)&&(z2st>0))
{(z1st>z2st)= ceil (z1st);= ceil
(z2st);
}=0;
fprintf(fout,"Выбранное
количество HD в проектируемой системе Zhd=%u\n",zhd);(fout,"Выбранное
количество ST в проектируемой системе
Zst=%u\n",zst);=Ino*Do;(fout,"Интенсивность обращения к селекторным
каналам Ick=%5.3f\n",Ick);
for
(i=0,Phd=Pst=Lhd=Lst=0;i<10;i++)
{(flags[i]=='h')
{+=P[i];+=L[i]*P[i];
}
{+=P[i];+=L[i]*P[i];
}
}(fout,"Вероятность
обращения к HD Phd=%5.3f\n",Phd);(fout,"Вероятность обращения к ST
Pst=%5.3f\n",Pst);
Lhd=Lhd/Phd;(Pst>0)=Lst/Pst;=0;
fprintf(fout,"Средняя
длина записи при обращении к HD Lhd=%5.3f Кб\n",Lhd);(fout,"Средняя
длина записи при обращении к ST Lst=%5.3f Кб\n",Lst);
Tck=Lhd*Phd/Vhd+Lst*Pst/Vst;
zck=ceil(Ick*Tck);(fout,"Среднее
время передачи средней записи через селекторный канал Tck=%5.3f
c\n",Tck);(fout,"Количество селекторных каналов Zck=%u\n",zck);
Upr=Ro/(Vpr-Ino*Ro);(zhd>0)=Thd/(1-Ihd*Thd/zhd);=0;(zst>0)=Tst/(1-Ist*Tst/zst);=0;(zck>0)=Tck/(1-Ick*Tck/zck);=0;=Upr+Dhd*Uhd+Dst*Ust+Do*Uck;
fprintf(fout,"Среднее
время пребывания средней задачи на процессоре Upr=%6.3f
c\n",Upr);(fout,"Среднее время пребывания на HD Uhd=%5.3f
c\n",Uhd);(fout,"Среднее время пребывания на ST Ust=%5.3f
c\n",Ust);(fout,"Среднее время пребывания заявки в селекторном канале
Uck=%5.3f c\n",Uck);(fout,"Среднее время ответа в СОО Umin=%5.3f
c\n",Umin);=Dp*Vpr+zck*Sck+zhd*Shd+zst*Sst;(fout,"Стоимость СОО
Smin=%5.3f единиц стоимости",Smin);(fout,"\n\n Синтез СОО с заданным
временем пребывания\n");=0.5*Umin;(fout,"Ограничение по времени
пребывания Uz=%5.3f с\n",Uz);(fout,"Количество типовых устройств
N1=%u\nКоличество нетиповых устройств
N2=%u\n",n2,n1);=Dhd+Dst;=Uz-(Dhd*Thd+Dst*Tst+Dck*Tck);(fout,"Результирующее
значение Uzz=%5.3f
с\n",Uzz);_q=(sqrt(Ro*Dp)+(Thd*sqrt(Dhd*Ihd*Shd)+Tst*sqrt(Dst*Ist*Sst)+Tck*sqrt(Dck*Ick*Sck)))/Uzz;(fout,"Неопределенный
коэффициент Лагранжа sqrt_q=%5.3f\n",sqrt_q);
Vi=Vpr+sqrt_q*sqrt(Ro/Dp);
fprintf(fout,"Быстродействие
при первом приближении Vprmin=%5.3f тысяч операций в
секунду\n",Vi);_hd=ceil(Ihd*Thd+Thd*sqrt_q*sqrt(Dhd*Ihd/Shd));
z_st=ceil(Ist*Tst+Tst*sqrt_q*sqrt(Dst*Ist/Sst));_ck=ceil(Ick*Tck+Tck*sqrt_q*sqrt(Dck*Ick/Sck));
fprintf(fout,"Количество
типовых устройств:\n");
fprintf(fout,"\t HD=%u\n\t
ST=%u\n\t CK=%u\n",z_hd,z_st,z_ck);(z_st>0)
{=Uz-((Dhd*z_hd*Thd/(z_hd-Ihd*Thd))+(Dst*z_st*Tst/(z_st-Ist*Tst))+(Dck*z_ck*Tck/(z_ck-Ick*Tck)));
}=Uz-((Dhd*z_hd*Thd/(z_hd-Ihd*Thd))+(Dck*z_ck*Tck/(z_ck-Ick*Tck)));
fprintf(fout,"Задержка
в решении задачи U1=%5.3f
c\n",U1);=Vpr+Ro/U1;(fout,"Скорректированное быстродействие
нетипового устройства Vprmin=%5.3f тысяч операций в
секунду\n",Vi);(z_st>0)
{=Ro/(Vi-Vpr)+((Dhd*z_hd*Thd/(z_hd-Ihd*Thd))+(Dst*z_st*Tst/(z_st-Ist*Tst))+(Dck*z_ck*Tck/(z_ck-Ick*Tck)));
}=Ro/(Vi-Vpr)+((Dhd*z_hd*Thd/(z_hd-Ihd*Thd))+(Dck*z_ck*Tck/(z_ck-Ick*Tck)));(fout,"Среднее
время пребывания программы U=%5.3f c\n",U);
S=Dp*Vi+z_hd*Shd+z_st*Sst+z_ck*Sck;
fprintf(fout,"Стоимость
вычислительной системы S=%5.3f единиц стоимости\n",S);(z_hd<zhd)
{(fout,"\n
Поскольку число HD оказалось меньше, чем это же число в СОО с минимальной конфигурацией,
то вычисляется новое ограничение в
системе\n");_hd=zhd;z=Uz-Dhd*z_hd*Thd/(z_hd-Ihd*Thd);(fout,"Новое
ограничение по времени Uz=%5.3f c\n",U1z);
Uzz=U1z-(Dst*Tst+Dck*Tck);
fprintf(fout,"Результирующее
значение Uzz=%5.3f с\n",Uzz);_q=(sqrt(Ro*Dp)+(Tst*sqrt(Dst*Ist*Sst)+Tck*sqrt(Dck*Ick*Sck)))/Uzz;(fout,"Неопределенный
коэффициент Лагранжа sqrt_q=%5.3f\n",sqrt_q);
Vi=Vpr+sqrt_q*sqrt(Ro/Dp);
fprintf(fout,"Быстродействие
при первом приближении Vprmin=%5.3f тысяч операций в секунду\n",Vi);
z_st=ceil(Ist*Tst+Tst*sqrt_q*sqrt(Dst*Ist/Sst));_ck=ceil(Ick*Tck+Tck*sqrt_q*sqrt(Dck*Ick/Sck));
fprintf(fout,"Количество
типовых устройств:\n");
fprintf(fout,"\t HD=%u\n\t
ST=%u\n\t CK=%u\n",z_hd,z_st,z_ck);(z_st>0)
{=U1z-((Dst*z_st*Tst/(z_st-Ist*Tst))+(Dck*z_ck*Tck/(z_ck-Ick*Tck)));
}=Uz-((Dhd*z_hd*Thd/(z_hd-Ihd*Thd))+(Dck*z_ck*Tck/(z_ck-Ick*Tck)));
fprintf(fout,"Задержка
в решении задачи U1=%5.3f
c\n",U1);=Vpr+Ro/U1;(fout,"Скорректированное быстродействие
нетипового устройства Vprmin=%5.3f тысяч операций в секунду\n",Vi);(z_st>0)
{=Ro/(Vi-Vpr)+((Dhd*z_hd*Thd/(z_hd-Ihd*Thd))+(Dst*z_st*Tst/(z_st-Ist*Tst))+(Dck*z_ck*Tck/(z_ck-Ick*Tck)));
}=Ro/(Vi-Vpr)+((Dhd*z_hd*Thd/(z_hd-Ihd*Thd))+(Dck*z_ck*Tck/(z_ck-Ick*Tck)));(fout,"Среднее
время пребывания программы U=%5.3f c\n",U);
S=Dp*Vi+z_hd*Shd+z_st*Sst+z_ck*Sck;
fprintf(fout,"Стоимость
вычислительной системы S=%5.3f единиц стоимости\n",S);
}(fout,"\n\n
Синтез СОО заданной стоимости\n");(fout,"Предельная стоимость системы
оперативной обработки Smin=");=2*Smin;(fout,"%5.3f единиц
стоимости\n",Sz);
Szz=Sz-(Vpr+Shd*Ihd*Thd+Sst*Ist*Tst+Sck*Ick*Tck);(fout,"Szz=%5.3f
единиц стоимости\n",Szz);_q1=Szz/(sqrt(Ro*Dp)+Thd*sqrt(Shd*Ihd*Dhd)+Tst*sqrt(Sst*Ist*Dst)+Tck*sqrt(Sck*Ick*Dck));(fout,"Неопределенный коэффициент
1/sqrt_q=%5.3f\n",sqrt_q1);=Vpr+sqrt_q1*sqrt(Ro/Dp);_hd1=ceil(Ihd*Thd+sqrt_q1*sqrt(Dhd*Ihd/Shd))*Thd;_st1=ceil(Ist*Tst+sqrt_q1*sqrt(Dst*Ist/Sst))*Tst;_ck1=ceil(Ick*Tck+sqrt_q1*sqrt(Dck*Ick/Sck))*Tck;
fprintf(fout,"Быстродействие
процессора при первом приближении V1=%5.3f тысяч операций в
секунду\n",V1);(fout,"Количество типовых устройств:\n");
fprintf(fout,"\t HD=%u\n\t
ST=%u\n\t
CK=%u\n",z_hd1,z_st1,z_ck1);=Sz-(z_hd1*Shd+z_st1*Sst+z_ck1*Sck+Vpr*Dp);
fprintf(fout,"Избыточная
стоимость S0=%5.3f единиц стоимости\n",S0);=Vpr+S0/Dp;(fout,"Быстродействие
процессора после распределения избыточной стоимости V1=%5.3f тысяч операций в
секунду\n",V1);
S=Dp*V1+z_hd1*Shd+z_st1*Sst+z_ck1*Sck;
fprintf(fout,"Стоимость
системы при полученных параметрах S=%5.3f единиц
стоимости\n",S);(z_hd1<zhd)
{(fout,"\n
Поскольку число HD оказалось меньше, чем это же число в СОО с минимальной
конфигурацией, то вычисляется новое ограничeние в
системе\n");(fout,"Предельная стоимость системы оперативной обработки
");(fout,"Sz=%5.3f единиц стоимости\n",Sz);
Szz=Sz-(Ino*Ro+Sst*Ist*Tst+Sck*Ick*Tck);(fout,"Szz=%5.3f
единиц стоимости\n",Szz);_q1=Szz/(sqrt(Ro*Dp)+Tst*sqrt(Sst*Ist*Dst)+Tck*sqrt(Sck*Ick*Dck));(fout,"Неопределенный коэффициент
1/sqrt_q=%5.3f\n",sqrt_q1);=Vpr+sqrt_q1*sqrt(Ro/Dp);_hd1=zhd;_st1=ceil(Ist*Tst+sqrt_q1*sqrt(Dst*Ist/Sst))*Tst;_ck1=ceil(Ick*Tck+sqrt_q1*sqrt(Dck*Ick/Sck))*Tck;
fprintf(fout,"Быстродействие
процессора при первом приближении V1=%5.3f тысяч операций в
секунду\n",V1);(fout,"Количество типовых устройств:\n");
fprintf(fout,"\tHD=%u\n\tST=%u\n\tCK=%u\n",z_hd1,z_st1-1,z_ck1);=Sz-(z_hd1*Shd+z_st1*Sst+z_ck1*Sck+Vpr*Dp);
fprintf(fout,"Избыточная
стоимость S0=%5.3f единиц
стоимости\n",S0);=Vpr+S0/Dp;(fout,"Быстродействие процессора после
распределения избыточной стоимости V1=%5.3f тысяч операций в секунду\n",V1);
S=Dp*V1+z_hd1*Shd+z_st1*Sst+z_ck1*Sck;
fprintf(fout,"Стоимость
системы при полученных параметрах S=%5.3f единиц стоимости",S);
}
}main()
{=fopen("part1.txt","wt");
fprintf(fout,"Курсовая
работа по Компьютерным Системам\n");(fout,"Студент Варич Максим
СП-08а\n\n");(fout,"ОПРЕДЕЛЕНИЕ БЫСТРОДЕЙСТВИЯ
ПРОЦЕССОРА\n");();(fout,"\nБЕСПРИОРИТЕТНАЯ ДИСЦИПЛИНА
ОБСЛУЖИВАНИЯ");(0,Bmin);(fout,"\nДИСЦИПЛИНА ОБСЛУЖИВАНИЯ С
ОТНОСИТЕЛЬНЫМ ПРИОРИТЕТОМ");(1,Bmin);(fout,"\nДИСЦИПЛИНА ОБСЛУЖИВАНИЯ
С АБСОЛЮТНЫМ ПРИОРИТЕТОМ");(2,Bmin);(fout,"\nДИСЦИПЛИНА ОБСЛУЖИВАНИЯ
СО СМЕШАННЫМ ПРИОРИТЕТОМ");
disciplina(3,Bmin);(fout);=fopen("part2.txt","wt");
sintezKS();(fout);
}