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 LinuxDistribution
s 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:
- frequent releases
- all development happens "in the open" on the Linux mailing list
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
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.
for opinions on GnuLinuxOperatingSystem?
Check out these downloadable Linux training manuals:
/* was http://fortuitous.com/reply.php?name=manuals.html 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.
, 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
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.
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)
CategoryOperatingSystem CategoryUnix CategoryLinux