[Info-vax] VMS Features I Wish Linux Had
Johnny Billquist
bqt at softjar.se
Fri Jun 10 11:04:52 EDT 2016
On 2016-06-10 15:17, John E. Malmberg wrote:
> On 6/9/2016 10:37 PM, lawrencedo99 at gmail.com wrote:
>>
>> The other one is the terminal driver. My first impression of Unix
>> was what a crap terminal driver it had, that echoes everything as
>> soon as it’s typed. Seems like no other system has seen fit to
>> emulate the thoughtful VMS feature of not echoing anything until
>> it is actually being recognized as input to a program.
>
> Which can let text not intended to be echoed like passwords leak to the
> terminal output.
Right. The Unix terminal handling is primitive. But it's something done
by many systems, and it sure makes life easier on that side. But I agree
that the VMS (and RSX) way is superior in my mind.
>> And of course note the versatility of IO$_READPROMPT--you could do
>> all your terminal I/O with just this one call!
>
> The terminal driver design and much of the VMS I/O design makes it easy
> to offload I/O processing to additional systems.
>
> Which means that the IO$_READPROMPT processing could in theory be
> entirely handled by a terminal server or local CPU on the serial interface.
>
> This is something that could be used with future paravirtualized drivers
> for emulators and VMs to improve performance.
This is tricky. This means you are getting into more or less RPC calls
to do I/O, which then needs to confer a lot of extra information on how
the action should really be handled, not to mention line editing and
recollecting old input, which also comes into play... I think I would
not want to go there...
>> Many interactive utilities on Linux use a library called GNU
>> Readline. This gives you an interactive prompt with command-line
>> editing, persistent searchable history and so on. But it cannot
>> automatically refresh the current line if anything (like output
>> from another process) should overwrite it--you have to manually
>> trigger that yourself.
>
> One issue with the VMS terminal line editing is because it is handled in
> the driver, it does not have access to the filesystem to allow it to do
> filename completion.
Well, one does not exclude the other.
The RSX terminal driver have hooks, which I have used to implement line
editing there as well. However, it can call out to a process to do
filename completion as well, so I get it all. I would be surprised if a
solution was not possible in VMS as well, if you really wanted to.
Johnny
More information about the Info-vax
mailing list