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
- Drop the old SchedulablesWidget in favor of a simple Gtk::TreeView
- Update the GuiBuilder consequentially
- FIXME: in cairo_widget.cc : have we to scale the context before or after
drawing on it?
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@845 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Added a wizard just for show, but there is no
interesting cpu-scheduling policy to test it with
- Better textual output.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@842 3ecf2c5c-341e-0410-92b4-d18e462d057c
NOTE: to use it _SG_SCHEDULABLES_TREE_WIDGET must be defined, which is obvioulsy not, by default
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@841 3ecf2c5c-341e-0410-92b4-d18e462d057c
imlpementation, so this version should not be considered definitive.
please give me an other day to check it.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@840 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Added a base class for cpu policy exceptions to make simpler their catching
- Implemented all numeric fields in dialogs with spinboxes, with bounds checking
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@838 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Changed the way syntactically incorrect python policies are handled, we no more exit abruptly
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@829 3ecf2c5c-341e-0410-92b4-d18e462d057c
that the size of the history was the coordinate of the instant
to add.
- Corrected a bug in step forward, which was incorrectly assuming
that all processes started at instant 0.
- Added a wizard to show a bug in step forward, which thinks that
the simulation is terminated while it isn't since some processes
are still future.
- Commented some unused code in step forward (extendThread()).
- Still to extract methods from Extender and provide them to
step forward in a more suitable (static) way.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@828 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Fix throwing of exceptions from sgpem::Module
- **THOU SHALL ALWAYS UPDATE THY MAKEFILES, OR THE WRATH OF GOD
WILL DESCEND UPON THEE**
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@827 3ecf2c5c-341e-0410-92b4-d18e462d057c
- Setup makefile for xmlsave plugin. It still can`t be activated. why?
- Added a temporary command SAVE to commandline interface to try serialization
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@826 3ecf2c5c-341e-0410-92b4-d18e462d057c
at all. Compiles and runs, but the output is not
correct. Anyway, now it is just a matter of logics :P
- Corrected some minor bugs in step forward.
- Step forward is now rather messy, but still better than
four hours ago.. altough this can be hard to believe.
- Added some wizards that help finding bugs.
- Rewritten dyn process get_state as it was guilty of
premature optimization :)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@825 3ecf2c5c-341e-0410-92b4-d18e462d057c
copy constructor and by the add_resource and remove_resource methods
found in ConcreteHistory.
- Scheduler now adds the requests in the queue when appropriate, and
removes them when exhausted.
- Still to implement the management of the state of requests depending
on their position in the queue
- Still to implement the way threads block depending on the state of
their requests
- step_forward now reuses some bunch of code taken from the prototype
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@824 3ecf2c5c-341e-0410-92b4-d18e462d057c
derived widget
- Add History::set_notify_enabled() for usage by the frontend
(for example, when loading from file, you'll want to call
set_notify_enabled(false) before starting)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@823 3ecf2c5c-341e-0410-92b4-d18e462d057c
an abstract base class, and I'll start working out the
adjustement / resizing problems (they're not easy to work out
correctly).
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@822 3ecf2c5c-341e-0410-92b4-d18e462d057c