Linux has always been a nice free and stable operating system. But from the user’s point of view it was somewhat primitive and lacking some basic features. Perhaps that was one of the primary reasons why GNU continued to develop another operating system, the Hurd.
But things have recently improved a lot. By integrating FUSE into the official Linux distribution and Linux-VServer into Debian Linux kernels, two important Linux limitations are mostly gone.
FUSE allows users to create their own virtual user-space file systems. That means the elegant facility provided by Hurd translators is available in Linux now too. It’s finally possible to mount remote directories transparently, to create usable automounters, to implement new file system features in high-level programming languages, etc. and that all without root privileges.
There is still a missing feature though. FUSE currently provides only active translators that require explicit startup and do not survive the next reboot. Passive translators, i.e. permanent translators started automatically when their mount point is accessed are still not available. Hopefully they will be added to Linux too.
Linux-VServer allows you to use several virtual machines on a single hardware. It’s something like running new Hurd instance inside another already running Hurd instance. Linux-VServer, unlike hardware emulators, allows separating independent tasks without any significant burden on the hardware – the CPU, RAM and disk usage overhead is negligible. With your processes running on different virtual machines, you are more protected against both accidental and intentional failures. For instance your web server can always run on a dedicated computer (as it should) without the need to dedicate it actual separate hardware. Then you can safely upgrade each service separately without the danger to damage other services and with the possibility to roll back to the original version immediately.
With Linux-VServer (or similar projects) hardware can be used more efficiently. Instead of having a lot of physical computers being most of the time idle you can build a few bigger physical machines running a lot of virtual computers for many users and uses. I didn’t like the single big machine approach before because it required interaction with sysadmins. User: “Would you upgrade Emacs installation there, please?”, Sysadmin: “What is it Emacs?”, U: “It’s a text editor.”, S: “I don’t use it.”, U: “Would you still upgrade its five years old installation, I need new Emacs features.”, S: “No, it could break.”, U: “Hm, hopefully I won’t reach my $HOME quota this time…”. With Linux-VServer, the user can safely receive his own virtual computer and run his own operating system of his choice on it without messing with other users (and sysadmins, most of the time).
Linux-VServer is still immature, especially it lacks proper documentation, but nevertheless it’s already very useful. Both FUSE and Linux-VServer are promising and give us a hope that a free and usable modern operating system will be available sometimes.
Leave a Reply