[Simh] Alpha simulator performance

Sergey Oboguev oboguev at yahoo.com
Fri Apr 20 21:31:13 EDT 2012


> NT is not VMS or a reimplementation of it.

Let's look at some basics in internals.

I'd rather just quote someone here, to save time typing:

=== quote begin ===
The scheduler. 
(process scheduler in VMS, thread scheduler in NT) 32 scheduling priorities, 
divided into the "real-time" (16-31) and "variable" (0-15) priority ranges. 
identical preemption at ready by higher-priority threads; identical quantum and 
priority boost implementations; identical CPU starvation avoidance mechanism to 
get out of priority inversion situations; a null thread for each CPU; etc., etc.

Memory management. 
0-7FFFFFFF is per-process, mostly user-mode-accessible only; 80000000-FFFFFFFF 
is systemwide, mostly kernel-accessible only. Functionally identical 
implementations of paging vs. swapping.

I/O. 
I could write a book, but briefly, IRPs are IRPs, UCBs are "device objects", 
CRBs are "controller objects", ADPs are "adapter objects", FDT routines are 
"dispatch routines", EXE$QIODRVPKT is IoStartPacket, StartIO routines are 
StartIO routines, fork routines are DPC routines, ASTs are APCs... etc., etc., 
etc., etc., etc.

Interrupt handling. 
32 levels of interrupts (some simulated but this is nevertheless the way the 
code is written). IPLs on VMS, IRQLs on NT. In order: Passive level, APC (AST) 
Level, Dispatch (fork) level, then the IO hardware interrupts, then some 
"hardware maintenance" functions like the hardware timer, IPI, power fail 
notification, and HIGH_LEVEL to block all interrupts. 

=== quote end ===

Could go on, but probably enough to give an initial idea.
Native API and subsystems came from Mica, I might just add.
In effect you could say Mica turned out to be a dry run for Windows 
architectural design.

As for crashes, after installing XP SP3, my old computer at work stayed up 
(unrebooted) for about 2 years and was restarted only because IT pushed hotfixes 
that required restart.
I also do not remember having any crashes in XP or later era on my home computer 
that were not related to 3rd party drivers (and those were largely gone by XP 
time too).

Earlier versions of NT may have been less stable, but they had to deal with 
diversity of supported hardware and magnitude of functionality far exceeding 
those early versions of VMS had to.

As for single-user system, it is an era of client/server computing and personal 
computing.
The era of timeshared computers is long gone.
Nevertheless Windows does provide multiple logon sessions with remote desktops.

> vms was elegant. thats something NT never had.

Cannot agree.
At user level, Windows is certainly more usable than VMS.
At API level, likewise there is no even comparison in terms of elegance.
This is not to say VMS APIs were bad at their time -- but they are APIs of their 
era.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20120420/cf525b3e/attachment-0002.html>


More information about the Simh mailing list