You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Further_Reading.md
+13-1Lines changed: 13 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ links and books are considered to be useful throughout your journey through this
32
32
book and after.
33
33
<br>
34
34
35
-
**Online and book resources in general : miscellaneous but very useful !**
35
+
**===== Online and book resources in general : miscellaneous but very useful ! =====**
36
36
37
37
-[The Linux kernel documentation](https://www.kernel.org/doc/html/latest/#the-linux-kernel-documentation)
38
38
- Very useful! [LWN (Linux weekly news) Kernel index](https://lwn.net/Kernel/Index/)
@@ -156,6 +156,7 @@ Code browsers
156
156
- Interesting: [Meet the contributor of the 1-millionth commit: Ricardo Neri, Swapnil Bharatiya, Sept 2020](https://www.linux.com/featured/meetthe-one-millionth-committer-to-linux-ricardo-neri/)
157
157
158
158
<br>
159
+
159
160
## Chapter 3, Building the Linux Kernel From Source - Further Reading
160
161
161
162
- Initramfs (initrd):
@@ -188,6 +189,7 @@ Code browsers
188
189
189
190
190
191
<br>
192
+
191
193
## Chapter 4, Writing your first Kernel Module-LKMs Part 1 - Further Reading
## Chapter 5, Writing your first Kernel Module-LKMs Part 2 - Further Reading
210
213
211
214
- Blog article: [WORKING ON THE CONSOLE WITH THE RASPBERRY PI, kaiwanTECH](https://kaiwantech.wordpress.com/2018/12/16/working-on-the-console-with-the-raspberry-pi/)
@@ -255,6 +258,7 @@ Code browsers
255
258
-[The Eudyptula Challenge](http://eudyptula-challenge.org/): "The Eudyptula Challenge was a series of programming exercises for the Linux kernel, that started from a very basic "Hello world" kernel module, moving on up in complexity to getting patches accepted into the main Linux kernel source tree." It's really cool but NOT active as of this writing though.
256
259
257
260
<br>
261
+
258
262
## Chapter 6, Kernel Internals Essentials - Processes and Threads - Further Reading
259
263
- Book: [Hands-On System Programming with Linux", Kaiwan N Billimoria, Packt](https://www.packtpub.com/networking-and-servers/hands-system-programming-linux). Prerequisites to this chapter (essential reading, really):
260
264
- Ch 1 : Linux System Architecture
@@ -283,6 +287,7 @@ Code browsers
283
287
284
288
285
289
<br>
290
+
286
291
## Chapter 7, Memory Management Internals Essentials - Further Reading
287
292
- Books on Linux kernel memory management internals:
288
293
- ['Professional Linux Kernel Architecture', Mauerer, Wrox Press](https://www.amazon.in/Professional-Linux-Kernel-Architecture-Programmer/dp/0470343435/ref=sr_1_1?ie=UTF8&qid=1547525512&sr=8-1&keywords=Professional%20Linux%20Kernel%20Architecture%27)
-['Virtual Memory and Linux', PDF, Matt Porter, Alan Ott](https://elinux.org/images/b/b0/Introduction_to_Memory_Management_in_Linux.pdf)
306
311
307
312
<br>
313
+
308
314
## Chapter 8, Kernel Memory Allocation for Module Authors, Part 1 - Further Reading
309
315
310
316
- Book: ['Hands-On System Programming with Linux', Kaiwan N Billimoria, Packt](https://www.packtpub.com/networking-and-servers/hands-system-programming-linux). Prerequisites to this chapter (essential reading, really):
-["GNUPLOT 4.2 - A Brief Manual and Tutorial", Duke University](https://people.duke.edu/~hpgavin/gnuplot.html)
326
332
-['Object-oriented design patterns in the kernel, part 1', Neil Brown, LWN, June 2011](https://lwn.net/Articles/444910/)
327
333
334
+
328
335
<br>
336
+
329
337
## Chapter 9, Kernel Memory Allocation for Module Authors, Part 2 - Further Reading
330
338
331
339
-[LWN kernel index on memory management](https://lwn.net/Kernel/Index/#Memory_management)
@@ -361,6 +369,7 @@ Articles/668126/)
361
369
362
370
363
371
<br>
372
+
364
373
## Chapter 10, The CPU Scheduler, Part 1 - Further Reading
365
374
366
375
- Detailed PDF: ['A complete guide to Linux process scheduling', Nikita Ishkov, Feb 2015](https://trepo.tuni.fi/bitstream/handle/10024/96864/GRADU-1428493916.pdf)
@@ -380,6 +389,7 @@ Articles/668126/)
380
389
381
390
382
391
<br>
392
+
383
393
## Chapter 11, The CPU Scheduler, Part 2 - Further Reading
384
394
385
395
@@ -424,6 +434,7 @@ The RTL Collaborative Project](https://wiki.linuxfoundation.org/realtime/rtl/sta
424
434
425
435
426
436
<br>
437
+
427
438
## Chapter 12, Kernel Synchronization, Part 1 - Further Reading
428
439
429
440
- An excellent read: ['What every systems programmer should know about concurrency', M Kline, May 2018](https://assets.bitbashing.io/papers/concurrency-primer.pdf)
@@ -450,6 +461,7 @@ The RTL Collaborative Project](https://wiki.linuxfoundation.org/realtime/rtl/sta
450
461
451
462
452
463
<br>
464
+
453
465
## Chapter 13, Kernel Synchronization, Part 2 - Further Reading
454
466
455
467
- Deeper details on the LKMM: [Explanation of the Linux-Kernel Memory Model](https://github.com/aparri/memory-model/ blob/master/Documentation/explanation. txt)
0 commit comments