- Fixed a bug in scheduler, forgetting to block a thread.
- Added a grid feature to simulation_widget
- Added file->new.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1095 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Added a new environment to test the difference
between atomic and non atomic requests
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1078 3ecf2c5c-341e-0410-92b4-d18e462d057c
outside the backend in general (else, having a
get_current_priority() method was quite pointless)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1070 3ecf2c5c-341e-0410-92b4-d18e462d057c
disabled clipping on the schedulables name since I'm busy on other
tasks now, I'll fix that later this afternoon. This is an intermediate
commit.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1041 3ecf2c5c-341e-0410-92b4-d18e462d057c
- TODO: manage exceptions both in Simulation::jump_to()
and in JumpToDialog
- TODO: check the semantic of _target_instant, maybe its value
is 1 more than expected?
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1036 3ecf2c5c-341e-0410-92b4-d18e462d057c
from other headers. Take it while it's hot.
- To all those that lock source files: you'll burn in hell. Really.
It'll be painful, dreadful and above all *long*. *Eternally* long.
And there'll be Freddy Mercury and The Queen playing, *all the time*,
day after boring, useless, sorrowful day. The song
will be *``Radio Ga-Ga''*, in secula secularum amen.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1033 3ecf2c5c-341e-0410-92b4-d18e462d057c
interval [a, b) of History (where b is the front), instead
than (a, b].
- TODO: SimulationWidget would sincerely benefit from some
more comments in the code
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1027 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Change slightly the gradients of the SimulationWidget to make
them more aggressive. Bite, Fido! :-)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1025 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Erase the newly selected running thread from the ready queue
as per Marco feedback (or so I believe to have understood...)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1024 3ecf2c5c-341e-0410-92b4-d18e462d057c
prevent a sigsegv if you try to change it while the simulation
is running)
- Use a red color to indicate a blocked thread / unallocable request
in widgets
- TODO: try the deadlock test w/ the rr (NOT the rr_priority) cpu
policy. There's something wrong with the policy...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1019 3ecf2c5c-341e-0410-92b4-d18e462d057c
behaves exactly like the design says, since it doesn't allow for
Serializer::get_filename_extension() to return a *list*
of space-separated extensions; rather, it assumes that a Serializer
will return just *one* extension)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@999 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Implement GuiBuilder::on_file_save_activate()
- TODO: manage more than one serializer
- TODO: append standard extension to filename if it isn't there
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@998 3ecf2c5c-341e-0410-92b4-d18e462d057c
installed anyway). To run a test with the textual version of sgpemv2,
start it with [wd : src/testsuite/scheduling-wizards].
(note: "wd" stands for "working directory")
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@996 3ecf2c5c-341e-0410-92b4-d18e462d057c
to copy them into the install destination directory
- Yaling in preferences treeviews
- Changing policy now resets history
- Corrected some detail in speed control widget
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@995 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Connect also simulation menu items in SimulationController
- Fix typo in SchedulablesTreeWidget
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@993 3ecf2c5c-341e-0410-92b4-d18e462d057c
This optimization causes some trouble when using jumpto, but nothing terrible.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@991 3ecf2c5c-341e-0410-92b4-d18e462d057c
them extensively, mind you. Closes task #14.
- Added documentation for each cpu policy
- Manage extra-exception into PythonCPUPolicy (when the .py
file doesn't contain a similarly named class)
- Update exception output in GuiBuilder to make it slightly
more descriptive
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@983 3ecf2c5c-341e-0410-92b4-d18e462d057c
altough till lacking exception handling
if no sgpem.cfg file is present, segmentation fault
therefore no loading is ever done by now.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@979 3ecf2c5c-341e-0410-92b4-d18e462d057c
run and immediately block
- Use modulo to check the end of the time slice instead than a
simple equality
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@976 3ecf2c5c-341e-0410-92b4-d18e462d057c
- (temp) Add debug printout into text simulation of
a thread acquiring time and release time. Will be removed
just after scheduler is fixed.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@975 3ecf2c5c-341e-0410-92b4-d18e462d057c
is update separately by the state of future or blocked ones at the
beginning of step_forward() (since else it didn't influence the state of
threads coming before it in the global thread list)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@974 3ecf2c5c-341e-0410-92b4-d18e462d057c
- added tests for gap management
- added test for resource policy
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@971 3ecf2c5c-341e-0410-92b4-d18e462d057c
toolbar button about the "Scheduling policy". The same is true also
for a ResourcePolicy. These two features will also need a related
entry under the "Edit" menu. Closes task #15.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@970 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Started doing initialization of glade dialogs in a lazy manner
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@964 3ecf2c5c-341e-0410-92b4-d18e462d057c
- TODO: write a test for this both in the case of the parent process
having a "hole" between threads and being a) terminated, and b) blocked
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@960 3ecf2c5c-341e-0410-92b4-d18e462d057c
if there was a 'hole' between threads of the same process. The
fix isn't the most elegant thing in the universe, but it's simple
and it'll do.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@957 3ecf2c5c-341e-0410-92b4-d18e462d057c
that uses a callback to run the simulation in continuous mode.
It isn't finished yet.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@948 3ecf2c5c-341e-0410-92b4-d18e462d057c
we need to move the "continous/non-continous" code snippet out of ConcreteSimulation
and into TextualSimulation/the GUI Simulation. In fact, ConcreteSimulation
is just a state machine that performs a single step and then puts itself
either in paused state (if the Simulation hasn't finished) or into stopped state
(if it finished)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@945 3ecf2c5c-341e-0410-92b4-d18e462d057c
It isn't elegant, but it's the best I can come up with in 10 minutes before
having dinner.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@944 3ecf2c5c-341e-0410-92b4-d18e462d057c
handling, hoping it's unnecessary. Code should be slightly more
maintainable now.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@943 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Value of dialog is now resetted, so they no more show up with the last data that was given
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@938 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Reverted the patch to ConcreteSimulation, I was trying to make it do what ought to be done in the frontend, and now the frontend does it
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@927 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Little patch to ConcreteHistory to make it remove emptied requests after a resource removal. I hope this will not break anything...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@926 3ecf2c5c-341e-0410-92b4-d18e462d057c
- now hinerith from SimulationObserver and HistoryObserver
- updated gui_builder and test-simulation_widget accordling
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@925 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Started work on the add-request-dialog derived widget, it`s not so difficult as I first thinked...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@909 3ecf2c5c-341e-0410-92b4-d18e462d057c
- CairoWidget doesn't extend more History Observer
- Modified scaling in CairoWidget
- NOTE: this is a partial update; total update will follow soon
- added File save/file open in GuiBuilder
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@903 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Actually there is some printing issue to fix, but
the logics works fine.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@902 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Laid out widget code for request adding. That`s not a trivial dialog like the previous...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@900 3ecf2c5c-341e-0410-92b4-d18e462d057c
revisions 846:897 into trunk, with approval and peer review of manager (Luca).
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@898 3ecf2c5c-341e-0410-92b4-d18e462d057c
with a *factor* of ~640x480. That means ~64*48*10^6*3 bytes = a ~1.1 Gb RAM pixmap.
The problem didn't show in versions of cairo >= 1.2 because it automagically
clips (yeah, cairo programmers *are* smart :-))
It is temporary fixed for the moment, will be made better asap.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@892 3ecf2c5c-341e-0410-92b4-d18e462d057c
to removing all of its resources and all of its processes, but
faster)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@887 3ecf2c5c-341e-0410-92b4-d18e462d057c
the user may now add plugin directories,
policy directories, and set the simulation
speed.
- Added some menu voice to the main window.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@872 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Now CPUPolicy has a callback method for scripting languages, but it is up to derived classes to take
mutexes and set the value when needed (maybe we can improve this?)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@862 3ecf2c5c-341e-0410-92b4-d18e462d057c