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 |