Rev 52 | Rev 62 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 52 | Rev 58 | ||
|---|---|---|---|
| Line 49... | Line 49... | ||
| 49 | relation between kernel and userspace threads is 1:1:n, meaning that there |
49 | relation between kernel and userspace threads is 1:1:n, meaning that there |
| 50 | can be several pseudo threads running within one userspace thread that |
50 | can be several pseudo threads running within one userspace thread that |
| 51 | maps to one kernel thread. Threads are grouped into tasks by functionality |
51 | maps to one kernel thread. Threads are grouped into tasks by functionality |
| 52 | they provide (i.e. several threads implement functionality of one task). |
52 | they provide (i.e. several threads implement functionality of one task). |
| 53 | Tasks serve as containers of threads, they provide linkage to address |
53 | Tasks serve as containers of threads, they provide linkage to address |
| 54 | space and are communication endpoints for IPC.</para> |
54 | space and are communication endpoints for IPC. Finally, tasks can be |
| - | 55 | holders of capabilities that entitle them to do certain sensitive |
|
| - | 56 | operations (e.g access raw hardware and physical memory).</para> |
|
| 55 | 57 | ||
| 56 | <para>The scheduler deploys several run queues on each processor. A thread |
58 | <para>The scheduler deploys several run queues on each processor. A thread |
| 57 | ready for execution is put into one of the run queues, depending on its |
59 | ready for execution is put into one of the run queues, depending on its |
| 58 | priority and its current processor, from where it is eventually picked up |
60 | priority and its current processor, from where it is eventually picked up |
| 59 | by the scheduler. Special purpose kernel threads strive to keep processors |
61 | by the scheduler. Special purpose kernel threads strive to keep processors |
| Line 107... | Line 109... | ||
| 107 | connection leads from one of the source task's phones to the destination |
109 | connection leads from one of the source task's phones to the destination |
| 108 | task's answerbox. The phones are used as handles for making calls to other |
110 | task's answerbox. The phones are used as handles for making calls to other |
| 109 | tasks. Calls can be synchronous or asynchronous and can be forwarded from |
111 | tasks. Calls can be synchronous or asynchronous and can be forwarded from |
| 110 | one task to another.</para> |
112 | one task to another.</para> |
| 111 | </section> |
113 | </section> |
| 112 | - | ||
| 113 | - | ||
| 114 | </chapter> |
114 | </chapter> |
| 115 | 115 | ||