Linux Kernel Learning Summary

Source: Internet
Author: User

Name: He Weizin

Study No.: 20135223

(* Original works reproduced please specify the source *)

(Learning course: Linux kernel Analysis MOOC course http://mooc.study.163.com/course/USTC-100002900)

Learn about the Linux kernel and understand the Linux system

Time in a hurry, the blink of an eye 11 weeks of study ended, in the ear is surrounded by Meng teacher humorous speech, in-depth explanation. Thanks to Zhong Ke Monensin's "Linux kernel Analysis" course, this is the first time that I have had the opportunity to analyze the operating system that I've been working with for years.

In this few weeks of study, the work of the Linux system has some preliminary understanding, can not be said too deep, but at least a concrete framework in mind. In the process of learning, we also refer to the corresponding books to help you understand the Linux kernel, such as "Linux kernel design and analysis" and "in-depth understanding of computer systems."

      The first week of basic knowledge of the course, I mastered the structure of the computer-von Neumann architecture and x86 assembly instruction base. In particular, the x86 compilation foundation, can be said to be throughout the learning process. I think the teacher's teaching method is very good, not to explain at the beginning, but gradually, first introduce the basic knowledge, and then start the course content of teaching, so that we do not have the basis of the students are very suitable. Second week, the teacher through the content of the last week to teach, Connecting the beginning of the operating system related content introduction, not the slightest abrupt. In addition to the teaching of knowledge, the teacher will also decorate with knowledge-related experiments, let us through their hands-on practice, faster mastery of classroom learning and knowledge of the classroom has a more profound understanding and mastery.? The third week of structuring a simple Linux system menuos, through the image of the metaphor:? Three magic: Storage computer, function call stack, interrupt; Two swords: Interrupt context switching (save field and recovery site), process context switch, and trace debugging of the boot process of the Linux kernel, which gives us a quick insight into the Linux kernel. Four weeks, five weeks two weeks of time on the system call has a systematic introduction, let me know that the system has a kernel state, the user state of the points, know the system calls the process, as well as interrupt processing program. Finally, the whole system calls the process. All have a deep understanding. Two consecutive experiments are interrelated, and gradually let me master the system calls. Although the length of the week is small, but the content is a little bit. From the basic knowledge of the process, to the basic concept, to the creation of the process, to the end let me create a new process, and analyze its process, so a series of learning, without a doubt mastered the process of knowledge. The seventh week out of the kernel state, began the user-state knowledge of the explanation, but not limited to this, for other knowledge also has involved, such as: Shared library, dynamic link, the target file format and other knowledge, although less space, but also some involved. More comprehensive knowledge of Linux is needed in experiments. The eighth week is the last week, so in addition to the last bit of knowledge of the process, as well as the introduction of the entire Linux system, including the Linux system architecture and execution process, through the process switching and system execution process testing, the image of three-dimensional show me the Linux system execution process. I finally attached my understanding of the entire Linux system:

Linux system is divided into the user state and the kernel state, like a ball has inside and outside of the points, and in which run is called process. The communication kernel state and the user state are called system calls, and the system calls are implemented through interrupt handlers, APIs (application programming interfaces) and different service programs.

In the source code analysis, mainly through debugging source code for analysis, I think in the future study, I will be in the Linux kernel analysis, do some more in-depth study, such as doing some practice, make a system call to better understand the Linux kernel, and deepen the knowledge points to their own impression.

Finally, thank Meng teacher these weeks of hard teaching, teacher hard!

Job Directory list:

A summary of the first week of the Linux kernel Analysis course

How the computer works
Storage Program Computer Working model
32-bit X86 compilation basics
Disassembly of a simple C program

A summary of the second week of the Linux kernel Analysis course

How the operating system works
function Call stack
Simulating the operating model and clock interruption of the stored program computer with the help of the Linux kernel part source code
To construct a simple operating system kernel

Summary of the third week of the Linux kernel analysis course

Construct a simple Linux system menuos
Linux Kernel Source code guide
To construct a simple Linux system
Tracing the boot process of the debug Linux kernel

A summary of the fourth week of the Linux kernel analysis course

System call 1
Use library functions to trigger a system call
How to embed assembly code in C code
Triggering the same system call using embedded assembler code
Process of system call in kernel code

A summary of the fifth week of the Linux kernel analysis course

System Call 2
Use library functions to trigger a system call
How to embed assembly code in C code
Triggering the same system call using embedded assembler code
Process of system call in kernel code

"Linux kernel Analysis" Sixth Week study summary

Description of the process and creation of the process

A summary of the seventh week of the Linux kernel analysis course

Procedures and processes
Program compilation, linking, and executable file formats
Description of the process and loading of the program

A summary of the eighth week of the Linux kernel analysis course

Overview of process switching and execution processes
User-State stacks and kernel-state stacks
Save and restore of process contexts
Key code SWITCH_TO analysis for process switching

learn a summary of the Linux kernel Analysis course: the biggest harvest:

This course is like a guide that takes me to the door of the Linux kernel. Of course, want to understand deeply, only by listening to these lessons is not enough, need in the future theory combined with the actual, thoroughly understand, accurate. Through this course of study, so that I in the future debugging procedures, analysis of problems more targeted, more convenient to find reasons.

The most important thing is to find a way to learn. (extrapolate, etc.)

The biggest regret:

1. The course is too short, and the Linux kernel analysis is just a little superficial, hoping to learn more about the Linux kernel.

2. There is not a good plan in preschool, not keeping up with the teacher's teaching speed

3. The timing is not good, there are a few chapters study time is relatively compact, not able to absorb digestion

Linux Kernel Learning Summary

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.