Hacker News new | ask | show | jobs
by runjake 4646 days ago

  For as long as I can remember, I’ve wanted to create my
  very own operating system, one which I have complete and 
  total control over. Because I have neither the time, nor 
  the skill to write my own kernel, this means that I’d 
  eventually land up creating a OS based on the Linux 
  Kernel.
Non sequitur. If you want complete and total control, you're going to have to learn the ins and outs of a kernel.

I applaud your decision to go forth with this, but is it really worthy of an HN self-post given that Kirk does not exist and is just a blog post at this point?

1 comments

For me, at this moment, it's simply not a feasible goal to learn the ins and outs of a kernel in any reasonable amount of time. And Kirk doesn't just exist as a blog post, I've done a relatively large amount of work on it, but am just now starting to write about it by request of a friend.
If I were going to go back and learn the ins and outs of an OS again, I'd still go back and start learning from the bootloader to the kernel and then progress from there. The kernel is the OS for all intents and purposes. It sounds more like you want to learn how to create your own Linux distribution.

Don't fret, we've all been there and done this ourselves :). Some people catch the bug and create stuff like Gentoo and Arch.

I think it's a worthwhile endeavour to stick a distro together, however I agree with a lot of the other commenters here. If you really, truly want to learn about how an OS works, you're going to need to get your hands dirty and learn about the kernel. There are so many tradeoffs made on the kernel side of things which impact userspace, and knowing about them impacts the decisions you're going to make in terms how how you configure software and which software you're going to use.

If you can afford it and have a week to spare, I'd really recommend taking the Linux Foundation's one week crash course on the kernel. It talks about how the scheduler works, gives you insight into modules, how processes and threads work and hooks the kernel libraries give you for semaphores, mutexes, etc. It's expensive, but it's well worth the money.

http://training.linuxfoundation.org/linux-courses/developmen...

I'd actually really love to take a course like this, but a non-profit foundation charging $2750 for a virtual 4-day course?

I understand that they have probably have access to incredible kernel expertise, and hopefully the teaching is excellent, but even that doesn't warrant nearly $3000 for a 4-day course.

I mean, even training companies in the pharmaceutical industry doesn't typically charge quite that much for short courses! They're probably close, but is that really who the Linux Foundations wants to model their pricing on?

It's great if they can find corporations that can pay these kinds of prices, but it means that independent open source developers are virtually shut out, which means that many of the very people who would be interested in making contributions to the kernel will not be able to take what is probably the best introduction around to kernel programming.

Does anyone know of any good alternative resources for learning the kernel? There's a lot of good stuff on kernelnewbies.org (when it's not offline). Other ideas?

Yeah, I know it's expensive. I took the "in person" version of this course though and it was phenomenal. I'm not sure if it cost the same (the company I worked for payed for it), but if it is, it works out to $70/hr which is cheaper than getting specialized instructors in other disciplines like flight instruction.

For a virtual version of the course $2750 does sound pretty steep. It'd be nice if there were a "Khan Academy" type version (ie. pre-recorded) for a lot less.