Linux under C Master growth process

Source: Internet
Author: User

Suggested Learning Paths:

First of all, learn the editor, vim, Emacs and so on.
Then learn to make file files, just know a little bit, so you can prepare the program.

Then look at "C programming language" k&r, so that, basically can do general programming, by the way to find the data structure of the book to see.

If you want to learn unix/LINUXProgramming, "Advanced programing in Unix Envirement" absolutely classic textbook, deepen the Foundation, Learning "Unix Network programing" the second volume. In this way, basically the system can be mastered.

And then look at Douglus E. Comer, "Internet Interconnection with TCP/IP," the first volume, learn the knowledge of the network, and then see the first volume of "UNP", not only to learn the network programming, but also some common skills of system programming is very familiar with, if continue network programming, suggest to see "tcp/ IP in the third volume of Internet interconnection, there are a lot of application protocol 1216.www.qixoo.qixoo.com/telnet, FTP and other protocols of programming.
If you want to write device drivers, first of all, your system programming interface such as files, IPC, etc. must be familiar, and then learn "LDD" 2.

For the evaluation of several classic textbooks:

"The C programing Language" K&r the classic C language programming material, the author is the C language inventor, the textbook content is in layman's words. Although a bit old, but a necessary manual, and now sometimes I often turn over. The space is relatively small, but every time you look at it, there is a harvest. In addition, "C language Programming" can be replaced by rectification.

"Advanced programing Inunix Envirement" W.richardstevens: Also very classic book (Nonsense, Stevens Book which has not classic!) ), although beginners can see, but in fact it is "Unix networkprograming" an auxiliary material. Domestic translation of the "UNIX Environment Advanced Programming" level is not good, now has a photocopy version, direct reading English is easier than reading Chinese.

"Unix network Programing" W.richard Stevens: The first volume of the BSD Socket network programming interface and another network programming interface, but now generally use BSD socket, so this book as long as the only look at about half more can. The second volume does not have anything designed to be networked, mainly between interprocess communication and POSIX threading. So after watching the "Apue", you can see it, basically the system of things from the "Apue" and "UNP" Vol2 summed up. After seeing "UNP", you will know most of the programming techniques of system programming, even if the volume one is about network programming. The domestic is Tsinghua Translation "UNIX Network Programming", translators have a relatively high foundation, translation is better. So the suggestion is to read the Chinese version.

"TCP/IP Xiang solution" altogether three volumes, Volume one speaks the agreement, the volume two speaks realizes, the volume three speaks the programming application. I haven't seen much of it. , but it is also said to be very classic, because I do not have time to look at volume two, so inconvenience evaluation.

"Internet interconnection with TCP/IP" Douglus.e.comer a total of three volumes, Volume One speaking principle, Volume two speak realization, Volume three speak advanced agreement. It feels better than Stevens's, even Stevens has to admit that its first volume is very classic. In fact, the first volume even if you do not have a little knowledge of the network, after reading it will be familiar with the context of the network. There are many exercises in the first volume are also designed to be classic and practical, because the author is a teacher, and volume one is foreign postgraduate textbooks. There is no answer to the problem, leave the reader to think, because the answer to the question can let you become an intermediate hacker, the answers to these questions can be like Douglus request, but only he gave teachers Volume II I do not see how, volume three can be used as a reference manual, which example is also very classic. If you have seen the source code of Qterm, you will know that most of the qterm Telnet implementation is from the source of the book. For the network principle of the book, I recommend it, rather than Stevens "TCP/IP Xiang solution."

"Operating System-designand Implement" This is a book about the operating system, using Minix to do the example. The author's native language is not English, so English looks rather obscure. Domestic translation is "operating system design and implementation", I did not read the Chinese version, because the translator is Yu Jinyuan, he translated the "Apue" has let me down the head. Reading this book, how to work on the bottom of the operating system will
Have a clear understanding of it.

"Linux device Driver" 2e, a few good books about Linux equipment drivers. But the content is a bit messy, if you do not have some experience in writing drivers, the first look will be some touch the North and south. The domestic translation is theLinuxDevice Driver Second Edition, the first edition, the second edition of the translator I have a deep contact, Http://blog.csdn.net/shanzhizi but overall, although the second version of the translation is somewhat unsatisfactory, but compared to the first version of the more than a big cut. To read this book, at least you should find some "computer theory", "Machine architecture" books to read so carelessly, at least should have some understanding of the hardware and computer work process.


Recommended advanced programming for the UNIX environment
"Linux kernel Development" (Chinese name Forgot)
"Linux Kernel Anatomy"
"Linux Device Driver"
Deep understanding of the Linux kernel

Beginner: Proficiency in command, familiar with Shell programming, can configure simple services, clear the location of various types of service-related configuration files,
Ability to read and modify system-provided configuration scripts (/etc/*.*)
Recommended Books:
"Bird Brother's private cuisine basics, Advanced articles"
"Advanced Bash Shell"

Intermediate: Familiar with TCP/IP Principles, OS principles, proficiency in C language, Linux system programming, network programming.
Recommended Books:
"The C programming Language"
Advanced Programming for the UNIX environment
"Linux Programming"
The TCP/IP protocol detailed volume one
Advanced Programming of UNIX Network

Senior:
"Linux Device Driver"
Deep understanding of the Linux kernel
"In-depth understanding of computer systems"
Deep understanding of the Linux Network Insider

Embedded book recommendations
Linux Foundation Http://blog.csdn.net/shanzhizi
1. "Linux and Unixshell Programming Guide"
C Language Basics
1, "C Primer plus,5thedition" "Beauty" Stephen Prata
2, "The Cprogramming Language, 2nd Edition" "Beauty" Brian W.kernighan David m. Rithie (K & R)
3, "advancedprogramming in the UNIX environment,2nd Edition" (apue)
4, "Embedded Linux application Development detailed"
Linux kernel
1, "in-depth understanding of the Linux kernel" (third edition)
2, "Linux kernel source code scenario analysis" Maudeca Hu Himing
Research direction
1, "UNIX networkprogramming" (UNP)
2, "TCP/IP detailed"
3, "Linux kernel Programming"
4, "Linux Device Driver Development" (LDD)
5, "Linux Advanced Program Design" Yang Zongde
Hardware Basics
1, "ARM architecture and programming," Du Lei
2, S3c2410datasheet
Basic English
1. "Computer and communication professional English"
System Tutorials
1, "Embedded system-architecture, programming and Design"
2, "embedded system-the use of open source code and Strongarm/xscale processor" Maudeca Hu Himing
3. "Buildingembedded Linux Systems"
4, "embedded arm system principle and case development" Yang Zongde
Theoretical basis
1, "Introduction to Algorithms"
2, "Data structure (c language version)"
3. "Computer Organization and Architecture" performance analysis
4, "in-depth understanding of computer systems" "Beauty" randale. Bryant David O ' Hallaron
5, "Operating system: Essence and Design Principle"
6, "Compiling principle"
7. "Data Communication and computer network"
8, "data compression principle and application"

C Language Books recommended
1. The C programming language "C programming language"
2. Pointers on C "C and hands"
3. C Traps and pitfalls "c pitfalls and pitfalls"
4. Expert C Lanuage Program
5. Writing Clean Code-----microsofttechiniques for developing bug-free C Programs
"Programming essence--microsoft Writing high quality error-free C program Secret"
6. Programming Embedded systems in C and C + + "Embedded System Programming"
7. "C Language Embedded system programming discipline"
8. "High quality C++/C Programming Guide" Lin Rui
As much coding as possible, to learn C well, you can't just focus on C itself. Algorithms, architecture, etc. are important.

Linux under C Master growth process

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.