Skip to content

Commit a1cef0f

Browse files
committed
documentation: so2: update intro first lecture
Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
1 parent ea3f8bb commit a1cef0f

File tree

1 file changed

+200
-129
lines changed

1 file changed

+200
-129
lines changed
Lines changed: 200 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -1,189 +1,260 @@
1-
====================
2-
Sisteme de operare 2
3-
====================
1+
==============================================================
2+
SO2 Lecture 01 - Course overview and Linux kernel introduction
3+
==============================================================
44

5-
`View slides <so2.cs.pub.ro-slides.html>`_
5+
`View slides <lec1-intro-slides.html>`_
66

77
.. slideconf::
8-
:autoslides: True
8+
:autoslides: False
99
:theme: single-level
1010

11+
.. slide:: SO2 Lecture 01 - Course overview and Linux kernel introduction
12+
:inline-contents: False
13+
:level: 1
14+
15+
16+
Echipa
17+
======
18+
19+
.. slide:: Echipa
20+
:inline-contents: True
21+
:level: 2
22+
23+
* Daniel Băluță (Daniel), Răzvan Deaconescu (Răzvan, RD), Claudiu
24+
Ghioc (Claudiu), Valentin Ghiță (Vali), Sergiu Weisz (Sergiu),
25+
Octavian Purdilă (Tavi)
26+
27+
* Alexandru Militaru (Alex), Teodora Șerbănescu (Teo), Ștefan
28+
Teodorescu (Ștefan, Fane), Mihai Popescu (Mihai, Mișu),
29+
Constantin Răducanu, Daniel Dinca, Laurențiu Ștefan
1130

12-
The team
13-
========
31+
* Mult succes în noul semestru!
1432

15-
* Daniel Băluță (Daniel), Răzvan Deaconescu (Răzvan, RD), Claudiu
16-
Ghioc (Claudiu), Valentin Ghiță (Vali), Sergiu Weisz (Sergiu),
17-
Octavian Purdilă (Tavi)
18-
* Iulian Mateșică (Iulian), Alexandra Militaru (Alex), Teodora
19-
Șerbănescu (Teo), Ștefan Teodorescu (Ștefan, Fane), Mihai Popescu
20-
(Mihai, Mișu)
21-
* Mult succes în noul semestru!
33+
Poziționare curs
34+
================
2235

23-
Where do we stand?
24-
==================
36+
.. slide:: Poziționare curs
37+
:inline-contents: True
38+
:level: 2
2539

26-
.. ditaa::
40+
.. ditaa::
2741

28-
+---------------------------------------------------------+
29-
| application programming (EGC, SPG, PP, SPRC, IOC, etc.) |
30-
+---------------------------------------------------------+
42+
+---------------------------------------------------------+
43+
| application programming (EGC, SPG, PP, SPRC, IOC, etc.) |
44+
+---------------------------------------------------------+
3145

3246
+----------------------------------+
3347
| system programming (PC, SO, CPL) |
3448
+----------------------------------+
3549
user space
36-
----------------------------------------------------------=-
50+
----------------------------------------------------------=-
3751
kernel space
3852
+--------------------------+
3953
| kernel programming (SO2) |
4054
+--------------------------+
4155

42-
----------------------------------------------------------=-
56+
----------------------------------------------------------=-
4357

4458
+----------------------------------+
4559
| hardware (PM, CN1, CN2, PL ) |
4660
+----------------------------------+
4761

48-
Resources
49-
=========
50-
51-
* wiki: http://ocw.cs.pub.ro/courses/so2
52-
* NeedToKnow: http://ocw.cs.pub.ro/courses/so2/need-to-know
53-
* Linux Kernel Labs: https://linux-kernel-labs.github.io/
54-
* mailing list: so2@cursuri.cs.pub.ro
55-
* Facebook
56-
* vmchecker
57-
* catalog Google, calendar Google
58-
* LXR
59-
* cs.curs.pub.ro - rol de portal
60-
* karma awards
61-
62-
Community
63-
=========
64-
65-
* contribuții via https://github.com/linux-kernel-labs/linux (PR sau
66-
issues)
67-
* corecții, ajustări, precizări, informații utile
68-
* listă de discuții
69-
* răspundeți la întrebările colegilor voștri
70-
* propuneți subiecte de discuție care au legătură cu disciplina
71-
* Facebook
72-
* sugestii, propuneri, feedback
73-
* Primiți puncte de karma
74-
75-
Grading
62+
Resurse
63+
=======
64+
65+
.. slide:: Resurse
66+
:inline-contents: True
67+
:level: 2
68+
69+
* Linux Kernel Labs: https://linux-kernel-labs.github.io/
70+
* mailing list: so2@cursuri.cs.pub.ro
71+
* Facebook
72+
* vmchecker
73+
* catalog Google, calendar Google
74+
* LXR: https://elixir.bootlin.com/linux/v5.10.14/source
75+
* cs.curs.pub.ro - rol de portal
76+
* karma awards
77+
78+
Comunitate
79+
==========
80+
81+
.. slide:: Comunitate
82+
:inline-contents: True
83+
:level: 2
84+
85+
* tutorial contribuții: https://linux-kernel-labs.github.io/refs/heads/master/info/contributing.html
86+
* corecții, ajustări, precizări, informații utile
87+
* listă de discuții
88+
* răspundeți la întrebările colegilor voștri
89+
* propuneți subiecte de discuție care au legătură cu disciplina
90+
* Facebook
91+
* sugestii, propuneri, feedback
92+
* Primiți puncte de karma
93+
94+
Notare
7695
=======
7796

78-
* 2 puncte activitate la laborator
79-
* 3 puncte „examen”, notare pe parcurs
80-
* 10 puncte teme de casă
81-
* Punctajul > 5 puncte e corelat direct proportional cu nota de la examen (la fel ca la SO)
82-
* Tema 0 - 0,5 puncte
83-
* Temele 1, 2, 3 - câte 1,5 puncte fiecare
84-
* Activități “extra”
85-
* Ixia challenge - 2 puncte
86-
* Kernel (filesystem) hackaton - 2 puncte
87-
* SO2 transport protocol - 1 punct
88-
* Condiţii de promovare: nota finală 4.5, nota minimă examen 3
97+
.. slide:: Notare
98+
:inline-contents: True
99+
:level: 2
100+
101+
* 2 puncte activitate la laborator
102+
* 3 puncte „examen”, notare pe parcurs
103+
* 5 puncte teme de casă
104+
* Activități "extra"
105+
* Punctajul din teme de casă + activitați extra ce depăsește 5
106+
puncte e corelat direct proportional cu nota de la examen
107+
* Tema 0 - 0,5 puncte
108+
* Temele 1, 2, 3 - câte 1,5 puncte fiecare
109+
* Condiţii de promovare: nota finală 4.5, nota minimă examen 3
89110

90111
Obiectivele cursului
91112
====================
92113

93-
* Prezentarea structurii interne a unui sistem de operare
94-
* Target: sisteme de operare de uz general
95-
* Structura și componentele unui kernel monolitic
96-
* Procese, FS, Networking
97-
* Memory management
98-
* Exemplificare pe Linux
114+
.. slide:: Obiectivele cursului
115+
:inline-contents: True
116+
:level: 2
117+
118+
* Prezentarea structurii interne a unui sistem de operare
119+
* Target: sisteme de operare de uz general
120+
* Structura și componentele unui kernel monolitic
121+
* Procese, FS, Networking
122+
* Memory management
123+
* Exemplificare pe Linux
124+
125+
Obiectivele laboratorului si a temelor
126+
======================================
127+
128+
.. slide:: Obiectivele laboratorului si a temelor
129+
:inline-contents: True
130+
:level: 2
99131

100-
Obiectivele laboratorului/temelor
101-
=================================
102-
* Însușirea cunoștințelor necesare implementării de device drivere
103-
* Înțelegerea în profunzime a cunoștințelor prin rezolvarea de exerciții
132+
* Însușirea cunoștințelor necesare implementării de device drivere
133+
134+
* Înțelegerea în profunzime a cunoștințelor prin rezolvarea de
135+
exerciții
104136

105137
Cursuri necesare
106138
================
107139

108-
* Programare: C
109-
* SD: tabele de dispersie, arbori echilibrați
110-
* IOCLA: lucrul cu registre și instrucțiuni de bază (adunări, comparaţii, salturi)
111-
* CN: TLB/CAM, memorie, procesor, I/O
112-
* PC, RL: ethernet, IP, sockeți
113-
* SO: procese, fișiere, thread-uri, memorie virtuală
140+
.. slide:: Cursuri necesare
141+
:inline-contents: True
142+
:level: 2
143+
144+
* Programare: C
145+
* SD: tabele de dispersie, arbori echilibrați
146+
* IOCLA: lucrul cu registre și instrucțiuni de bază (adunări, comparaţii, salturi)
147+
* CN: TLB/CAM, memorie, procesor, I/O
148+
* PC, RL: ethernet, IP, sockeți
149+
* SO: procese, fișiere, thread-uri, memorie virtuală
114150

115151
Despre curs
116152
===========
117153

118-
* 12 cursuri
119-
* interactiv
120-
* participaţi la discuţii
121-
* întrebaţi atunci când nu aţi înţeles
122-
* destul de “dens”, se recomandă călduros parcurgerea suportului bibliografic înainte şi după curs
123-
* 1h:30 prezentare + 30min test si discutii pe marginea testului
124-
125-
Despre curs (2)
126-
===============
127-
128-
.. hlist::
129-
:columns: 2
130-
131-
* Introducere
132-
* Procese
133-
* Scheduling
134-
* Apeluri de sistem
135-
* Traps
136-
* Spaţiul de adresă
137-
* Memorie virtuală
138-
* Memorie fizică
139-
* Kernel debugging
140-
* Block I/O
141-
* Sisteme de fişiere
142-
* SMP
143-
* Networking
144-
* Virtualizare
154+
.. slide:: Despre curs
155+
:inline-contents: True
156+
:level: 2
157+
158+
* 12 cursuri
159+
* interactiv
160+
* participaţi la discuţii
161+
* întrebaţi atunci când nu aţi înţeles
162+
* destul de “dens”, se recomandă călduros parcurgerea suportului bibliografic înainte şi după curs
163+
* 1h:20 prezentare + 20min teste si discutii pe marginea testului
164+
165+
Lista cursuri
166+
=============
167+
168+
.. slide:: Lista cursuri
169+
:inline-contents: True
170+
:level: 2
171+
172+
.. hlist::
173+
:columns: 2
174+
175+
* Introducere
176+
* Apeluri de sistem
177+
* Procese
178+
* Întreruperi
179+
* Sincronizare
180+
* Adresarea memoriei
181+
* Gestiunea memoriei
182+
* Gestiunea fișierelor
183+
* Kernel debugging
184+
* Gestiunea rețelei
185+
* Virtualizare
186+
* Kernel profiling
145187

146188

147189
Despre laborator
148190
================
149191

150-
* Kernel Modules and Device Drivers
151-
* 15 min prezentare / 80 de minute lucru
152-
* se punctează activitatea
153-
* learn by doing
192+
.. slide:: Despre laborator
193+
:inline-contents: True
194+
:level: 2
195+
196+
* Kernel Modules and Device Drivers
197+
* 15 min prezentare / 80 de minute lucru
198+
* se punctează activitatea
199+
* learn by doing
154200

155201
Despre teme
156202
===========
157203

158-
* Tema 0
159-
* Kprobe based tracer
160-
* Driver pentru portul serial
161-
* Software RAID
162-
* Teme “extra”
163-
* Filesystem driver - hackaton
164-
* E100 driver - Ixia challenge
165-
* Network transport protocol
204+
.. slide:: Despre teme
205+
:inline-contents: True
206+
:level: 2
207+
208+
* necesare: aprofundare API (laborator) și concepte (curs)
209+
* teste publice
210+
* suport de testare (vmchecker)
211+
* relativ puţin cod de scris dar relativ dificile
212+
* dificultatea constă în acomodarea cu noul mediu
166213

214+
Lista teme
215+
==========
167216

168-
Despre teme (2)
169-
===============
217+
.. slide:: Lista teme
218+
:inline-contents: True
219+
:level: 2
220+
221+
* Tema 0 - Kernel API
222+
* Kprobe based tracer
223+
* Driver pentru portul serial
224+
* Software RAID
225+
* SO2 Transport Protocol
170226

171-
* necesare: aprofundare API (laborator) și concepte (curs)
172-
* teste publice
173-
* suport de testare (vmchecker)
174-
* relativ puţin cod de scris dar relativ dificile
175-
* dificultatea constă în acomodarea cu noul mediu
176227

177228
Bibliografie curs
178229
=================
179230

180-
* Linux Kernel Development, 3rd edition, Robert Love, Addison Wesley, 2010
181-
* Understanding the Linux Kernel, 3rd edition, Daniel P. Bovet & Marco Cesati, O'Reilly 2005
182-
* Linux Networking Architecture, Klaus Wehrle, Frank Pahlke, Hartmut Ritter, Daniel Muller, Marc Bechler, Prentice Hall 2004
183-
* Understanding Linux Network Internals, Christian Benvenuti, O'Reilly 2005
231+
.. slide:: Bibliografie curs
232+
:inline-contents: True
233+
:level: 2
234+
235+
* Linux Kernel Development, 3rd edition, Robert Love, Addison
236+
Wesley, 2010
237+
238+
* Understanding the Linux Kernel, 3rd edition, Daniel P. Bovet &
239+
Marco Cesati, O'Reilly 2005
240+
241+
* Linux Networking Architecture, Klaus Wehrle, Frank Pahlke,
242+
Hartmut Ritter, Daniel Muller, Marc Bechler, Prentice Hall 2004
243+
244+
* Understanding Linux Network Internals, Christian Benvenuti, O'Reilly 2005
184245

185246
Bibliografie laborator
186247
======================
187248

188-
* Linux Device Drivers, 3nd edition, Alessandro Rubini & Jonathan Corbet, O'Reilly 2006
189-
* Linux Kernel in a Nutshell, Greg Kroah-Hartman, O'Reilly 2005
249+
.. slide:: Bibliografie laborator
250+
:inline-contents: True
251+
:level: 2
252+
253+
* Linux Device Drivers, 3nd edition, Alessandro Rubini & Jonathan
254+
Corbet, O'Reilly 2006
255+
256+
* Linux Kernel in a Nutshell, Greg Kroah-Hartman, O'Reilly 2005
257+
258+
259+
.. include:: ../lectures/intro.rst
260+
:start-line: 6

0 commit comments

Comments
 (0)