Many Linux users have several operating systems installed, often necessitated by hardware setup systems that run under other operating systems, typically DOS or some flavour of Windows. A small section on how best to deal with this is therefore included here.
Leaving aside the debate on weather or not DOS qualifies as an operating system one can in general say that it has little sophistication with respect to disk operations. The more important result of this is that there can be severe difficulties in running various versions of DOS on large drives, and you are therefore strongly recommended in reading the Large Drives mini-HOWTO. One effect is that you are often better off placing DOS on low track numbers.
Having been designed for small drives it has a rather unsophisticated file system (fat
) which when used on large drives will allocate enormous block sizes. It is also prone to block fragmentation which will after a while cause excessive seeks and slow effective transfers.
One solution to this is to use a defragmentation program regularly but it is strongly recommended to back up data and verify the disk before defragmenting. All versions of DOS have chkdsk
that can do some disk checking, newer versions also have scandisk
which is somewhat better. There are many defragmentation programs available, some versions have one called defrag
. Norton Utilities have a large suite of disk tools and there are many others available too.
As always there are snags, and this particular snake in our drive paradise is called hidden files. Some vendors started to use these for copy protection schemes and would not take kindly to being moved to a different place on the drive, even if it remained in the same place in the directory structure. The result of this was that newer defragmentation programs will not touch any hidden file, which in turn reduces the effect of defragmentation.
Being a single tasking, single threading and single most other things operating system there is very little gains in using multiple drives unless you use a drive controller with built in RAID support of some kind.
There are a few utilities called join
and subst
which can do some multiple drive configuration but there is very little gains for a lot of work. Some of these commands have been removed in newer versions.
In the end there is very little you can do, but not all hope is lost. Many programs need fast, temporary storage, and the better behaved ones will look for environment variables called TMPDIR
or TEMPDIR
which you can set to point to another drive. This is often best done in autoexec.bat
.
SET TMPDIR=E:/TMP SET TEMPDIR=E:/TEMP
Not only will this possibly gain you some speed but also it can reduce fragmentation.
There have been reports about difficulties in removing multiple primary partitions using the fdisk
program that comes with DOS. Should this happen you can instead use a Linux rescue disk with Linux fdisk
to repair the system.
Don't forget there are other alternatives to DOS, the most well known being DR-DOS from Caldera. This is a direct descendant from DR-DOS from Digital Research. It offers many features not found in the more common DOS, such as multi tasking and long filenames.
Another alternative which also is free is Free DOS which is a project under development. A number of free utilities are also available.
Most of the above points are valid for Windows too, with the exception of Windows95 which apparently has better disk handling, which will get better performance out of SCSI drives.
A useful thing is the introduction of long filenames, to read these from Linux you will need the vfat
file system for mounting these partitions.
Disk fragmentation is still a problem. Some of this can be avoided by doing a defragmentation immediately before and immediately after installing large programs or systems. I use this scheme at work and have found it to work quite well. Purging unused files and emptying the waste basket first can improve defragmentation further.
Windows also use swap drives, redirecting this to another drive can give you some performance gains. There are several mini-HOWTOs telling you how best to share swap space between various operating systems.
The trick of setting TEMPDIR
can still be used but not all programs will honour this setting. Some do, though. To get a good overview of the settings in the control files you can run sysedit
which will open a number of files for editing, one of which is the autoexec
file where you can add the TEMPDIR
settings.
Much of the temporary files are located in the /windows/temp
directory and changing this is more tricky. To achieve this you can use regedit
which is rather powerful and quite capable of rendering your system in a state you will not enjoy, or more precisely, in a state much less enjoyable than windows in general. Registry database error is a message that means seriously bad news. Also you will see that many programs have their own private temporary directories scattered around the system.
Setting the swap file to a separate partition is a better idea and much less risky. Keep in mind that this partition cannot be used for anything else, even if there should appear to be space left there.
It is now possible to read ext2fs
partitions from Windows, either by mounting the partition using FSDEXT2 or by using a file explorer like tool called Explore2fs.
The only special note here is that you can get a file system driver for OS/2 that can read an ext2fs
partition.
This is a more serious system featuring most buzzwords known to marketing. It is well worth noting that it features software striping and other more sophisticated setups. Check out the drive manager in the control panel. I do not have easy access to NT, more details on this can take a bit of time.
One important snag was recently reported by acahalan at cs.uml.edu : (reformatted from a Usenet News posting)
NT DiskManager has a serious bug that can corrupt your disk when you have several (more than one?) extended partitions. Microsoft provides an emergency fix program at their web site. See the knowledge base for more. (This affects Linux users, because Linux users have extra partitions)
You can now read ext2fs
partitions from NT using Explore2fs.
There is a little bit of confusion in this area between Sun OS vs. Solaris. Strictly speaking Solaris is just Sun OS 5.x packaged with Openwindows and a few other things. If you run Solaris, just type uname -a
to see your version. Parts of the reason for this confusion is that Sun Microsystems used to use an OS from the BSD family, albeight with a few bits and pieces from elsewhere as well as things made by themselves. This was the situation up to Sun OS 4.x.y when they did a "strategic roadmap decision" and decided to switch over to the official Unix, System V, Release 4 (aka SVR5), and Sun OS 5 was created. This made a lot of people unhappy. Also this was bundled with other things and marketed under the name Solaris, which currently stands at release 7 which just recently replaced version 2.6 as the latest and greatest. In spite of the large jump in version number this is actually a minor technical upgrade but a giant leap for marketing.
This is quite familiar to most Linux users. The last release is 4.1.4 plus various patches. Note however that the file system structure is quite different and does not conform to FSSTND so any planning must be based on the traditional structure. You can get some information by the man page on this: man hier
. This is, like most man pages, rather brief but should give you a good start. If you are still confused by the structure it will at least be at a higher level.
This comes with a snazzy installation system that runs under Openwindows, it will help you in partitioning and formatting the drives before installing the system from CD-ROM. It will also fail if your drive setup is too far out, and as it takes a complete installation run from a full CD-ROM in a 1x only drive this failure will dawn on you after too long time. That is the experience we had where I used to work. Instead we installed everything onto one drive and then moved directories across.
The default settings are sensible for most things, yet there remains a little oddity: swap drives. Even though the official manual recommends multiple swap drives (which are used in a similar fashion as on Linux) the default is to use only a single drive. It is recommended to change this as soon as possible.
Sun OS 5 offers also a file system especially designed for temporary files, tmpfs
. It offers significant speed improvements over ufs
but does not survive rebooting.
The only comment so far is: beware! Under Solaris 2.0 it seem that creating too big files in /tmp
can cause an out of swap space kernel panic trap. As the evidence of what has happened is as lost as any data on a RAMdisk after powering down it can be hard to find out what has happened. What is worse, it seems that user space processes can cause this kernel panic and unless this problem is taken care of it is best not to use tmpfs
in potentially hostile environments.
Also see the notes on tmpfs.
Trivia: There is a movie also called Solaris, a science fiction movie that is very, very long, slow and incomprehensible. This was often pointed out at the time Solaris (the OS) appeared...
This operating system is one of the more recent one to arrive and it features a file system that has some database like features.
There is a BFS file system driver being developed for Linux and is available in alpha stage. For more information check the Linux BFS page where patches also are available.