[ros-kernel] WinNT and VMS similarities

Wesley Parish wes.parish at paradise.net.nz
Mon Jul 5 15:54:45 CEST 2004


I just came across this article on WinNT and VMS:
Windows NT and VMS: The Rest of the Story 
http://www.winnetmag.com/Windows/Articles/ArticleID/4494/pg/2/2.html

I was just wondering if ReactOS and the various FreeVMS projects out there might
make use of the interrelationship of WinNT and VMS, to bootstrap the FreeVMS and
ReactOS projects further:

"Those similarities could fill a book. In fact, you can read sections of VAX/VMS
Internals and Data Structures (Digital Press) as an accurate description of NT
internals simply by translating VMS terms to NT terms. Table 1 lists a few VMS
terms and their NT translations. Although I won't go into detail, I will discuss
some of the major similarities and differences between Windows NT 3.1 and VMS
5.0, the last version of VMS Dave Cutler and his team might have influenced.
This discussion assumes you have some familiarity with OS concepts (for
background information about NT's architecture, see "Windows NT Architecture,
Part 1" March 1998 and "Windows NT Architecture, Part 2" April 1998)."

"TABLE 1: VMS and NT Terminology Translations
VMS Term 	NT Translation
Interrupt Priority Level (IPL) 	Interrupt Request Level (IRQL)
Asynchronous System Trap (AST) 	Asynchronous Procedure Call (APC)
Fork Procedure 	Deferred Procedure Call (DPC)
I/O Request Packet (IRP) 	I/O Request Packet (IRP)
Bug Check 	Bug Check
System Service 	System Service
sys.exe 	ntoskrnl.exe
Paged Pool 	Paged Pool
Nonpaged Pool 	Nonpaged Pool
Look aside List 	Look aside List
Section 	Section"

"TABLE 2: Significant VMS and NT Similarities
VMS 	NT
Process scheduler implements 32 priority levels split into halves	Process
scheduler implements 32 priority levels split into halves
Process scheduler never lowers a process' priority below the priority level the
application programmed	Process scheduler never lowers a process' priority below
the priority level the application programmed
Uses boosting to handle CPU hogging	Uses boosting to handle CPU hogging
Supports SMP	Supports SMP
Digital introduces kernel threads in VMS 7.0	NT 3.1 uses kernel threads
Relies heavily on memory-mapped files	Relies heavily on memory-mapped files
Uses demand-paged virtual memory for physical memory management	Uses
demand-paged virtual memory for physical memory management
Uses working sets with a clock-based replacement algorithm	Uses working sets
with a clock-based replacement algorithm
Balance Set Manager uses swapping to handle the system's memory demands	Balance
Set Manager doesn't use swapping
Supports a layered-driver model throughout the device driver stacks	Supports a
layered-driver model throughout the device driver stacks
Implements asynchronous packet-based I/O commands	Implements asynchronous
packet-based I/O commands
Represents resources as objects managed by an Object Manager	Represents
resources as objects managed by an Object Manager
Security subsystem based on objects with access control lists (ACLs)	Security
subsystem based on objects with ACLs
MONITOR	Performance Monitor
BACKUP	NT Backup"

Wel, that just about does it for worries that the ReactOS project might be
treading on Microsoft's proprietary toes  -they were firstly, borrowed toes ...
;) you can feel the pain right back to the transplant corpse ...

Just a random fluctuation of sodium levels at my synapses and along my dendrites
- what passes for thought these days! ;)

Wesley Parish

"Sharpened hands are happy hands.
"Brim the tinfall with mirthful bands" 
- A Deepness in the Sky, Vernor Vinge

"I me.  Shape middled me.  I would come out into hot!" 
I from the spicy that day was overcasked mockingly - it's a symbol of the 
other horizon. - emacs : meta x dissociated-press


More information about the Ros-kernel mailing list