Table of contents
0- Preamble
1- Access type to hard disk
2- Partitioning
a) Principle:
b) Partitions table:
3- Why saving partitions ?
4- Why a DOS program ?
This file gives some precisions on accessing hard disk, partitioning
and use of this program. Its aim is only to give these precisions (not
to give all details on subjects presented).
At BIOS level, there was two type of access to hard disk:
a) Principle:Partitioning allows installing several OSes on the same disk. Each OS has a part of the disk and manages it as it wants.
b) Partitions table:Here will be presented only the most common format (sorry for people that have others OSes, but I do not have informations neither OS to realize tests). This format is the one used notably by Microsoft, Linux, OS2, BeOS, ... (the only OS that I know that it does not support it is Solaris x86).
It appears that each OS manages its data as it want and do not know
what is made elsewhere. So if we want to save data, we have to write a
program for each OS (and we must follow OS evolution). Another way is to
cast of OS level with accessing directly to disk. Indeed, at disk level
data seems not to be organized, they are only written at a position on
disk and we do not need to know their sense. The restraint is that it is
necessary to save all data that are in relation together: the minimum level
is partition.
So when saving a partition, we save all informations without knowing
how they are organized. We are free from OS and it is even possible to
save data for which we still do not know organization method.
Remark:
Minimum set of informations in relation that does not depend off data
representation is the partition. But when saving, it must be taken in care
that some OSes could put in relation several partitions together. By example
if you install Windows on C: drive and then some others programs that modify
register base or add DLLs on D: drive, you have to save both partitions
one after other (because the two become linked).
An OS must be chosen. Indeed if we do not need to know data organization,
saved data must be written somewhere with a known organization for the
user to access them (by example to write them on a CD). Choice has been
made of DOS because it is a simple task OS. With a multi tasking OS, imagine
problems that could be caused by a process changing data on a partition
when saving (or restoring) of this partition is in progress. In general
there is a way to avoid simultaneous access, but what could happen if the
access to hard disk must be forbidden during a long time as it is the case
with this program (by example with swapping file under Windows)? And what
could happen if the OS
does not hold in full into memory?
DOS advantage is that it could be quickly installed (what is the gain
if you have to lose an hour to install OS before restoring?) and could
hold on one floppy. So with running on one floppy, it is possible to save/restore
a partition even if there was no DOS partition on a computer if this computer
is connected to a network with a Samba server on, or if it has a high capacity
saving system (like ZIP or LS120).
This is the reasons why this program could not be run under Windows
and that it is not advise to use it with an emulator running on a multi
tasking environment (moreover emulator could not define all functionalities
used into this program).