Rev 7 | Rev 9 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3 | bondari | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" |
||
3 | "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> |
||
4 | <book> |
||
5 | bondari | 5 | <title>HelenOS Design Documentation</title> |
3 | bondari | 6 | |
7 | <chapter> |
||
8 | bondari | 8 | |
6 | bondari | 9 | <title>Introduction</title> |
10 | <graphic align="center" fileref="images/helenos.gif" /> |
||
3 | bondari | 11 | |
6 | bondari | 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> |
||
3 | bondari | 18 | |
6 | bondari | 19 | <para>This manual should help you understanding design concepts of |
20 | different part of the operating system.</para> |
||
5 | bondari | 21 | |
6 | bondari | 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> |
||
3 | bondari | 27 | </chapter> |
5 | bondari | 28 | |
29 | <chapter> |
||
7 | jermar | 30 | <title>Architecture overview</title> |
8 | bondari | 31 | <para>Couple of words about microkernel concept etc </para> |
5 | bondari | 32 | </chapter> |
33 | |||
34 | <chapter> |
||
35 | <title>Scheduling</title> |
||
8 | bondari | 36 | <section> |
37 | <title>Basic terms</title> |
||
38 | <para>Explain Task, Thread etc</para> |
||
39 | </section> |
||
5 | bondari | 40 | |
8 | bondari | 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 | |||
5 | bondari | 58 | </chapter> |
59 | |||
60 | <chapter> |
||
61 | <title>Synchronization</title> |
||
62 | |||
63 | <section> |
||
8 | bondari | 64 | <title>Introduction. Concept.</title> |
5 | bondari | 65 | |
8 | bondari | 66 | <para>Couple of words about global conception of sychronization</para> |
5 | bondari | 67 | </section> |
8 | bondari | 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 | |||
5 | bondari | 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 | |||
6 | bondari | 143 | <para>Physical memory allocation is handled by buddy allocator.</para> |
5 | bondari | 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> |