[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