Changes between Version 2 and Version 3 of InternalTricks


Ignore:
Timestamp:
Jun 30, 2006, 10:12:06 PM (18 years ago)
Author:
soujak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InternalTricks

    v2 v3  
    3636|                          Semaphore Tree structure                            |
    3737 ------------------------------------------------------------------------------
    38                 ______
    39                |      |
    40                | HEAD |
    41                |______|
    42                .'   '.
    43            __.'       '.__
    44           |__|         |__|
    45         __.''.__         '.__
    46        |__|  |__|         |__|
     38                                   ______
     39                                  |      |
     40                                  | HEAD |
     41                                  |______|
     42                                  .'   '.
     43                              __.'       '.__
     44                             |__|         |__|
     45                           __.''.__         '.__
     46                          |__|  |__|         |__|
    4747
    48       |          |     |      |
    49        `--------'       `----'
    50           AST          Free List
     48                         |          |     |      |
     49                          `--------'       `----'
     50                             AST          Free List
    5151
    52   Further details can be found directly in source code :)
     52          Further details can be found directly in source code :)
    5353}}}
    5454
     
    6363preemption trigger use. Moreover we had to guarantee the
    6464accuracy of length of time-quantum assigned to scheduled
    65 processes. The answer to both issues is a time-credit system.
     65processes. The answer to both issues is a '''time-credit
     66system.'''
    6667[[BR]]
    6768Time credits, as you can easily see, solves the problem about
     
    8283time and memory usage. They do not deserve a deep explanation
    8384but they must be mentioned:
    84  * '''Direct passup''': external exception-handlers (loaded by
     85 * __Direct passup__: external exception-handlers (loaded by
    8586   internal ones) returns the control directly to the process
    8687   which raised the exception.
    87  * '''Iterative `TERMTHREAD`''': process termination means
     88 * __Iterative `TERMTHREAD`__: process termination means
    8889   termination of its progeny. Instead of a recursive call, we
    8990   preferred to first breadth-visit the whole sub-tree and then
    90    kill generation after generation.... muahuahuahuah!
    91    <pedice>Search for the mortuary among the code.</pedice>
    92  * '''Exception handler functions''': An unexpected benefit of
     91   kill generation after generation.... muahuahuah!
     92   ,,Search for the `mortuary` among the code.
     93 * __Exception handler functions__: An unexpected benefit of
    9394   modularization avoided exceptions raising after errors or
    9495   abnormal situations. We opted for a direct function-call
    9596   strategy, which clearly minimizes the over-head caused by
    9697   these recursion, reducing the number of context switches.
    97  * '''Idle''': thumbs twiddling it is implemented without waste
     98 * __Idle__: thumbs twiddling it is implemented without waste
    9899   a whole process control block. A dummy-loop function is more
    99100   than enough, so we automagically set the interval timer up in