Раздел № 1.
1. Цель работы.
1. Исследовать режим мультипрограммирования процессора, а также некоторые способы планирования заданий, с учётом требований к памяти и внешним устройствам.
2. Построить временную диаграмму мультипрограммной работы при использовании дисциплин обслуживания SJFиFIFO.
3. Провести сравнение двух случаев по средневзвешенному времени обращения.
Исходные данные.
Вычислительная система имеет следующие ресурсы:
Оперативной памятью V.
Внешним объёмом памяти H.
Оперативная память выделяется перемещаемыми разделами, которые исключают влияние фрагментации. Режим мультипрограммирования реализуется: если одновременно выполняется несколько задач, то процессорное время распределяется между ними равномерно. В систему поступает поток из Mзаданий, очередное задание поступает через времяti, для простоты каждое задание состоит из одной задачи и требует объём оперативной памятиvi, объём внешней памятиhi, процессорное время £i. Каждое задание использует свою внешнюю память только для ввода данных в течение времениq*hi(в таблице даноqi, время ввода для каждого задания), после чего начинается счёт. Однако закрепленные за каждым заданием носители освобождаются только после завершения задания.
Значения используемых параметров: V=16,H=12,q=5,M=5,X0=N,N=107.
4. Расчёт последовательности заданий.
Формулы для вычисления последовательности заданий:
Xi=(7*X(i-1)+417)mod1000
Ki=(Xi/7)mod10
tпi=tп(i-1)+Ki
X1=(7*107+417)mod1000=166
X2=(7*166+417)mod1000=579
X3=(7*579+417)mod1000=470
X4=(7*470+417)mod1000=707
X5=(7*707+417)mod1000=366
X6=(7*366+417)mod1000=979
X7=(7*979+417)mod1000=270
X8=(7*270+417)mod1000=307
X9=(7*307+417)mod1000=566
X10=(7*Xi+417)mod1000=379
K1=(166/7)mod10=4
K2=(579/7)mod10=3
K3=(470/7)mod10=7
K4=(707/7)mod10=1
K5=(366/7)mod10=2
K6=(979/7)mod10=0
K7=(270/7)mod10=9
K8=(307/7)mod10=4
K9=(566/7)mod10=1
K10=(379/7)mod10=4
tп1=0
tп2=3+4=7
tп3=7+7=14
tп4=14+1=15
tп5=15+2=17
tп6=17+0=17
tп7=17+9=26
tп8=26+4=30
tп9=30+1=31
tп10=31+4=35
M |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
v |
6 |
3 |
2 |
4 |
3 |
5 |
7 |
9 |
4 |
1 |
h |
2 |
4 |
3 |
1 |
2 |
0 |
4 |
1 |
6 |
3 |
£ |
70 |
90 |
40 |
10 |
60 |
30 |
20 |
30 |
40 |
50 |
tпi |
0 |
7 |
14 |
15 |
17 |
17 |
26 |
30 |
31 |
35 |
qi |
10 |
20 |
15 |
5 |
10 |
0 |
20 |
5 |
30 |
15 |
5. Ход работы. Временная диаграмма мультипрограммной работы эвм.
Дисциплина обслуживания SJF.
Время |
Событие |
V |
H |
tпi=0 |
Поступило задание 1, свободных ресурсов заданию хватает, оно назначается на выполнение. Начинается ввод задания1. |
10 |
10 |
tпi=7 |
Поступило задание 2, свободных ресурсов заданию хватает, оно назначается на выполнение. Начинается ввод задания2. Продолжается ввод задания 1. |
7 |
6 |
tпi=10 |
Закончен ввод задания1. Продолжается ввод задания 2. Процессорное время занимается заданием 1. |
7 |
6 |
tпi=14 |
Поступило задание 3, свободных ресурсов заданию хватает, оно назначается на выполнение. Начинается ввод задания3. Продолжается ввод задания 2. Процессорное время занимается заданием 1. |
5 |
3 |
tпi=15 |
Поступило задание 4, свободных ресурсов заданию хватает, оно назначается на выполнение. Начинается ввод задания4. Продолжается ввод задании 2, 3. Процессорное время занимается заданием 1. |
1 |
2 |
tпi=17 |
Поступили задания 5 и 6, Т.к. свободных ресурсов им не хватает, они становятся в очередь. Продолжается ввод задании 2, 3, 4. Процессорное время занимается заданием 1. |
1 |
2 |
tпi=20 |
Закончен ввод задания 4. Продолжается ввод задании 2, 3. Процессорное время делится между заданиями 1, 4. |
1 |
2 |
tпi=26 |
Поступило задание 7. Т.к. свободных ресурсов ему не хватает, оно становится в очередь. Продолжается ввод задании 2, 3. Процессорное время делится между заданиями 1, 4. |
1 |
2 |
tпi=27 |
Закончен ввод задания 2. Продолжается ввод задания 3. Процессорное время делится между заданиями 1, 2, 4. |
1 |
2 |
tпi=29 |
Закончен ввод задания 3. Процессорное время делится между заданиями 1, 2, 3, 4. |
1 |
2 |
tпi=30 |
Поступило задание 8. Т.к. свободных ресурсов ему не хватает, оно становится в очередь. Процессорное время делится между заданиями 1, 2, 3, 4. |
1 |
2 |
tпi=31 |
Поступило задание 9. Т.к. свободных ресурсов ему не хватает, оно становится в очередь. Процессорное время делится между заданиями 1, 2, 3, 4. |
1 |
2 |
tпi=35 |
Поступило задание 10. Поступление задач завершено. Т.к. свободных ресурсов ему не хватает, оно становится в очередь. Процессорное время делится между заданиями 1, 2, 3, 4. |
1 |
2 |
tпi=52 |
Завершено выполнение задания 4. Ресурсы занятые им освобождены. Свободных ресурсов хватает для назначения следующего задания. В работу вступает алгоритм SJFи на выполнение назначается задание 6 (потому, что у него наименьшее время выполнения из заданий которые могут выполняться по свободным ресурсам), оно назначается на выполнение. Процессорное время делится между заданиями 1, 2, 3, 6. |
0 |
3 |
tпi=172 |
Завершено выполнение задания 6. Ресурсы занятые им освобождены. Свободных ресурсов хватает для назначения следующего задания. В работу вступает алгоритм SJFи на выполнение назначается задание 10. Начинается ввод задания10. Процессорное время делится между заданиями 1, 2, 3. |
4 |
0 |
tпi=185 |
Завершено выполнение задания 3. Ресурсы занятые им освобождены. Свободных ресурсов хватает для назначения следующего задания. В работу вступает алгоритм SJFи на выполнение назначается задание 5. Начинается ввод задания 5. Продолжается ввод задания 10. Процессорное время делится между заданиями 1, 2. |
3 |
1 |
tпi=187 |
Закончен ввод задания 10. Продолжается ввод задания 5. Процессорное время делится между заданиями 1, 2, 10. |
3 |
1 |
tпi=195 |
Закончен ввод задания 5. Процессорное время делится между заданиями 1, 2, 5, 10. |
3 |
1 |
tпi=243 |
Завершено выполнение задания 1. Ресурсы занятые им освобождены. Свободных ресурсов хватает для назначения следующего задания. В работу вступает алгоритм SJFи на выполнение назначается задание 8. Начинается ввод задания 8. Процессорное время делится между заданиями 2, 5, 10. |
0 |
2 |
tпi=248 |
Закончен ввод задания 8. Процессорное время делится между заданиями 2, 5, 8, 10. |
0 |
2 |
tпi=368 |
Завершено выполнение задания 8. Ресурсы занятые им освобождены. Свободных ресурсов не хватает для назначения следующего задания. Процессорное время делится между заданиями 2, 5, 10. |
9 |
3 |
tпi=373 |
Завершено выполнение задания 2. Ресурсы занятые им освобождены. Свободных ресурсов хватает для назначения следующего задания. В работу вступает алгоритм SJFи на выполнение назначается задание 7. Начинается ввод задания 7. Процессорное время делится между заданиями 5, 10. |
5 |
3 |
tпi=376 |
Завершено выполнение задания 10. Ресурсы занятые им освобождены. Свободных ресурсов хватает для назначения следующего задания. В работу вступает алгоритм SJFи на выполнение назначается задание 9. Начинается ввод задания 9. Продолжается ввод заданий 7. Процессорное время занимается заданием 5. |
2 |
0 |
tпi=389 |
Завершено выполнение задания 5. Ресурсы занятые им освобождены. Продолжается ввод заданий 7, 9.Процессор работает в холостую. |
5 |
2 |
tпi=393 |
Закончен ввод задания 7. Продолжается ввод задания 9. Процессорное время занимается заданием 7. |
5 |
2 |
tпi=406 |
Закончен ввод задания 9. Процессорное время делится между заданиями 7, 9. |
5 |
2 |
tпi=420 |
Завершено выполнение задания 7. Ресурсы занятые им освобождены. Процессорное время занимается заданием 9. |
12 |
6 |
tпi=453 |
Завершено выполнение задания 9. Ресурсы занятые им освобождены. Работа системы завершена. |
16 |
12 |