Re: Favorite OS?
If you want to get pedantic, Linux isn't a kernel. The term microkernel was actually invented to combat the language imprecision that resulted from large monolithic system code like Linux and the system-space equivalents of earlier UNIX systems being incorrectly called kernels.
Linux does the job of getting the hardware functioning, constructing a user-mode exectution environment supporting the nice things we all expect like preemptive multitasking, exports system calls to do the tricky low-level system I/O and cope with the requirements of actual devices. It meets the hardware developer's definition of Operating System.
The GNU System does the job of providing a complete toolset and development environment to support the needs of the user (end-user or developer) to interact with the system and perform useful tasks. It meets the application developer's definition of Operating System.
Arguably, to meet the average end-user's definition of Operating System, you do have to get into stuff like GNOME or KDE. But the term Linux is iconic here, and most distributions try fairly hard to make sure things look close enough to Windows that no one thinks too hard about the differences from one UI to another.
The GNU system is arguably the more confusing point in this chain because it was created with the notion of coopting any piece of a working system which was sufficient to the task and free software, so a complete GNU system is comprised of many many non-GNU packages. If Linux had been around when 'kernel' development was contemplated, it would likely have been coopted at least in part. (Richard Stallman has admitted that the Hurd departed significantly from the GNU Project's normal approach of trying to get a replacement written as quickly and easily as possible by going with known methods and techniques, instead shooting for an elegant but previously unrealized design which has proven to be very difficult to implement.) The reasons Linux is not recognized as a GNU System kernel are primarily legal in nature, as Linux employs licensing practices that the GNU Project finds of questionable legal status (The GNU Project/Free Software Foundation actually has a General Counsel to keep track of issues like this, unlike most individual free software projects).
Originally posted by Mhurron
View Post
Linux does the job of getting the hardware functioning, constructing a user-mode exectution environment supporting the nice things we all expect like preemptive multitasking, exports system calls to do the tricky low-level system I/O and cope with the requirements of actual devices. It meets the hardware developer's definition of Operating System.
The GNU System does the job of providing a complete toolset and development environment to support the needs of the user (end-user or developer) to interact with the system and perform useful tasks. It meets the application developer's definition of Operating System.
Arguably, to meet the average end-user's definition of Operating System, you do have to get into stuff like GNOME or KDE. But the term Linux is iconic here, and most distributions try fairly hard to make sure things look close enough to Windows that no one thinks too hard about the differences from one UI to another.
The GNU system is arguably the more confusing point in this chain because it was created with the notion of coopting any piece of a working system which was sufficient to the task and free software, so a complete GNU system is comprised of many many non-GNU packages. If Linux had been around when 'kernel' development was contemplated, it would likely have been coopted at least in part. (Richard Stallman has admitted that the Hurd departed significantly from the GNU Project's normal approach of trying to get a replacement written as quickly and easily as possible by going with known methods and techniques, instead shooting for an elegant but previously unrealized design which has proven to be very difficult to implement.) The reasons Linux is not recognized as a GNU System kernel are primarily legal in nature, as Linux employs licensing practices that the GNU Project finds of questionable legal status (The GNU Project/Free Software Foundation actually has a General Counsel to keep track of issues like this, unlike most individual free software projects).
Comment