Re: swap space: an idea. Please comment.

Richard B. Johnson (
Sun, 23 Feb 1997 21:17:35 -0500 (EST)

On Sun, 23 Feb 1997, James W. Laferriere wrote:

> On Sun, 23 Feb 1997, Riccardo Facchetti wrote:

> >
> > We was talking about VAX and VMS. At some point he said something like
> > that VMS is a strong OS. That never crash and never fails in giving
> > resources to processes that ask for them.
> Riccardo, Oh-Yes VMS can crash. But it is really well known
> for just slowing to a -stop- because some system-mangler hasn't
> performed -any- system tuning.

VAX/VMS has a great deal of stability. It mostly comes from the fact
that anything a user is allowed to do is predefined via priviledge and
quota. There is not just a quota on file-system usage, but also the
amount of virtual RAM a process can obtain, the amount of CPU time that
a process can use (in micro-fortnights!!!), etc. When system resources
are being exceeded by the processes quota, the system does NOT KILL the
process. It simply suspends the process until the system resources are
available. It is nice if the resources ever become available. But.....
sometimes the resources will never become available... Some priviledged
process dismounted a CDROM that the user was using, etc. In this case
all hell can break out.

The system manager (similar to "root" in Unix) SHOULD set up sufficient
resources in the system authorization file (SYS$SYSTEM:SYSUAF.DAT).
The utility SYS$SYSTEM:AUTHORIZE.EXE is used to do this. There are
zillions of entries that can be made to control the system usage on
a per-user basis. SYS$SYSTEM:SYSGEN.EXE is used to control the system
usage on a per-process basis, i.e., how much RAM is allocated to buffers,
How much Virtual memory is allocated to tasks, the size of page files, etc.

Another thing that makes the system robust is that it has both swap files
and page files. When a task calls SYS$HIBER (like sleep) after scheduling
a wake-up call, if the time to the wake-up call is anything more than
the total overhead necessary to swap the task, the entire task's virtual
address space is written to the swap file. This frees ALL the task's
memory resources.

The page file is used much like Unix's page file, but there are differences.
One of the differences is the "modified page-writer". It is not necessary
to page out something that has not yet been accessed. Because VAX/VMS was
developed in the days of VERY SLOW Disk I/O., much care went into
trying to avoid actually having to read or write to these files.

VAX/VMS is really quite nice if you have 200 users working at the same
time on the machine (the olden days). Now we have individual work-stations
and access a central file-server. We get to use the whole machine. This
increased availability also lets up blow up the whole machine also ;)

I have three old VAXen running as file-servers. They have to be rebooted
at least once a year because the system time is the BOOTTIME plus
the current hardware timer-tick. It warps after slightly over a year.
Otherwise ther truly never crash. Also virtual memory never gets
fragmented. Built into the modified page-writer is "garbage collection".

Dick Johnson
Richard B. Johnson
Project Engineer
Analogic Corporation
Voice : (508) 977-3000 ext. 3754
Fax : (508) 532-6097
Modem : (508) 977-6870
Ftp :
Email :,
Penguin : Linux version 2.1.26 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.