Subversion Repositories HelenOS-doc

Rev

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