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

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

Ко­ли­че­ство од­но­вре­мен­но вы­пол­ня­е­мых про­цес­сов может быть любым, дли­тель­ность про­цес­са не за­ви­сит от дру­гих па­рал­лель­но вы­пол­ня­е­мых про­цес­сов.

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

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

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

За­да­ние 22

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

Ре­ше­ние.

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

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

f(7)  =  114 + max(f(4), f(5), f(6))  =  313;

f(8)  =  185 + max(f(1), f(2), f(3))  =  353;

f(9)  =  136 + f(8)  =  489;

f(10)  =  176 + f(7)  =  489;

f(11)  =  138 + f(10)  =  627;

f(12)  =  140 + max(f(7), f(10))  =  629;

f(13)  =  182 + max(f(8), f(9))  =  671;

f(14)  =  150 + f(9)  =  639.

 

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

Пе­ре­не­сем за­ви­си­мые про­цес­сы к ис­ход­ным:

Если не учи­ты­вать вто­рой про­цесс, то время, когда вы­пол­ня­лись пять про­цес­сов равно 146 (про­цес­сы с 1 по 6). По­про­бу­ем уве­ли­чить это время. Про­цес­сы, ко­то­рые не от кого не за­ви­сят, можно на­чи­нать с лю­бо­го вре­ме­ни. По­дви­нем про­цес­сы 4, 5 и 6 к 13 и 14 про­цес­сам:

Мак­си­маль­ное время про­цес­сов уве­ли­чи­лось до 150 мс. Если рас­смот­реть дру­гие про­цес­сы, то боль­ше вре­ме­ни сде­лать не по­лу­чит­ся.

 

Ответ: 150.


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