[Info-vax] Gartner report on VMS future.

Richard B. Gilbert rgilbert88 at comcast.net
Mon Sep 21 17:07:23 EDT 2009


VAXman- @SendSpamHere.ORG wrote:
> In article <g5idnS20eI-gTyrXnZ2dnUVZ_uidnZ2d at giganews.com>, "Richard B. Gilbert" <rgilbert88 at comcast.net> writes:
>> John Wallace wrote:
>>> On Sep 21, 12:35 am, "Richard B. Gilbert" <rgilber... at comcast.net>
>>> wrote:
>>>> Michael Kraemer wrote:
>>>>> ChaosLess schrieb:
>>>>>> no secrets other than tight programming, lots of hard work writing
>>>>>> code that we keep improving.  and reworking parts of the libraries as
>>>>>> technology improves on unix's for it...  how we did async programming
>>>>>> in 1990 didn't work well for async qio and ast delivery was a
>>>>>> challenge, just like stack unwinding...  reworking core components,
>>>>>> adding scalable threading, and LOTS of testsuite programs :-)
>>>>> well, ISTR people here have claimed that AST's would be impossible
>>>>> on any system other than VMS.
>>>> Well, an AST is nothing more nor less than an interrupt.  It's used for
>>>> things like announcing I/O completion.  If you do your I/O in a language
>>>> like Fortran, the I/O package handles them for you and you don't even
>>>> need to know they exist.  If you use $QIO you may wish to use ASTs.
>>>>
>>>> Other systems call it something else and implementation details will vary.
>>> ASTs and interrupts are about as similar as knives and screwdrivers.
>>> You don't really want to use one where you really wanted the other one.
>> An AST is an interrupt, delivered at a priority of ASTDEL.  I don't 
>> recall the numerical value of ASTDEL and I'm too lazy to look it up. 
>> You declare a routine in your program that will service that interrupt 
>> and your service routine is called at ASTDEL interrupt level.  See 
>> chapter seven of "VAX/VMS Internals and Data Structures" by Ruth E. 
>> Goldenburg and Lawrence J. Kenah, Digital Press, 1991.  ISTR that the 
>> VMS documentation  also discusses the subject in some detail.
> 
> IPL$_ASTDEL => 2
> 
> 
>> The AST allows your program to do something else while waiting for a 
>> $QIO I/O call to complete and with no need to loop checking the 
>> completion  status.  I used ASTs in my programs about three times in 
>> twenty years.  If you code in a high level language and use that 
>> language's I/O package, you don't usually need to deal with them at all.
> 
> What did you write?  Granted, I don't think there's much need for ASTs
> in a COBOL program doing payroll but ASTs are used quite often in real
> programs regardless of the source lingo.
> 

I was writing software for data acquisition from experiments in 
supersonic and hypersonic wind tunnels.  Also a "water channel" (like a 
wind tunnel except the fluid was water rather than air).

Most of it was coded in Fortran.  I had to write a couple of device 
drivers back in the days when that was done in Macro and the manual 
omitted one crucial point with a system crash as a consequence.  This 
was 1984 and the manual in question has long since been fixed.  The 
drivers were used to interface a A/D converter to a parallel port.

We eventually added control of stepping motors to our repertoire.



More information about the Info-vax mailing list