Rev 8 | Rev 52 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8 | Rev 9 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | <?xml version="1.0" encoding="UTF-8"?> |
1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" |
2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" |
3 | "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> |
3 | "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ |
- | 4 | <!ENTITY chintro SYSTEM "ch_intro.xml"> |
|
- | 5 | <!ENTITY charcho SYSTEM "ch_arch_overview.xml"> |
|
- | 6 | <!ENTITY chsched SYSTEM "ch_scheduling.xml"> |
|
- | 7 | <!ENTITY chsynch SYSTEM "ch_synchronization.xml"> |
|
- | 8 | <!ENTITY chmemmg SYSTEM "ch_memory_management.xml"> |
|
- | 9 | <!ENTITY chipcom SYSTEM "ch_ipc.xml"> |
|
- | 10 | <!ENTITY chhware SYSTEM "ch_hardware.xml"> |
|
- | 11 | <!ENTITY chuspac SYSTEM "ch_userspace.xml"> |
|
- | 12 | ]> |
|
- | 13 | ||
4 | <book> |
14 | <book> |
- | 15 | <bookinfo> |
|
5 | <title>HelenOS Design Documentation</title> |
16 | <title>HelenOS Design Documentation</title> |
- | 17 | </bookinfo> |
|
6 | 18 | ||
- | 19 | <!-- Infroduction --> |
|
7 | <chapter> |
20 | &chintro; |
- | 21 | ||
- | 22 | <!-- Arch overview --> |
|
- | 23 | &charcho; |
|
- | 24 | ||
- | 25 | <!-- Scheduling --> |
|
- | 26 | &chsched; |
|
- | 27 | ||
- | 28 | <!-- Synchronization --> |
|
- | 29 | &chsynch; |
|
- | 30 | ||
- | 31 | <!-- Memory management --> |
|
- | 32 | &chmemmg; |
|
- | 33 | ||
- | 34 | <!-- Hardware handling --> |
|
- | 35 | &chhware; |
|
- | 36 | ||
- | 37 | <!-- User space --> |
|
- | 38 | &chuspac; |
|
8 | 39 | ||
9 | <title>Introduction</title> |
- | |
10 | <graphic align="center" fileref="images/helenos.gif" /> |
- | |
11 | - | ||
12 | <para>The HelenOS project is an effort to develop an easily portable, |
- | |
13 | light but durable operating system. HelenOS supports SMP, multitasking |
- | |
14 | and multithreading on both 32-bit and 64-bit, little-endian and |
- | |
15 | big-endian, processor architectures, among wich are AMD64/EM64T |
- | |
16 | (x86-64), IA-32, IA-64 (Itanium), 32-bit MIPS, 32-bit PowerPC and SPARC |
- | |
17 | V9.</para> |
- | |
18 | - | ||
19 | <para>This manual should help you understanding design concepts of |
- | |
20 | different part of the operating system.</para> |
- | |
21 | - | ||
22 | <para>In case you are interested in our project or have any questions |
- | |
23 | about it, feel free to subscribe to our <ulink |
- | |
24 | url="http://www.helenos.eu/?reason=list">mailing list</ulink>. We are |
- | |
25 | looking for people to join our team or to merely try out our system and |
- | |
26 | become our beta testers.</para> |
- | |
27 | </chapter> |
- | |
28 | - | ||
29 | <chapter> |
- | |
30 | <title>Architecture overview</title> |
- | |
31 | <para>Couple of words about microkernel concept etc </para> |
- | |
32 | </chapter> |
- | |
33 | - | ||
34 | <chapter> |
- | |
35 | <title>Scheduling</title> |
- | |
36 | <section> |
- | |
37 | <title>Basic terms</title> |
- | |
38 | <para>Explain Task, Thread etc</para> |
- | |
39 | </section> |
- | |
40 | - | ||
41 | <section> |
- | |
42 | <title>Context switching</title> |
- | |
43 | - | ||
44 | <para>Something about context. Probably arch specific context notes.</para> |
- | |
45 | </section> |
- | |
46 | - | ||
47 | <section> |
- | |
48 | <title>Kernel clock</title> |
- | |
49 | <para>timer interrupt handling, slices, timeouts, delays</para> |
- | |
50 | </section> |
- | |
51 | - | ||
52 | <section> |
- | |
53 | <title>Scheduler</title> |
- | |
54 | <para>How scheduler designed and how it works.</para> |
- | |
55 | </section> |
- | |
56 | - | ||
57 | - | ||
58 | </chapter> |
- | |
59 | - | ||
60 | <chapter> |
- | |
61 | <title>Synchronization</title> |
- | |
62 | - | ||
63 | <section> |
- | |
64 | <title>Introduction. Concept.</title> |
- | |
65 | - | ||
66 | <para>Couple of words about global conception of sychronization</para> |
- | |
67 | </section> |
- | |
68 | - | ||
69 | - | ||
70 | <section> |
- | |
71 | <title>Active kernel synchronization. Spinlock.</title> |
- | |
72 | <para>Spinlocks explanation. Arch specific notes.</para> |
- | |
73 | </section> |
- | |
74 | - | ||
75 | - | ||
76 | - | ||
77 | <section> |
- | |
78 | <title>Passive kernel synchronization</title> |
- | |
79 | - | ||
80 | <section> |
- | |
81 | <title>Mutex</title> |
- | |
82 | - | ||
83 | <para>Mutex explanations</para> |
- | |
84 | </section> |
- | |
85 | - | ||
86 | <section> |
- | |
87 | <title>Semaphore</title> |
- | |
88 | - | ||
89 | <para>Semaphore explanations</para> |
- | |
90 | </section> |
- | |
91 | - | ||
92 | <section> |
- | |
93 | <title>Read/Write Locks</title> |
- | |
94 | - | ||
95 | <para>RWLocks explanation</para> |
- | |
96 | </section> |
- | |
97 | - | ||
98 | <section> |
- | |
99 | <title>Wait queues</title> |
- | |
100 | - | ||
101 | <para>Wait queue explanation</para> |
- | |
102 | </section> |
- | |
103 | - | ||
104 | - | ||
105 | <section> |
- | |
106 | <title>Conditional variables</title> |
- | |
107 | - | ||
108 | <para>Condvars explanation</para> |
- | |
109 | </section> |
- | |
110 | - | ||
111 | </section> |
- | |
112 | - | ||
113 | - | ||
114 | <section> |
- | |
115 | <title>Userspace synchronization. Futex.</title> |
- | |
116 | - | ||
117 | <para>Idea. Futex explanation.</para> |
- | |
118 | </section> |
- | |
119 | - | ||
120 | </chapter> |
- | |
121 | - | ||
122 | <chapter> |
- | |
123 | <title>Memory management</title> |
- | |
124 | - | ||
125 | <section> |
- | |
126 | <title>Virtual memory management</title> |
- | |
127 | - | ||
128 | <para></para> |
- | |
129 | </section> |
- | |
130 | - | ||
131 | <section> |
- | |
132 | <title>Physical memory management</title> |
- | |
133 | - | ||
134 | <para></para> |
- | |
135 | </section> |
- | |
136 | - | ||
137 | <section> |
- | |
138 | <title>Kernel allocators</title> |
- | |
139 | - | ||
140 | <section> |
- | |
141 | <title>Buddy allocator</title> |
- | |
142 | - | ||
143 | <para>Physical memory allocation is handled by buddy allocator.</para> |
- | |
144 | </section> |
- | |
145 | - | ||
146 | <section> |
- | |
147 | <title>Slab allocator</title> |
- | |
148 | - | ||
149 | <para></para> |
- | |
150 | </section> |
- | |
151 | </section> |
- | |
152 | - | ||
153 | <section> |
- | |
154 | <title>Memory sharing</title> |
- | |
155 | - | ||
156 | <para></para> |
- | |
157 | </section> |
- | |
158 | </chapter> |
- | |
159 | - | ||
160 | <chapter> |
- | |
161 | <title>Hardware handling. Device drivers.</title> |
- | |
162 | - | ||
163 | <para></para> |
- | |
164 | </chapter> |
- | |
165 | - | ||
166 | <chapter> |
- | |
167 | <title>IPC</title> |
- | |
168 | - | ||
169 | <para></para> |
- | |
170 | </chapter> |
- | |
171 | - | ||
172 | <chapter> |
- | |
173 | <title>User-space</title> |
- | |
174 | - | ||
175 | <para></para> |
- | |
176 | </chapter> |
- | |
177 | </book> |
40 | </book> |
178 | 41 |