FreeVMS

From: Sean 'Captain Napalm' Conner <spc_at_conman.org>
Date: Fri Jan 4 12:21:35 2002

It was thus said that the Great Bill Pechter once stated:
>
> > The actual idea was to create or assist with the creation of a completely
> > "free" (GNU?) implementation of VMS that "looks and feels" just like the
> > original.
> >
> > The next step was to port this version of FreeVMS to i386, VAX, and AXP.
> >
> > I've seen a few projects that have started or have stopped that attempt to
> > achieve similar goals.
>
> The problem is VMS uses 4 separate CPU modes, besides the Unix kernel
> and user modes which makes it difficult if not impossible to get
> it right on x86.

  What do you mean by that? The 286 and above have four levels of
protection, from ring 0 (all instructions available, all resources visible)
to ring 3 (only common registers and instructions available, no (or very
limited) resources visible). Most Unix systems for the 386 and above use 0
for kernel, 3 for user and don't bother to use the other two levels. OS/2
may have used the other rings though (it's been over 10 years since I've
used OS/2).

  Then there are the operating modes supported on the 286 and above: real
mode (which looks like a very fast 8086) and protected mode. The 386 and
above also have a virtual 8086 mode, which allows you to run real mode code
under a protected OS---the real mode is virtualized (to an extent, I don't
think it's pure vitualizasion like you can get on the IBM 360 line). There
is an undocumented mode---real-32 bit (where the CPU is in 32-bit mode, but
not running protected) but that's a hack and is probably not recomended.

  The 386 also has a paging system (in addition to a segmentation system but
I'm not going into the details of that) so I don't see why VMS couldn't run
on the 386. I do know that the VAX architecture had four address spaces
(P0, P1, System, unused) and that can be simulated.

  -spc (I think you are talking about kernel, executive, supervisor and
        user, which map quite well to rings 0 to 3 on the 386)
Received on Fri Jan 04 2002 - 12:21:35 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:34:52 BST