Commit Graph

47 Commits

Author SHA1 Message Date
tchernobog b2b905427b - Minor change to use Iseq
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@873 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-15 18:29:06 +00:00
elvez 1be6a9ca58 - All policy-related errors should now be handled. I hope this is the last time I say this...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@850 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-13 14:20:04 +00:00
tchernobog 51fdeea4d1 - Prettify textual simulation output, simplyfing the code, too.
- Fix return code on exit


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@844 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-12 13:33:28 +00:00
matrevis 69c8341384 - Scheduler completed.
- 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
2006-08-11 23:01:25 +00:00
elvez 17ca8156d9 - Completed policy-related error handling code
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@839 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-10 22:59:00 +00:00
tchernobog d3c7b46853 - Give code a round of indentation. Thank astyle, not me.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@837 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 14:38:45 +00:00
elvez 0138387a7f - Added the LOAD command to TextSimulation, and the classic question made to user on replacing an unsaved simulation
- 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
2006-08-08 00:20:56 +00:00
elvez 96728edfce - Fixed compilation errors caused by latest changes to serialization code
- 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
2006-08-07 00:54:43 +00:00
matrevis efe7dedd61 - Request queues are now correctly managed by the ConcreteEnvironment
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
2006-08-05 17:09:45 +00:00
elvez 82289edc14 - Corrected a potentially disastrous automatic int->uint conversion in TextSimulation
- Make test-history run by commenting some "dangerous" lines
- Added a couple of comments to SchedulablesWidget::update() in the hope the may be useful to others in finding where the bug resides...

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@818 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-03 01:34:49 +00:00
elvez 10091d7a16 - Added ResourcePolicyManager
- Removed obsolete files

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@815 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 23:38:52 +00:00
matrevis 56a7ce1221 fixed a bug involving scheduler keeping a running thread in the ready queue
when that thread had just been given the cpu.
fixed a bug involving text-simulation displaying the wrong timestamp for
each snaphot. Now the first snapshot printed is correctly tagged "-1".

added (for the sake of lazyness) a method to readyqueue letting anyone
delete the first element on the queue. Not having this would imply
rebuilding the whole queue each time a thread was selected to run.

Small commits avoid complex mergings.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@814 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 23:12:32 +00:00
tchernobog 43b817aaed - Rename Policy to CPUPolicy where appropriate
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@811 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 21:57:36 +00:00
elvez b9cbbacd10 - Added ResourcePolicy class. I need to clear some doubts before writing the remaining part of resource policy management...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@808 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-01 22:57:40 +00:00
tchernobog c6ebe792e4 - Make Scheduler::step_forward return a bool representing if
the step went okay or otherwise if the simulation ended
- Fix simulation states in concrete_simulation.cc
- Manage end of input (now CTRL+D exits the program, and 
you can redirect a file in input knowing that at EOF
sgpemv2 will terminate)
- Fix a bug in Scheduler that didn't add the newly created
environment to History when the simulation ended, thus leading
both to a memory leak and an inconsistency in representing
the simulation


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@807 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-01 09:19:26 +00:00
matrevis 6f8625d308 Just printing resource name along with ID in subrequest (1 line commit!)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@806 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-31 23:35:27 +00:00
elvez 504311a390 - Made more clear and complete output from TextSimulation
- Added the "continuous" attribute for the SET and GET commands
- Now resource ids are checked for validity

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@805 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-31 23:18:51 +00:00
elvez 8b20c7d30a - Completed code for visualization of the simulation, there`s still the part for the visualization of the request queue commented
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@800 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-29 15:48:24 +00:00
elvez d64051279f - Fixed bug in copy construction of DynamicProcess
- Fixed bug in get_parameter<bool> in TextSimulation
- Written some new code for visualization of the simulation

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@799 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-29 00:24:48 +00:00
elvez 6a88e3d85e - Added NullPolicyException to scheduler
- Started code for printing the state of the scheduling
- Fixed a bug in the copy constructor of DynamicThread

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@794 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-23 22:27:33 +00:00
elvez 0dd711657f - Added the "set cpu-policy" command. It`s still not useful until we initialize the pyloader plugin...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@789 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-21 13:10:31 +00:00
tchernobog 14b5b66b3c - Implement a couple of helper methods into Dynamic(Sub)Request to
make life easier to Scheduler
- Go on implementing a bit more of Scheduler::step_forward()
- Remove "places" from SubRequest


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@778 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-18 15:52:55 +00:00
elvez f4b255d31c - Fixed linking problem with visibility enabled caused by TextSimulation accessing (stupidly) Dynamic* objects
- Removed a bunch of FIXME from text_simulation.cc, now TextSimulation fully cooperates with Environment and History

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@774 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-16 21:43:54 +00:00
elvez 4ab7123ced - Added ConcreteSimulation, but not coded it`s behaviour
- Made Simulation a singleton

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@771 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 17:35:24 +00:00
elvez 1506c46287 - Added the REMOVE command, it was almost completely a cut-and-paste work, so the code will need some refactoring to remove duplicated portions
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@770 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-15 15:46:13 +00:00
elvez d31c31d8a3 - Completed the ADD command, or better, what was implementable of the ADD commmand... Beware this is UNTESTED code!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@760 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-13 21:09:27 +00:00
elvez 751ecf6415 - Begin writing the ADD command. I`m assuming you all like what I`m doing...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@759 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-13 15:07:15 +00:00
elvez 456cef0fd3 - Added some more templates in preparation of the ADD wizards. This will minimize redundant code in the forthcoming methods
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@758 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-12 23:52:09 +00:00
elvez 4bece17f36 - Completed the SHOW command with the best I can do at the actual stage of development
- Layout of output is not tested so it will surely look odd the first time it is run...

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@757 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-12 22:46:55 +00:00
elvez 3612d20ae0 - Partially written the code for the SHOW command.
- Reorganized source to avoid duplicated code

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@753 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-11 22:50:41 +00:00
elvez d4beb67d0e - Added the GET and SET commands to TextSimulation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@752 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-11 15:46:46 +00:00
elvez 6150af3d30 - Fixed some bugs in command processing, added the configure-cpu-policy command
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@748 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-10 22:28:51 +00:00
elvez 2ede92d6d1 - Written some code for command processing. Still not tested it. Feedback is very much appreciated!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@746 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-09 16:27:16 +00:00
elvez 401c569a9f - Updated interface of pyloader to comply with the new plugin management system`s requirements
- Commented a lot of code to make it compile-able. But still it doesn`t link (at least for me...)

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@710 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 15:05:04 +00:00
tchernobog 759b90b017 - Substitute the old SchedulableQueue with the new ReadyQueue
- Add interfaces for Process and Thread into the "sgpem.i" SWIG
interface file, change DynamicSchedulable into Schedulable
- Add dynamic_cast for the return value of ReadyQueue::get_item_at()
into the pyloader "sgpem.i" SWIG interface, so that a Schedulable
can be either recognized as a Thread or a Process
- TODO: wrap STL exceptions in SWIG interface
- Please note that code won't compile until the new History and
Scheduler::step_forward() will be in place. This is a known issue.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@689 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 13:51:03 +00:00
tchernobog 6b27a8461b - Pretty-indenting code
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@674 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-29 08:44:30 +00:00
tchernobog 66d46db357 - Separate template definition from template declaration
- Explicitly instantiate Singleton templates to be exported from libbackend.so
- Install only header files that are backend interfaces to be exposed to the user
- Don't use full path for including templates in header files
- Instantiate a couple of smart_ptr templates to have their symbols exported outside the DSO. This happens in history.cc. FIXME: the interface for History will definitely need to be reworked, and the two smart_ptr explicit instantiations removed.
- Change SWIG exported interface to make use of Schedulable instead of (Dynamic|Static)Schedulable
- Fix provided policies to make use of the new interface
- TODO: limit the use of smart_ptrs.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@653 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-23 13:06:39 +00:00
elvez 30d070a420 - Added SETPOLICY and LISTPOLICIES commands to text-based interface
- Fixed a bug preventing registration of managers in PoliciesGatekeeper

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@634 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-15 20:07:03 +00:00
elvez a1662de194 - Added the Schedulable interface
- Renamed SchedulableStatus to DynamicSchedulable
- Implemented almost all methods of DynamicSchedulable

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@630 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 16:37:57 +00:00
elvez 4508ed017b -changing SchedulableList to SchedulableQueue: intermediate commit,
so SVN can let me use "mv"

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@602 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-03 14:40:19 +00:00
tchernobog ef733b37e8 - Update test-python_loader, do not link to libpyloader anymore
- TODO: sigsegv (due to an hidden vtable?)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@519 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-09 21:56:16 +00:00
tchernobog edd8cc3e95 - Print arrival time instead of priority for Schedulables
at this stage of development


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@432 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-24 09:53:23 +00:00
fpaparel 7110279f53 - The grafical interpreter now works
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@388 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-22 22:45:06 +00:00
tchernobog 2e1a699b65 - This is a save point (everything compiles again) ;-)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@369 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 11:30:19 +00:00
fpaparel 4482b98df7 - fixed a number of bugs
- added dummy_policy written in C++
- the interpreter is now finished (hopefully)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@366 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 11:09:55 +00:00
tchernobog 8c05219cec - Add newlines at the end of source files. I hope not having to do this
frequently! (it's a two-liner script, but nevertheless...)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@355 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-19 22:36:24 +00:00
fpaparel 759dfdad25 - added console interpreter
- added string_utils

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@342 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-17 22:19:25 +00:00