# 山不在高 有仙則名
Author: WhoAmI
email: kccddb@gmail.com
Date: 20231026
Copyright: CC BY-NC-SA

0. The Design of the UNIX Operating System, Maurice J. Bach
1. Linux Kernel Development (3rd Edition)
Jul 2, 2010
by Robert Love
2. Linux Device Drivers, 3rd Edition
http://lwn.net/Kernel/LDD3/。
3. Essential Linux Device Drivers, by Sreekrishnan Venkateswaran
4. [Linux kernel module programming, by Dr. Derek Molloy](http://derekmolloy.ie/)
5. Professional Linux® Kernel Architecture, by Wolfgang Mauerer
6.[The Linux Kernel Module Programming Guide](http://www.tldp.org/LDP/lkmpg/2.6/html/), by Peter Jay Salzman, Michael Burian and Ori Pomerantz
7. [Unreliable Guide To Locking, by Rusty Russell](https://www.kernel.org/doc/html/v4.13/kernel-hacking/locking.html)
8. [LXR (linux cross reference, LXR community)](https://lxr.linux.no/) (可以先看 0.xx-2.xx 搭配 M.J. Bach 的書)
9. [Stackoverflow](https://stackoverflow.com/)
10. [ Linux Kernel in a Nutshell, by Greg Kroah-Hartman](https://www.kroah.com/lkn/)
11. [Interactive map of Linux kernel](https://makelinux.github.io/kernel/map/?fbclid=IwAR2JeW0DrBrBBLaD9qGepRXvfsgwiGY8eocROaONnHea44kM0OY99hjQW1I) 感謝 逢甲 趙教授 推薦
12. [Frame Buffer](https://blog.csdn.net/qq_28992301/article/details/52727050)
13. [C 語言 #pragma pack 預處理指令的意義、用法教學與範例程式碼](https://blog.gtwang.org/programming/c-language-pragma-pack-tutorial-and-examples/) 這可以搭配 mmap 控制 chip registers 但要注意 memory alignment 的問題
15. [Linux Page Cache series, by Viacheslav Biriukov](https://biriukov.dev/)
16. [Operating Systems, by Prof. Donald E. Porter
](https://www.cs.unc.edu/~porter/)
16. [CodeProject](https://www.codeproject.com/)
17. [Jason note](https://jasonblog.github.io/note/index.html)
[18. Putting multicore processing in context: Part One](https://www.embedded.com/putting-multicore-processing-in-context-part-one/)
[19. Linux Device Driver Tutorial](https://embetronicx.com/tutorials/linux/device-drivers/linux-device-driver-part-1-introduction/)
[20. Interrupts Example Program in Linux Kernel – Linux Device Driver Tutorial Part 13](https://embetronicx.com/tutorials/linux/device-drivers/linux-device-driver-tutorial-part-13-interrupt-example-program-in-linux-kernel/)
License: (stackoverflow.com)
[What is the license for the content I post?](https://stackoverflow.com/help/licensing)
[Data Structure Visualizations](https://www.cs.usfca.edu/~galles/visualization/Algorithms.html)
[Linux Device Drivers, Third Edition, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman](https://lwn.net/Kernel/LDD3/)
[Netlink Sockets in C using the 3.X linux kernel](https://stackoverflow.com/questions/15215865/netlink-sockets-in-c-using-the-3-x-linux-kernel#:~:text=A%20bit%20of%20%22generic%22%20kernel%20code%20uses%20netlink,indication%20of%20how%20the%20netlink%20sockets%20are%20used.)
[Linux Device Drivers](https://linuxtv.org/downloads/v4l-dvb-internals/device-drivers/index.html)
**網路核心**
1. Linux Network Internals, Christian Benvenuti
SSL/TLS
[如何使用 OpenSSL 建立開發測試用途的自簽憑證 (Self-Signed Certificate)
](https://blog.miniasp.com/post/2019/02/25/Creating-Self-signed-Certificate-using-OpenSSL)
[IamLupo: openssl-examples](https://github.com/IamLupo/openssl-examples)
[ssl server client programming using openssl in c](https://aticleworld.com/ssl-server-client-using-openssl-in-c/)