Hi Vorad... On Fri, Jan 21, 2011 at 17:15, vorad <vorad.1100@xxxxxxxxx> wrote: > What does programming at the operating system level mean and what does it > involve ? How's that different than what's currently happening in software > development, what are the constraints and what should an engineer expect > when it enters the realm of OSs ? > Thanks! > [1] http://lwn.net/Articles/355416/ First of all, I appreciate you did initial research on the topic, that helps us all to better answer it. I'd just add few of my own answers: in programming OS, you have to think "broad"...in the real sense. For example, in "usual" programming, you probably don't really bother if the "if" will hit the true most of the times, or false .... but in the low level programming, it matters.... it could introduce hell lot of latency. For better example on this like this, search for Ulrich Drepper article in LWN describing about memory architecture. Perhaps in user space, IMO the one that has near level of complexity is game programming. You need to make it fast, make it "user friendly", you need to think how each sprite interact (same like the way you think how to make VFS and VM layer interact), how to exploit the graphic card at its best etc. And it comes to one thing: you need to know your hardware.... deeply. Not just "OK I know RAM stores data....period" or "OK, I know my ethernet card allow me to send or receive data". Of course, you need to practice gradually...learn how to code in each subsystem first, for example virtual memory management...then embarks into another field. Finally, you also have to remember that programming OS is quite complex, such that we need teamwork...a real good one. Maybe you ask "Linus can did it initially, alone"...yeah, but that only produce quite "primitive" one. So if you can learn how to do all such things, I think you gradually ready to become OS developer. And, don't forget to share what you have learned in forums, like this kernelnewbies mailing list :) -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies