Monday, May 15, 2006

The purpose of an operating system, redux

The purpose of an operating system, redux:
I still stand by my original premise.  The purpose of an operating system is to shield the application from the hardware.

(Via Larry Osterman's WebLog.)

I was reading Larry Osterman's old posts, and I came across this one.

If the purpose of an operating system is to shield the application from the hardware, whats the purpose of the kernel? Is an operating system and a kernel the same thing?

If Windows is a platform, whats dotnet?

With Linux I see it this way:
Linux Kernel : purpose is to shield the application from the hardware
(the code that kernel hackers write)

GNU/Linux : operating system
(the kernel plus, userland utilities that lets users communicate with the kernel, and the kernel communicates with the hardware)

platform: tools used to write the userland utilities mentioned above (glibc, win32api, dotnet framework, java framework, ...)

Then later in another post:
Riffing on Raymond - the purpose of an operating system:
IMHO, the ONLY reason for an operating system to exist is to hide the details of the hardware from the application.  Everything else is sugar.

(Via Larry Osterman's WebLog.)

See here I just want to replace "operating system" with kernel. So I did a search on his blog to see how he might have defined/used the word kernel.

Larry Osterman's WebLog : The last consumer operating system written in my lifetime...:
Linux was started in 1991, after the fact, but it's not a complete OS - Linux is the kernel, but the other parts of the OS date from other projects started long before Linux was started. The kernel is new, but the entire OS isn't - all the user mode components come from previous operating systems, as does the networking stack.

Now I'm confused. His explanation above seems to fall in place with my definition. I wonder what he means by "other parts of the OS". The GNU tools or the bin-utils package only...? Are the definitions for operating system and kernel not cross platform? :)

He's a kernel hacker and I'm not (yet!), I'd just like to know where my definition goes wrong.

Tags: , ,