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

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

В таб­ли­це пред­став­ле­ны иден­ти­фи­ка­тор (ID) каж­до­го про­цес­са, его дли­тель­ность и ID по­став­щи­ков дан­ных для за­ви­си­мых про­цес­сов.

Опре­де­ли­те сум­мар­ную дли­тель­ность всех про­ме­жут­ков вре­ме­ни, в те­че­ние ко­то­рых вы­пол­ня­лось ровно 4 про­цес­са.

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

За­да­ние 22

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

Ре­ше­ние.

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

 

ABCD
1ID про­цес­са BВремя вы­пол­не­ния про­цес­са B (мс)ID про­цес­сов AВремя окон­ча­ния про­цес­са
21404
32202
49707
510909
6473
7563
8625
9826
101169
1112610
12351;2
13754;6

 

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

f(4)  =  7 + f(3)  =  7 + 9  =  16;

f(5)  =  6 + f(3)  =  6 + 9  =  15;

f(6)  =  2 + f(5)  =  2 + 15  =  17;

f(8)  =  2 + f(6)  =  2 + 17  =  19;

f(11)  =  6 + f(9)  =  6 + 7  =  13;

f(12)  =  6 + f(10)  =  6 + 9  =  15;

f(3)  =  5 + max(f(1), f(2))  =  5 + 4  =  9;

f(7)  =  5 + max(f(4), f(6))  =  5 + 17  =  22.

 

ABCD
1ID про­цес­са BВремя вы­пол­не­ния про­цес­са B (мс)ID про­цес­сов AВремя окон­ча­ния про­цес­са
21404
32202
49707
510909
647316
756315
862517
982619
10116913
111261015
12351;29
13754;622

 

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

Мак­си­маль­ная про­дол­жи­тель­ность от­рез­ка вре­ме­ни (в мс), в те­че­ние ко­то­ро­го воз­мож­но од­но­вре­мен­ное вы­пол­не­ние четырёх про­цес­сов равна 6.

 

Ответ: 6.


Аналоги к заданию № 61368: 61402 Все