-
The first contact with inux was when I watched the "Linux Operating System Practical Tutorial", 98 99 years, learned simple operations and kernel compilation, and at that time began to pay attention to and learn the kernel. The first book I read was "Advanced Programming in UNIX Environment", and I didn't finish reading part of it, so I started right.
if(!(p=fork())
else structure hate to be confused, which is contrary to the general application logic, so I want to understand what the kernel is doing and how it is doing. I started to buy "Operating System Design and Implementation", the upper and lower volumes, the next volume is all minix operating system kernel**. It is completely different from Linux, one is a microkernel and the other is a single kernel.
Even if you understand minix, linux has to start from the beginning, and vice versa. That's why I didn't get into it later. The first Linux kernel book I read was Mr. Li Shanping's "Linux Operating System Experimental Tutorial", at that time there were very few books on the market about the kernel.
I started to read the source while reading**, and occasionally read the book on the principles of the operating system, and I don't know how to ask questions on the forum, so I think about it slowly, and I understand it a little. It's much better now than it was then, and many core books are analyzed in detail in all aspects. But to learn, you still have to:
1. Have curiosity and interest 2. Read and read, so that you can understand better. If you want to improve it further, you have to learn to modify the kernel. There are the following books to refer to:
1. "Linux Kernel Complete Analysis" version of the kernel.
2. "In-depth understanding of Linux kernel version), the three versions correspond toVersion 6 of the kernel.
3. "Linux Kernel Source ** Scenario Analysis" version of the kernel.
4. Linux Kernel Design and Implementation
5. Linux Device Driver
-
Basic knowledge of the C language, principles of computer composition, and principles of operating systems are required. The more you know, the better.
-
Linux kernel: Linux is an open-source computer operating system kernel. It is a UNIX-like operating system written in C and compliant with the POSIX standard.
Linux was first developed by the Finnish Linus Torvalds in an attempt to provide a free UNIX-like operating system on Intel's x86 architecture. The program began in 1991 with the assistance of a few minix hackers in the early days of the program, and today countless programmers around the world are helping the program for free.
Linux was first designed by the Finnish Linus Torvalds. Due to the commercialization of UN at that time, Professor Andrew Tannebaum developed the MiniX operating system so that it could be used as an operating system for teaching and research without being bound by the AT&T license agreement.
-
1.First of all, understand why learn kernels? As shown in the diagram below, if you want to work in driver development or systems research, you need to learn kernels.
2.The knowledge of the kernel is like the knot below, one link after another, and if we want to untie them, we must first find the thread, which is the function interface in the kernel. At the beginning stage, we generally don't study the kernel in depth, and it is good to use the interface functions of the kernel.
3.Here's how to learn these kernel functions, just like untying a rope4The four-step rule of learning the kernel, the design of the mind map is particularly important, which is also the key to learning the kernel well.
5.The language foundation also needs to be solid, so it is necessary to consolidate the C language.
-
In order to learn Linux well, you need to have the following skills:
1.The basic skills should be solid.
To learn any language, you must have the basic skills to improve efficiency on the one hand, and broaden your thinking on the other hand.
For the learning of basic knowledge of linux, it is boring for some beginners, you can first learn the ** and grammar by understanding and then reciting, and then carry out practical operations, you must manually enter the command line, do not use tools, so that you can master linux more quickly and effectively.
2.Apply.
The purpose of linux learning is to apply, linux basic knowledge is some scattered technology, when there is no application in the project, we can not understand his true value, so after laying the basic skills, the most urgent thing is to do a few more complete projects, at the beginning can be a simple project, and then you can choose a slightly more complex project, diligent in doing, dare to practice, you will be able to learn linux well.
3.Learn to use Linux online help.
Any kind of textbook will not fully tell the knowledge of linux, generally talking about the more commonly used or more representative knowledge, however, we often need some rare knowledge and skills to implement some functions in the project application, so, how to find the knowledge we need, it is recommended to consult the linux help documentation, the mainstream linux comes with detailed help documents, it is very convenient to solve the problem!
4.Find resources online.
In the learning and application of Linux, it is inevitable to encounter some problems without ideas and not knowing how to solve them, at this time, it is necessary to use the power of the network, you can search and find through search engines, or you can consult senior technical personnel, and finally solve the problem, which is an important way to accumulate Linux knowledge!
5.Check out the technical documentation in English.
If you want to learn Linux in depth, it is very necessary to consult English technical documents, often the latest technologies are released in the form of English documents, and more comprehensive, therefore, for Linux personnel, read more Linux technical documents, it is very necessary to master cutting-edge technology and deepen knowledge!
-
It is not recommended to start with the kernel.
You can learn from other knowledge as you learn it.
I used to learn Unix before.
If there is any problem, you can check the kernel knowledge to solve it.
-
You can go to Old Boy Education to learn, Old Boy Education is an institution with a good reputation for Linux operation and maintenance training, more than ten years of training experience, I heard that the founder of Old Boy Education is in the company after a few years of Linux operation and maintenance before starting a business. It is a practical start-up company that understands the direction of demand for Linux talents in the society.
Nowadays, there are more and more ways to obtain social information, which makes it difficult for people to focus on one thing, so it is difficult to learn on their own. If you want to really learn a skill, you must go to a specialized training institution to learn it. The first is that there is a learning atmosphere, the second is that the training institution has a teacher to supervise, and the third is that the teacher explains offline, which is easier to understand, and there are questions that can be asked in real time.
-
The people who can gnaw through the Linux kernel in the country are basically masters, give you books! Give me an email address! I have a couple of eBooks!
-
Many, many, many, but not necessarily exhaustive, just a few:
-
Except for Windows, it's basically all of them.
Smartphone operating system.
Embedded (Linux-based.)
access linux
android
limomaemo
mobilinux
moblin
motomagx
openmoko
webosqt extended
Ubuntu Mobile Other.
-
Linux is derived from Unix, as you probably know. UNIX is a general term for a type of system, a macrokernel architecture, with its own conventional implementation standards, such as the way the system is called. The most classic UNIX system is SUN's Solaris, which is a collection of all UNIX features.
Linux follows the UNIX kernel architecture and system implementation pattern, but is tailored and configured for current PC embedded devices. Figuratively speaking, Linux is the little brother of UNIX. It has some features of UNIX.
Red Hat is a client system based on the Linux kernel, which is one of the Linux kernels, in addition to Fedora, Ubuntu and many more. Unix-based ones include Solaris, HP-UX, System-5, and many more.
In addition, the virtual machine group is on the product**, which is super cheap.
-
This is more, the desktop and server have Redhat, Ubuntu, Fedora, ArchLinux, OpenSuse, CentOS, Ideneb, etc., embedded can not be listed, because there are too many, ulinux, android and the like, a teacher in our school made a broken paper book is also with the linux kernel.
-
This is a Linux distribution.
Embedded systems, android meego and the like.
Cupcake) Based on Linux Kernel (Donut) Based on Linux Kernel (ECLAIR) Based on Linux Kernel (Froyo) Based on Linux Kernel (Gingerbread) Based on Linux Kernel (Honeycomb) Based on Linux Kernel February 3, 2010 Due to the missynchronization between Google's development of the Android kernel and the development of the Linux community, Linux kernel developer Greg Kroah-Hartman removed the Android driver from the Linux kernel "staging tree". In April 2010, Google announced that it would send 2 developers to join the Linux kernel community in order to return to the Linux kernel. In September 2010, Rafael J., a Linux kernel developer >>>More
If the foundation is good, you can read the book directly and follow the operation. >>>More
Treat learning in the right way.
In my previous opinion, learning cannot be connected with happiness, and I think that learning is boring. But I don't think so now. >>>More
Linux is just a tool. If you can do the same with Windows, it doesn't hurt if you don't learn. Please read the following on the basis of this sentence. >>>More
I've just switched from Windows to Linux, so I understand your feelings. >>>More