![]() ![]() I thought it would be strange if a book about the Linux kernel would not contain a part describing how to take a part in the Linux kernel development and that's why I decided to write it. So, it seems that people are interested in the Linux kernel development process. Generally people are interested in contributing to open source projects and the Linux kernel is not an exception: Besides this, in all the time that I have been writing linux-insides, I have received many questions from different people about how to begin contributing to the Linux kernel. It seems that people are interested in the insides of the Linux kernel. But soon the linux-insides repo became popular and after nine months it has 9096 stars: As you know the Linux kernel is very huge piece of code and it is easy to forget what does this or that part of the Linux kernel mean and how does it implement something. I decided to write this series about the Linux kernel mostly for myself. Now it contains forty parts and it is not the end. I'm writing this part nine and a half months after I've started to learn from the source code of the Linux kernel and published the first part of this book. The source code of the Linux kernel didn't give me the answers to all of my questions, but now my knowledge about the Linux kernel and the processes around it is much better. I started to learn from the source code of the Linux kernel and tried to understand the things that I'm interested in. Assembler programming language didn't give me answers to my questions and I decided to go deeper in my research. For example: what occurs when the syscall instruction is executed in my assembler, what occurs when the printf function starts to work or how can my program talk with other computers via network. But anyway, I didn't understand many other things. I understood that I can write programs, but didn't actually understand how my program is arranged.Īfter writing some assembler code I began to understand how my program looks after compilation, approximately. Some time ago I became interested in such things. It was a long time ago and, as I already said, I didn't write low-level code at all. I have never written a line of low-level code before this moment, except for a couple of toy Hello World examples in university. Write and Submit your first Linux kernel PatchĪs you already may know, I've started a series of blog posts about assembler programming for x86_64 architecture in the last year. How the Linux kernel handles a system call Initialization of external hardware interrupts structures Implementation of some exception handlers ![]() ![]() Initialization of non-early interrupt gates Last preparations before the kernel entry pointĬontinue architecture-specific boot-time initializationsĪrchitecture-specific initializations, again.Įnd of the architecture-specific initializations, almost. Video mode initialization and transition to protected mode ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |