How to get started in system programming?

Question by eric: How to get started in system programming?
I’m a novice programmer and I know the languages C, C++, and Java. I’ve been spending most of my time learning more languages and trying to figure out what type of field I want to do in programming. I have always been interested in systems programming and want to go into that field. From doing a little research when this question is ask most people talk about embedded systems. Now I’m more interested into OS programming and device drivers. I use Linux and I’m trying to learn more about the kernel itself and how it works. I want to do device drivers because I would like to help make things that Linux doesn’t support work like my Sony Walkman MP3 Player. Also I am a little bit interested in embedded systems but its not my main focus but any info on it would be appreciated. I’m going into a CE major and will probably learn a lot there but I still want to learn as much as I can now. The problem is I have no idea of how or where to start. I already know C which I know is pretty much the standard in system programming and was specifically designed for it but I’m not sure of where to go from here. Can anyone help me?

Best answer:

Answer by Khaled Z
I once read about an OS that was built for educational purposes, it’s relatively small and it’s open-source, so you can have a look at it’s code.

I hope you find it helpful.

You can also have a look at this:

Give your answer to this question below!