[Info-vax] The VMS terminal driver ( was: DCL and scripting)
Robert A. Brooks
FIRST.LAST at vmssoftware.com
Wed Dec 12 15:51:02 EST 2018
On 12/12/2018 1:41 PM, Simon Clubley wrote:
> I've never seen the VMS source code so I don't know the answer to
> this, but is the terminal driver line editing code unmaintainable
> because someone tried to be "clever" when writing the code and hence
> caused maintainence problems later on when changes were required,
> or was it simply that someone tried to fit something into the kernel
> that should never have been placed in the kernel in the first place ?
The terminal driver was the first to be written in the separated
"class" and "port" driver model, where the higher layer protocols
are in the class driver, and the port drivers contain hardware-specific
stuff. This was back in the VAX days, where you had an array of terminal
muxes with varying hardware support control needs. That separation was an
attempt at making the class driver a bit more maintainable. This model has been
followed with other driver pairs, most notably the SCSI class driver DKDRIVER
and the various SCSI and fibre channel port drivers below it.
The terminal class driver is written in MACRO-32, and is a bit of a mess.
I would think that t gives the host-based shadowing driver a run for its money
in terms of driving the Macro compiler nuts, although I've not heard Reagan
complain about it, and he's quite capable of complaining about stuff.
We are making some changes to the terminal class driver for X86, although those
changes are specific to the changes imposed by the X86 memory management model
that impact I/O.
For those keeping score at home, there is no SVAPTE on X86, which is keeping
our driver maintainers quite busy.
--
-- Rob
More information about the Info-vax
mailing list