Subversion Repositories HelenOS-doc

Rev

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>