Summary of the Linux kernel analysis course

Source: Internet
Author: User

Zhu Yuxiang + Original works reproduced please specify the source + "Linux kernel analysis" MOOC course http://mooc.study.163.com/course/USTC-1000029000

Unconsciously, in the NetEase cloud class after two months of the course "Linux kernel Analysis" will be over. At the end of the course, I would like to put together this eight-week course, a simple summary, at the same time speaking of the lessons of their own understanding and experience, with a view to build on the future.

Every week of the video, I have taken a serious look, and completed the quiz, wrote the relevant blog, the following first simple review and summary:

Week One: See how a computer works from a compilation of a piece of code

Second week: A simple time slice rotation multi-channel program kernel

Third week: Analyzing the operating system boot process from Linux kernel code

Week Four: A code parsing system call principle

Week Five: Analyzing the System_call interrupt processing process

Week Six: A brief analysis of the Linux process startup process

Seventh Week: A brief analysis of Linux loading executable program

Eighth week: Linux process switch Code analysis

The first week the teacher introduced the computer's infrastructure: The von Neumann architecture, the CPU reads the in-memory code and data into its own registers, and then carries out further operations according to a command call register, while the teacher explains the basic assembly language syntax. The second week is the extension of the first week, in class, the teacher explained a program based on C and assembly language, the realization of the time-slice rotation multi-channel program function, I also personally experienced the context of the save, switch, code jump specific implementation.

The third week, the teacher took us to analyze the Linux boot process, we witnessed the first process of the creation and the idle process cycle, the operating system to start the process of a more in-depth understanding.

And the fifth week, deep into the system call this Linux kernel in an important module, we understand the system call "three layer Skin" (API, interrupt vector, Interrupt service program), through the Assembly to implement a system call, recognize the INT 0X80 's role (this should be the most impressive assembly code I've ever had, O (∩_∩) o haha ~); we have a more in-depth understanding of the specific implementation of the system invocation by deeply tracing the kernel code of the Sys_call system call. (Thanks to the simplified assembly code provided by the teacher, greatly facilitated my analysis of the work Orz)

第六、七、八 Week is the analysis of the Linux kernel of the three specific functional modules: process creation, executable loading, process context switch, pay particular attention to fork this special system call, it has "one call, two return" feature, which is not the same as the general process of Linux in the same place.

At the end of the eighth week, the teacher summed up the architecture and execution of the Linux system, in short, the user-state process is located in the memory of the 0~3g space, the kernel code is located in the memory of more than 3G parts, as the large (Cang) dance (Lao) female (Shi) as the user-state process to use publicly. Before the process is trapped in the kernel state by the user state or between processes, the context is saved so that it can revert back to the previous environment.

Linux System Architecture Town Building

/*---------------------------------------------I am the line of the Moe, babbling-----------------------------------------*/

I am a senior student in the West, now has been to Zhejiang University, the CAD laboratory, is about to start their own graduate career. During the undergraduate period, we also have the operating system and other courses, but the teacher on the operating system to explain the theory, rarely involved operating system specific implementation, so that I have been the implementation of the operating system details confused. By studying this course, I have reviewed the operating system concept of the undergraduate study, and more importantly, through the analysis of the kernel code of the Linux system, I first glimpse the operating system kernel programming, the implementation of various functions of the operating system, such as process creation, switching, Operating system start-up has a more in-depth understanding and understanding, this is my lesson in the biggest harvest.

After this course, I would like to re-hold the undergraduate operating system course textbook "Modern operating System", carefully read again in the book later to explore the various operating system implementation details of the chapter (we have only a theoretical part of the undergraduate, did not say); If you have the opportunity to delve into the operating system architecture, refer to the 30 days homemade operating system, "Orange S: An operating system implementation" and other books to implement a small operating system, after all, operating system knowledge for the future research, work is very helpful.

Speaking of regret, the main course is the opening period is also my undergraduate design time, I am busy with graduation design, night 10 o'clock more from the laboratory back to the dorm to start the course of study, many times including doing homework are made relatively hasty, once even forgot to submit homework (TAT), Feel oneself to the class teacher to explain the knowledge point still needs to be further digested. The course is over, and the postgraduate stage will continue to focus on this area and constantly improve their professional skills in this field.

In addition, I think that the teacher this course does not tell the file system of the Linux kernel is a bit of a pity, if later, I hope to be able to include this module in the course of the explanation.

This is my summary during this course, thanks to NetEase cloud classroom and monensin teachers to provide this opportunity to learn, but also wish the cloud classroom platform more and better, Meng teacher family life is happy, career is up and running!

The road long its repair far XI, I will go up and down and quest!

Summary of the Linux kernel analysis course

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.