Welcome to join the operation and development technology to share QQ group: 365534424; Hundreds of industry experts and peers in the exchange have a lot of friends asked me, want to know more about the Linux operating system but can not find the starting point I give everyone's advice is:
- Learn C,c language and *uix is a piece of growth, so the Linux operating system API is described in C language.
- So C language is a necessary skill to learn Linux in-depth, we can see the rectification of the Green Book introduction, although black people a lot, but the entry is enough.
- Then there is a must-read Bibliography Apue (Advanced Programming for UNIX environments), English students are advised to read the original English version of the programming in the UNIX environment.
- The next step is to read more about the C code of the excellent Linux project.
On the 4th, the answer to a question in the know, the unexpected harvest a lot of praise, hope to help everyone
I happened to read some of the open source projects that we mentioned before. Network programming:
- Redis is an example of single-threaded asynchronous network programming
- Nginx is the pinnacle of multi-process network programming, modular
- Although memcached is C + +, the pinnacle of C style, multithreaded network programming
Data Structures & Databases:
- SQLite, a paradigm of data theory. Note to read the version of the non-consolidated source file (for compiler optimization, there is a single file version)
Hodgepodge type:
- Coreutils-gnu Core Utilities, the implementation of most Linux system commands
- Python source code (CPython, note not Cython), how many times I encountered the problem of the solution, I would like to see how Python is packaged into a simple and reliable interface, such as my answer to the Linux TCP Connect with Select () fails At TestServer, and how to implement a reliable connect () with a custom timeout, you can find the answer from the Python source.
Find abuse:
- The BIRD Internet Routing Daemon Project, macros play to fly
- Kernel, it is easy to dampen the enthusiasm of beginners
- glibc, SSH, such programs are the work of the Great Gods of the last century, from the programming style and the overall structure is obscure, code style is not recommended by modern programming, recommended beginners away.
How to gain insight into Linux