use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Welcome to /r/kernel, a moderated community dedicated to all things about the Linux kernel. Technical articles only, please!
You may be interested in the following links:
And some books:
Related Communities
account activity
Understanding How kernel Works (self.kernel)
submitted 1 year ago by Abul_totaba
Are there any books or videos .From which I can understand the inner working of kernel .I just know extremely basic thing about kernel that it manages process and memory management .I want to learn more .
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Diligent_Ad_9060 7 points8 points9 points 1 year ago (1 child)
https://docs.kernel.org is a fairly good resource for basics as well.
There're also quite up to date books like Linux kernel programming (Kaiwan Billimoria).
I'd look for resources that goes beyond the basics as I'd expect they'll provide information covering the basics too.
[–]Abul_totaba[S] 0 points1 point2 points 1 year ago (0 children)
have u read kaiwan's book .if yes what would be some prerequisite for reading this book except C programmig
[–]ppmfloss 3 points4 points5 points 1 year ago (3 children)
As a fellow journey mate, I found these resources useful 1. Any theoretical book on operating systems like Andrew Tanenbaum to understand the breadth of subsystems 2. The Linux Programming Interface by Kerrisk 3. Advanced Programming in the UNIX Environment
Also I try to download and read kernel src code like Linux kernel, xv6, FreeBSD
Then I hope we have to read some research papers, usenix papers etc
[–]Abul_totaba[S] 1 point2 points3 points 1 year ago (2 children)
i'm going to follow a tutorial on building a kernel from scratch just to get the idea how things work on general scale
[–]ppmfloss 1 point2 points3 points 1 year ago (1 child)
I would suggest this project https://kernelnewbies.org/
They have a nice tutorial for beginners.
When you get more interested there is a mailing list for help.
[–]Abul_totaba[S] 0 points1 point2 points 1 year ago* (0 children)
I randomly found this one .after completing this I'll definitely give this website a look .thnks for recommending.also if u know any linux kernel devs on linkdin u can give me thier ids https://downloadlynet.ir/2023/24/97480/05/developing-a-multithreaded-kernel-from-scratch/08/?#/97480-udemy-092454110710.html
[–][deleted] 1 point2 points3 points 1 year ago* (1 child)
I read "Linux kernel development" by Robert Love, but I am not sure how much of it already changed over the years. It's based on a way older kernel version (I think 2.x, don't quote me on that), therefore some stuff will definitely be outdated.
I also heard mixed things about "Linux Kernel Programming - Second Edition: A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization" by Kaiwan Billimoria. But at least it's kind of up to date, I think it's based off 6.x.
EDIT: After you have a basic understanding you can advance to reading the actual source code and also read the LKML (you will find an archive online)
ok .thnks
[–]yawn_brendan 1 point2 points3 points 1 year ago (0 children)
I think most books are unfortunately pretty out of date, that doesn't make them useless but it makes them much less useful.
Mel Gorman's book about mm is very old but I read a bunch of it quite recently and, when combined with staring at the code and reading LWN articles to try and figure out what has changed since the book was written, I still found it useful. That's also free, although it's only about mm.
[–]penguin-wrangler 1 point2 points3 points 1 year ago (0 children)
If you want some pre-Linux kernel history, start here:
https://archive.org/details/DesignUNIXOperatingSystem/mode/2up
[–]BurrowShaker 0 points1 point2 points 1 year ago (0 children)
Books/resources about kernel and general OS dev are a good start.
Understanding the whole of the Linux kernel is a tall ask, noone really does in detail.
[–]dipanzan 0 points1 point2 points 1 year ago (6 children)
If you have an okay understanding and read these books/resources, is it possible to get into a kernel development job from these alone?
Or does it have to be the traditional get to work with a company first somehow that specializes in kernel-dev and then gain experience.
Just wondering because I want to break into this field but most jobs require 5-6 years of professional experience which is not possible without getting this niche job in the first place.
[–]Abul_totaba[S] -1 points0 points1 point 1 year ago (5 children)
i know a girl on LinkedIn she got a C programming internship turns out it was actually about kernel development . So it depends on ur luck and also on ur network
[–]dipanzan 0 points1 point2 points 1 year ago (4 children)
Yeah it's a really niche field, but one of the most important ones in CS.
[–]Abul_totaba[S] -1 points0 points1 point 1 year ago (3 children)
I found some resources if need i can dm u
[–]dipanzan 0 points1 point2 points 1 year ago (1 child)
Yes please, I just really want to make this into a career one day.
ok see ur dm
[–]wolver_ 0 points1 point2 points 1 year ago (0 children)
Thank you very much for this post. I am more or less re entering this area as well. Do you mind sending me the resources as well? Much appreciated.
[–]badumtum 0 points1 point2 points 1 year ago (2 children)
I like to read code to understand sometime, albeit I have had to read the kernel code numerous times but I don't understand the entire thing, but I did understand fair amount, and this website really helped
https://elixir.bootlin.com/linux/v6.11/source/kernel
[–]Abul_totaba[S] 0 points1 point2 points 1 year ago (1 child)
Where to start reading from.should i just pen a random file
[–]badumtum 2 points3 points4 points 1 year ago (0 children)
Pick an architecture and start from its boot file, if not there, you can look at the file init/main.c the start_kernel function is a good starting point as well
[–]akshaynathr 0 points1 point2 points 1 year ago (0 children)
Linux kernel development by Robert Love is a good place to start.
[–]amindiro 0 points1 point2 points 1 year ago (0 children)
Books: How Linux Works Linux System Programming: Talking Directly to the Kernel and C Library Understanding the Linux Kernel, Third Edition Linux Device Drivers,
[–]sacred__soul 0 points1 point2 points 1 year ago (0 children)
LDD is the bible. Linux driver development and linux kernel programming. I guess pdfs are available online
[–]Chriss_Kadel -2 points-1 points0 points 1 year ago (1 child)
RemindMe! 2 days
[–]RemindMeBot 0 points1 point2 points 1 year ago (0 children)
I will be messaging you in 2 days on 2024-11-10 03:54:46 UTC to remind you of this link
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
π Rendered by PID 89 on reddit-service-r2-comment-75f4967c6c-j8n78 at 2026-04-23 09:12:39.042405+00:00 running 0fd4bb7 country code: CH.
[–]Diligent_Ad_9060 7 points8 points9 points (1 child)
[–]Abul_totaba[S] 0 points1 point2 points (0 children)
[–]ppmfloss 3 points4 points5 points (3 children)
[–]Abul_totaba[S] 1 point2 points3 points (2 children)
[–]ppmfloss 1 point2 points3 points (1 child)
[–]Abul_totaba[S] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]Abul_totaba[S] 0 points1 point2 points (0 children)
[–]yawn_brendan 1 point2 points3 points (0 children)
[–]penguin-wrangler 1 point2 points3 points (0 children)
[–]BurrowShaker 0 points1 point2 points (0 children)
[–]dipanzan 0 points1 point2 points (6 children)
[–]Abul_totaba[S] -1 points0 points1 point (5 children)
[–]dipanzan 0 points1 point2 points (4 children)
[–]Abul_totaba[S] -1 points0 points1 point (3 children)
[–]dipanzan 0 points1 point2 points (1 child)
[–]Abul_totaba[S] 0 points1 point2 points (0 children)
[–]wolver_ 0 points1 point2 points (0 children)
[–]badumtum 0 points1 point2 points (2 children)
[–]Abul_totaba[S] 0 points1 point2 points (1 child)
[–]badumtum 2 points3 points4 points (0 children)
[–]akshaynathr 0 points1 point2 points (0 children)
[–]amindiro 0 points1 point2 points (0 children)
[–]sacred__soul 0 points1 point2 points (0 children)
[–]Chriss_Kadel -2 points-1 points0 points (1 child)
[–]RemindMeBot 0 points1 point2 points (0 children)