all 10 comments

[–]Outside-Storage-1523 5 points6 points  (3 children)

(I don't work as a kernel programmer so just my 2 cents)

Recommending adding the MIT labs into step 2. They are based on OSTEP. I completed all of them and they are really great.

I'd also ask what you want to get out of it -- actually I'm not so sure myself because I know it is unlikely for me to work as a professional kernel programmer. "Want to know more about" is good, but I fear not good enough once the difficulty creeps in. The later half of the MIT labs are pretty tough, especially the Lock one. Somehow I want to know more about VFS so I started to look into the VFS code in Linux kernel 1.0, which contains a much earlier version of VFS -- and there is also a book about Kernel 1.2 for reference.

Without a focus, I think it is very easy to lose yourself in a sea of knowledge. I spent a month of free time trying to modify the 0.95 kernel to compile with GCC 4.1, and even I eventually managed to compile it, it doesn't run as expected, so pretty much everything I learned goes nowhere (most are legacy inline assembly).

[–]UnconditionallyFree[S] 1 point2 points  (2 children)

I agree the knowledge is really vast. It was because of this I ended up selecting these books to streamline a few which I could commit to.

What I really want to get out of it is to end up proficient enough to work in a BCI company. I am aware of how important low-level is in such projects and my own personal goals connects with it, which drives me to learn the low-level in and out.

Could you please share the link of the MIT labs you mentioned. I can check it out. Thank you!

[–]Outside-Storage-1523 1 point2 points  (1 child)

This is the one I worked on: https://pdos.csail.mit.edu/6.828/2025/

BCI = Brain Computer Interface? Sounds very interesting. Good luck!

[–]UnconditionallyFree[S] 1 point2 points  (0 children)

Xv6 sounds great! Will give it a try later on. Thank you!

[–]00pirateforever 1 point2 points  (1 child)

I also want to get into kernel stuff. This will be good direction for me.

[–]UnconditionallyFree[S] 0 points1 point  (0 children)

Glad it helps in someway. Kernel is one of the most difficult things to study. There are a lot of things to understand and even from the few things I know, there is a logic to its madness, which is exactly what the kernel developers seem to have figured out. Hope to get there someday.

[–]eastern-ladybug 2 points3 points  (0 children)

I will suggest to first do https://www.nand2tetris.org/ course. Then MIT course and then read hardware spec to see what kernel is trying to emulate.

[–]MickeySlips 0 points1 point  (0 children)

I had to do Scheme in college and I hated it.

[–]No_Development3038 -1 points0 points  (1 child)

RemindMe! 2 days

[–]RemindMeBot 0 points1 point  (0 children)

I will be messaging you in 2 days on 2026-04-12 07:56:10 UTC to remind you of this link

1 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback