- Fix bug in FCFS. Thanks, Filippo.

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1126 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
tchernobog 2006-09-13 11:59:44 +00:00
parent b4dd5d592c
commit 9c50d712f3
4 changed files with 11 additions and 8 deletions

View File

@ -578,10 +578,12 @@ noinst_DATA += \
src/testsuite/scheduling-wizards/wizard-block-fail src/testsuite/scheduling-wizards/wizard-block-fail
examples_DATA = \ examples_DATA = \
src/testsuite/scheduling-wizards/environments/Colori_rr_prio_1_2.xgp \
src/testsuite/scheduling-wizards/environments/DiscWorld_unblock.xgp \
src/testsuite/scheduling-wizards/environments/Ducks_rr_2.xgp \ src/testsuite/scheduling-wizards/environments/Ducks_rr_2.xgp \
src/testsuite/scheduling-wizards/environments/FruitsBasket_complex.xgp \ src/testsuite/scheduling-wizards/environments/FruitsBasket_complex.xgp \
src/testsuite/scheduling-wizards/environments/Fantozzi_lifo_requests.xgp \ src/testsuite/scheduling-wizards/environments/Fantozzi_lifo_requests.xgp \
src/testsuite/scheduling-wizards/environments/Colori_rr_prio_1_2.xgp \ src/testsuite/scheduling-wizards/environments/Pensieri_fcfs.xgp \
src/testsuite/scheduling-wizards/environments/ScuolaDiMileto_block_fail.xgp \ src/testsuite/scheduling-wizards/environments/ScuolaDiMileto_block_fail.xgp \
src/testsuite/scheduling-wizards/environments/ScuolaDiMileto_gap_blocked.xgp \ src/testsuite/scheduling-wizards/environments/ScuolaDiMileto_gap_blocked.xgp \
src/testsuite/scheduling-wizards/environments/ScuolaDiMileto_assert_fail.xgp \ src/testsuite/scheduling-wizards/environments/ScuolaDiMileto_assert_fail.xgp \
@ -590,7 +592,6 @@ examples_DATA = \
src/testsuite/scheduling-wizards/environments/Matteo_preemption_fail.xgp \ src/testsuite/scheduling-wizards/environments/Matteo_preemption_fail.xgp \
src/testsuite/scheduling-wizards/environments/Porno_priority_inversion.xgp \ src/testsuite/scheduling-wizards/environments/Porno_priority_inversion.xgp \
src/testsuite/scheduling-wizards/environments/ScuolaDiMileto_gap_fail.xgp \ src/testsuite/scheduling-wizards/environments/ScuolaDiMileto_gap_fail.xgp \
src/testsuite/scheduling-wizards/environments/DiscWorld_unblock.xgp \
src/testsuite/scheduling-wizards/environments/TheSecretOfMonkeyIsland.xgp src/testsuite/scheduling-wizards/environments/TheSecretOfMonkeyIsland.xgp
EXTRA_DIST += $(noinst_DATA) $(examples_DATA) EXTRA_DIST += $(noinst_DATA) $(examples_DATA)

View File

@ -809,7 +809,7 @@ It represent the processes status at each instant from the simulation beginning
to the actual one.@* to the actual one.@*
Into the graph is possible to view the processes only or both processes and threads. Into the graph is possible to view the processes only or both processes and threads.
@strong{Note:} this graph illustrates the @emph{past}. After each simulation @strong{Watch out:} this graph illustrates the @emph{past}. After each simulation
step is gone, the corresponding processes'/threads' states are drawn. step is gone, the corresponding processes'/threads' states are drawn.
The graph is divided in three areas: The graph is divided in three areas:
@ -1197,8 +1197,10 @@ that the name of the class have to be the same of the name of the file
11 def sort_queue(self, event, queue): 11 def sort_queue(self, event, queue):
@strong{12 cmpf = lambda a, b: \ @strong{12 cmpf = lambda a, b: \
a.get_schedulable().get_arrival_time() <= \ a.get_schedulable().get_arrival_time() + \
b.get_schedulable().get_arrival_time() a.get_process().get_arrival_time <= \
b.get_schedulable().get_arrival_time() + \
b.get_process().get_arrival_time
13 self.sort(queue,cmpf)} 13 self.sort(queue,cmpf)}
@end example @end example
@sp 2 @sp 2
@ -1255,7 +1257,7 @@ parameter via @code{Policy.configure()} if the policy is
time-sliced, to ensure greater flexibility. time-sliced, to ensure greater flexibility.
@sp 1 @sp 1
@item body of @code{ def sort_queue(self, event, queue):} line 12,13 @item body of @code{def sort_queue(self, event, queue):} line 12,13
Sort the queue of ready threads. This method is called by the Sort the queue of ready threads. This method is called by the
scheduler at each step of the simulation to sort the ready threads scheduler at each step of the simulation to sort the ready threads

View File

@ -42,6 +42,6 @@ the simplest of them all."""
def sort_queue(self, queue): def sort_queue(self, queue):
cmpf = lambda a, b: \ cmpf = lambda a, b: \
a.get_arrival_time() <= \ a.get_arrival_time() + a.get_process().get_arrival_time() <= \
b.get_arrival_time() b.get_arrival_time() + b.get_process().get_arrival_time()
self.sort(queue,cmpf) self.sort(queue,cmpf)