Linux Operating System and

A reimplementation of the UNIX kernel, named by its main architect, LinusTorvalds. Together with the GNU system and user-space utilities, it forms a complete, free operating system. You can even add the X11 GUI interface and loads of applications. The latter is what so called LinuxDistributions are spreading.

The mascot (or logo) of the kernel is a TuxPenguin, while the mascot of the GnuSystem? is a Gnu. You might see pictures where they go hand in hand, or fight a common enemy.

The great innovation of Linux is not in the code, it's in the development process:

Indeed, reading the Linux mailing list archives is quite interesting. Linus often criticises people who bring in large patches of "working" code which they developed outside the kernel mailing list.

In Architecture, Linux uses classical MonolithicKernel rather than modern microkernels such as GnuHurd or MachKernel?

The Linux kernel does behave in some respects like a MicroKernel, with all its loadable modules etc. (Linux is probably a MiniKernel? or DeciKernel? rather than a true MicroKernel though...)

Modules do not a MicroKernel make - once a module has been loaded it exists as part of the kernel, with no distinction from other parts of the kernel (except its ability to be unloaded), and if Linux's only modular feature was loadable kernel modules, then it would definitely not be a MicroKernel. However, Linux has kernel threads which act somewhat like MicroKernel servers - the processes in square brackets that appear just after init in your process list, like kflushd, kswapd, khubd, kjournald. Those could be used as evidence that Linux is not monolithic. =) -- TorneWuff

Linux has many user interfaces. See MinimalLinuxUserInterfaces for the ones troglodytes prefer.

See GnuLinux for opinions on GnuLinuxOperatingSystem? vs. LinuxOperatingSystem.

Check out these downloadable Linux training manuals:

/* was BrokenLink */

Some companies are now providing for-fee development services for the Linux system (custom applications, drivers, etc.)

The growing problem that Linux programs running on one distribution will not run on another.

The LinuxStandardBase is trying to fix this problem.

This problem is, of course, due to the mistaken belief that "Linux" is an entire operating system. It is not. It's a kernel. To turn Linux into a complete operating system you need to add programming language interfaces to the kernel, libraries, daemons, shells, basic commands and other bits and pieces. This is what the various distribution vendors do, and this is why RMS asserts that Linux should really be called "GNU/Linux", because many of the non-kernel parts of a Linux-based system are FreeSoftware packages from the GNU project.

Thus RedHat, SuSE, Debian and UbuntuLinux are all different operating systems based on the Linux kernel, and so are not guaranteed to be compatible. It's the same situation as Windows 95, 98 and the various versions of NT. They all support different versions of the Win32 API and provide other APIs, again with different versions. So it's possible to write programs that run on 98 but not on NT, or will run on NT but not on 95.

Of course, the ideal is WriteOnceRunAnywhere. Or at least, WriteOnceCompileAnywhere.

See also SixtyFourBitLinux, IntelSixtyFourBitLinux, FilesystemHierarchyStandard.

Linux on the server is established, Linux on the typical (!) end user's desktop is not here yet. But what about Linux for developer workstations? Who is using Linux on his main machine for software development? Do you find its practical, or are you missing software packages, such as for project management or database modelling? -- FalkBruegmann

It's not very practical for VB development. Seriously, though, Linux has been referred to as a programmer's paradise. Aside from the obvious gcc, vim, emacs, perl, etc., there are even some IDE's. I use Linux on my main machine and I'm the maintainer of RIGS, a Ruby binding for GNUstep. -- LarryColeman?

I'm trying Linux on a Vintage 2001 machine during the second three months of 2007, see my HomePage for more. -- DonaldNoyes

I usually think that one cannot have a developer workstation without Linux. I do all of my development on a virtual Linux box, and I love it. Implementations of just about all of the languages that I could ever need to program in are available on Linux by default, and if there isn't built-in support, I could always run apt-get.

Are there any open-source ACID-property supporting databases out there? (I'm not being negative, I'd just like to find one.)

PostgreSql is one. It has many advanced features like MultiVersionConcurrencyControl?.

The article MySql claims that MySql is now ACID-compliant.

HsqlDatabase? is a java open-source database with surprisingly good performance (for java :p)

See TaoOfLinux

CategoryOperatingSystem CategoryUnix CategoryLinux

EditText of this page (last edited January 4, 2013) or FindPage with title or text search