EVENT variables

This is a discussion on EVENT variables within the pl1 forums in Programming Languages category; What ever happened to EVENT variables and asynchronous I/O? I don't see them in the z/OS PL/I manual I have a link to, though I thought I remembered them from older PL/I versions. -- glen...

Go Back   Application Development Forum > Programming Languages > pl1

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 04-21-2008, 07:01 PM
glen herrmannsfeldt
Guest
 
Default EVENT variables

What ever happened to EVENT variables and asynchronous I/O?

I don't see them in the z/OS PL/I manual I have a link to, though I
thought I remembered them from older PL/I versions.

-- glen

Reply With Quote
  #2  
Old 04-22-2008, 11:24 AM
robin
Guest
 
Default Re: EVENT variables

"glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message
news:0bednfp3b9kLhpDVnZ2dnUVZ_tzinZ2d@comcast.com. ..
> What ever happened to EVENT variables and asynchronous I/O?
>
> I don't see them in the z/OS PL/I manual I have a link to, though I
> thought I remembered them from older PL/I versions.


Have you looked at the WAIT statement?


Reply With Quote
  #3  
Old 04-22-2008, 01:00 PM
glen herrmannsfeldt
Guest
 
Default Re: EVENT variables

robin wrote:

> "glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message
> news:0bednfp3b9kLhpDVnZ2dnUVZ_tzinZ2d@comcast.com. ..


>>What ever happened to EVENT variables and asynchronous I/O?


>>I don't see them in the z/OS PL/I manual I have a link to, though I
>>thought I remembered them from older PL/I versions.


> Have you looked at the WAIT statement?


There is WAIT, but no EVENT option on record oriented I/O statements
to do asynchronous I/O.

-- glen

Reply With Quote
  #4  
Old 04-22-2008, 07:02 PM
Peter Flass
Guest
 
Default Re: EVENT variables

glen herrmannsfeldt wrote:

> robin wrote:
>
>> "glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message
>> news:0bednfp3b9kLhpDVnZ2dnUVZ_tzinZ2d@comcast.com. ..

>
>
>>> What ever happened to EVENT variables and asynchronous I/O?

>
>
>>> I don't see them in the z/OS PL/I manual I have a link to, though I
>>> thought I remembered them from older PL/I versions.

>
>
>> Have you looked at the WAIT statement?

>
>
> There is WAIT, but no EVENT option on record oriented I/O statements
> to do asynchronous I/O.
>


Asynch I/O is an idea whose time has come and gone. Tape and DASD are
so buffered these days that it's generally pretty useless. I plan to
support it (eventually), but it will require a separate thread to do the
I/O.

Reply With Quote
  #5  
Old 04-22-2008, 11:13 PM
glen herrmannsfeldt
Guest
 
Default Re: EVENT variables

Peter Flass wrote:
(snip, I wrote)

>> There is WAIT, but no EVENT option on record oriented I/O statements
>> to do asynchronous I/O.


> Asynch I/O is an idea whose time has come and gone. Tape and DASD are
> so buffered these days that it's generally pretty useless. I plan to
> support it (eventually), but it will require a separate thread to do the
> I/O.


Still, I was surprised that IBM didn't support it anymore.

Though since that post I looked it up in the PL/I (F) manual, and
it seems that it was originally only for unbuffered or direct files.
(Though I am not so sure what they mean by unbuffered.)

-- glen

Reply With Quote
  #6  
Old 04-23-2008, 12:10 AM
John W Kennedy
Guest
 
Default Re: EVENT variables

glen herrmannsfeldt wrote:
> What ever happened to EVENT variables and asynchronous I/O?


Basically, it stopped being something you find in normal operating
systems. OS/2 included something of the sort, but it actually achieved
it by starting a slave thread.

> I don't see them in the z/OS PL/I manual I have a link to, though I
> thought I remembered them from older PL/I versions.


Yes, because the BxAM access methods of OS/360 all had parallel
constructs with DECBs and the WAIT macro. But by the 90s, the OS/360 I/O
model had become an eccentric backwater; modern operating systems
pattern their I/O on Unix.

The new compiler has also abandoned the original PL/I tasking model,
which had been perfectly hellish to implement even on OS/360, chiefly
because any number of original PL/I tasks can wait on a single EVENT,
whereas only one OS/360 task can wait on a single ECB.

--
John W. Kennedy
"The blind rulers of Logres
Nourished the land on a fallacy of rational virtue."
-- Charles Williams. "Taliessin through Logres: Prelude"
Reply With Quote
  #7  
Old 04-23-2008, 12:13 AM
John W Kennedy
Guest
 
Default Re: EVENT variables

glen herrmannsfeldt wrote:
> Peter Flass wrote:
> (snip, I wrote)
>
>>> There is WAIT, but no EVENT option on record oriented I/O statements
>>> to do asynchronous I/O.

>
>> Asynch I/O is an idea whose time has come and gone. Tape and DASD are
>> so buffered these days that it's generally pretty useless. I plan to
>> support it (eventually), but it will require a separate thread to do
>> the I/O.

>
> Still, I was surprised that IBM didn't support it anymore.
>
> Though since that post I looked it up in the PL/I (F) manual, and
> it seems that it was originally only for unbuffered or direct files.
> (Though I am not so sure what they mean by unbuffered.)


BxAM access methods, in practice, which actually construct channel
programs with the read and write CCWs addressing the space addressed by
the READ and WRITE macros. In the QxAM access methods (and in VSAM), the
I/O is done elsewhere.


--
John W. Kennedy
"The blind rulers of Logres
Nourished the land on a fallacy of rational virtue."
-- Charles Williams. "Taliessin through Logres: Prelude"
Reply With Quote
  #8  
Old 04-23-2008, 10:09 AM
glen herrmannsfeldt
Guest
 
Default Re: EVENT variables

John W Kennedy wrote:

> glen herrmannsfeldt wrote:


>> What ever happened to EVENT variables and asynchronous I/O?

(snip)

>> I don't see them in the z/OS PL/I manual I have a link to, though I
>> thought I remembered them from older PL/I versions.


> Yes, because the BxAM access methods of OS/360 all had parallel
> constructs with DECBs and the WAIT macro. But by the 90s, the OS/360 I/O
> model had become an eccentric backwater; modern operating systems
> pattern their I/O on Unix.


At least some versions of unix have asynchronous I/O. I was doing it
in SunOS not so many years ago.

For some reason, asynchronous I/O came up in a discussion on TOPS-10,
the original OS for the PDP-10. That would have been at the assembly
level, though.

-- glen

Reply With Quote
  #9  
Old 04-23-2008, 07:32 PM
Peter Flass
Guest
 
Default Re: EVENT variables

glen herrmannsfeldt wrote:
> John W Kennedy wrote:
> (snip)
>
>> BxAM access methods, in practice, which actually construct channel
>> programs with the read and write CCWs addressing the space addressed
>> by the READ and WRITE macros. In the QxAM access methods (and in
>> VSAM), the I/O is done elsewhere.

>
>
> Last I knew, STREAM I/O was done with QSAM, RECORD I/O with BSAM or
> BDAM. DIRECT files were one that had EVENT for the (F) compiler.
>


I recall coding it in the Optimizer for tape files. I wazs trying to
speed a process up, but it still benchmarked poorly compared to
assembler, so I wound up with that.

Reply With Quote
  #10  
Old 04-23-2008, 07:50 PM
robin
Guest
 
Default Re: EVENT variables

"glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message
news:lJudnZcXOICPNZPVnZ2dnUVZ_rmjnZ2d@comcast.com. ..

> Though since that post I looked it up in the PL/I (F) manual, and
> it seems that it was originally only for unbuffered or direct files.
> (Though I am not so sure what they mean by unbuffered.)


Unbuffered I/O is just that. Unbuffered.
It means that the input is direct into the input area.

When buffered I/O is used, there are two or more input areas,
and after one has been filled, the next buffer is filled while you are
processing the data in the first.

Similarly for output.


Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 04:09 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.