"Lighting Bolt" - an open source scheduler for a STR9 is about to be released

Hello all,

I have been working on this personal project for quite some time now. "Lighting Bolt", an open source STR9 preemptive scheduler, will be released within two weeks. A separate announcement shall be made as to the exact release date along with a link to the "SourceForge" page dedicated to the project.

"Lighting Bolt" is based on my previous endeavour for the C167 controller (available at sourceforge.net/.../) but I feel that it is a much better, mature computer program. I have tried very hard to deliver a piece of quality software.
The following modifications have taken place to produce "Lighting Bolt":

* A very fast context switch, measured in [microseconds] at 48[MHz], compared to the 100[milliseconds] average of EOS at 40[MHz].
* A rewritten synchronization module. Semaphores are now truly task-safe and contain the correct logic. A new synchronization primitive (event) introduced.
All synchronization elements are linked statically, and there is no need to allocate/release them, or for this matter neither any other system resource, like timers. User does not need direct access to basic system data types to use the kernel. This enhances robustness.
* The system's priority queue has been completely rewritten. It is now logarithmically correct.
* The program has been generally retrofitted to run efficiently on an ARM core.
* Strict screening by PC-lint.
* Open source installer (NSIS) used to create a self extractor for the delivery of the source code.
* Documentation.

Parents
  • I don't have the time to really review your EOS source at the moment, but a quick overview indicated a few [meaningless] comments:

    1) I like your use of 'WAR STORY' comments within the source. I'll have to consider this type of source documentation within my Rules for Code Monkeys book.

    The 'WAR STORY' has merit with regards to development notes and best methods tried and why they were implemented/avoided/discarded. This information is generally lost, or simply doesn't have a home. By including this information locally (source-level) any future code-monkey might heed the warning and not rework it thinking they're going down an uncharted [superior] path--which may have been charted and discarded.

    I've just used my 'notes:' section to make general 'war story' type comments: but without too much detail.

    2) Never ever use the TAB character. Use space fill. In the 'olden days' the TAB was thought to reduce the size of source code so that you didn't use up the valuable disk space: you only had 360k/720k/1.2M floppies (or less)... or a 10M hard-drive if you had a cool system.

    Now that we have Gigs to burn, I don't think that saving the 3 'extra' spaces for space (ASCII 0x20) fill is going to chew up your storage space.

    3) Thanks for sharing your code. Not many people have shared their IP on this forum... well, source code from 'competent' people.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

Reply
  • I don't have the time to really review your EOS source at the moment, but a quick overview indicated a few [meaningless] comments:

    1) I like your use of 'WAR STORY' comments within the source. I'll have to consider this type of source documentation within my Rules for Code Monkeys book.

    The 'WAR STORY' has merit with regards to development notes and best methods tried and why they were implemented/avoided/discarded. This information is generally lost, or simply doesn't have a home. By including this information locally (source-level) any future code-monkey might heed the warning and not rework it thinking they're going down an uncharted [superior] path--which may have been charted and discarded.

    I've just used my 'notes:' section to make general 'war story' type comments: but without too much detail.

    2) Never ever use the TAB character. Use space fill. In the 'olden days' the TAB was thought to reduce the size of source code so that you didn't use up the valuable disk space: you only had 360k/720k/1.2M floppies (or less)... or a 10M hard-drive if you had a cool system.

    Now that we have Gigs to burn, I don't think that saving the 3 'extra' spaces for space (ASCII 0x20) fill is going to chew up your storage space.

    3) Thanks for sharing your code. Not many people have shared their IP on this forum... well, source code from 'competent' people.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

Children
More questions in this forum