Задания
Версия для печати и копирования в MS Word
Тип 22 № 63038
i

В ком­пью­тер­ной си­сте­ме не­об­хо­ди­мо вы­пол­нить не­ко­то­рое ко­ли­че­ство вы­чис­ли­тель­ных про­цес­сов, ко­то­рые могут вы­пол­нять­ся па­рал­лель­но или по­сле­до­ва­тель­но. Для за­пус­ка не­ко­то­рых про­цес­сов не­об­хо­ди­мы дан­ные, ко­то­рые по­лу­ча­ют­ся как ре­зуль­та­ты вы­пол­не­ния од­но­го или двух дру­гих про­цес­сов  — по­став­щи­ков дан­ных. Если за­ви­си­мый про­цесс по­лу­ча­ет дан­ные от од­но­го или не­сколь­ких дру­гих про­цес­сов (по­став­щи­ков дан­ных), то вы­пол­не­ние за­ви­си­мо­го про­цес­са не может на­чать­ся рань­ше за­вер­ше­ния всех про­цес­сов-по­став­щи­ков. Ко­ли­че­ство од­но­вре­мен­но вы­пол­ня­е­мых про­цес­сов может быть любым. Дли­тель­ность про­цес­са не за­ви­сит от дру­гих па­рал­лель­но вы­пол­ня­е­мых про­цес­сов.

В таб­ли­це пред­став­ле­ны иден­ти­фи­ка­тор (ID) каж­до­го про­цес­са, его дли­тель­ность, для за­ви­си­мых про­цес­сов  — ID по­став­щи­ков дан­ных. Для не­за­ви­си­мых про­цес­сов в ка­че­стве ID по­став­щи­ков дан­ных ука­зан 0. Опре­де­ли­те мак­си­маль­ную дли­тель­ность от­рез­ка вре­ме­ни (в мс), в те­че­ние ко­то­ро­го воз­мож­но од­но­вре­мен­ное вы­пол­не­ние четырёх про­цес­сов, при усло­вии, что в эту четвёрку не вхо­дит про­цесс с ID  =  2.

Вы­пол­ни­те за­да­ния, ис­поль­зуя дан­ные из файла ниже:

За­да­ние 22

Спрятать решение

Ре­ше­ние.

От­сор­ти­ру­ем дан­ные в таб­ли­це так, чтобы все не­за­ви­си­мые про­цес­сы ока­за­лись в на­ча­ле таб­ли­цы и любой про­цесс был рас­по­ло­жен после всех про­цес­сов, от ко­то­рых он за­ви­сит. Также в таб­ли­цу до­ба­вим стол­бец «Время окон­ча­ния про­цес­са» и за­пи­шем туда дли­тель­но­сти не­за­ви­си­мых про­цес­сов.

 

ABCD
1ID про­цес­са BВремя вы­пол­не­ния про­цес­са B (мс)ID про­цес­сов AВремя окон­ча­ния про­цес­са
2197097
321490149
43441;2
54803
65263
76475
87744;6
9882082
1091370137
1110908;9
12114810
13128410
14131711

 

Далее рас­счи­та­ем время вы­пол­не­ния остав­ших­ся про­цес­сов:

f(3)  =  44 + max(f(1), f(2))  =  44 + 149  =  193;

f(4)  =  80 + f(3)  =  80 + 193  =  273;

f(5)  =  26 + f(3)  =  26 + 193  =  219;

f(6)  =  47 + f(5)  =  47 + 219  =  266;

f(7)  =  74 + max(f(4), f(6))  =  74 + 273  =  347;

f(10)  =  90 + max(f(8), f(9))  =  90 + 137  =  227;

f(11)  =  48 + f(10)  =  48 + 227  =  275;

f(12)  =  84 + f(10)  =  84 + 227  =  311;

f(13)  =  17 + f(11)  =  17 + 275  =  292.

 

ABCD
1ID про­цес­са BВремя вы­пол­не­ния про­цес­са B (мс)ID про­цес­сов AВремя окон­ча­ния про­цес­са
2197097
321490149
43441;2193
54803273
65263219
76475266
87744;6347
9882082
1091370137
1110908;9227
12114810275
13128410311
14131711292

 

По­стро­им диа­грам­му вы­пол­не­ния каж­до­го про­цес­са.

За­ме­тим, что про­цес­сы 1,2, 8 и 9 можно на­чи­нать с лю­бо­го вре­ме­ни. Мак­си­маль­ный от­ре­зок, в те­че­ние ко­то­ро­го воз­мож­но од­но­вре­мен­ное вы­пол­не­ние четырёх про­цес­сов, по­лу­чить­ся, если сдви­нуть на­ча­ла про­цес­са 8.

По­стро­им диа­грам­му вы­пол­не­ния каж­до­го про­цес­са и рас­смот­рим когда могут вы­пол­нять­ся од­но­вре­мен­но 4 про­цес­са.

Мак­си­маль­ная дли­тель­ность от­рез­ка вре­ме­ни (в мс), в те­че­ние ко­то­ро­го воз­мож­но од­но­вре­мен­ное вы­пол­не­ние четырёх про­цес­сов, при усло­вии, что в эту четвёрку не вхо­дит про­цесс с ID  =  2, на­чи­на­ет­ся с 194 мс и про­хо­дит до 266 мс. Всего:

266 − 194 + 1  =  73 мс.

Ответ: 73.


Аналоги к заданию № 63038: 63071 64907 64952 Все