Operating System - OpenVMS
1752796 Members
5681 Online
108789 Solutions
New Discussion юеВ

Re: Writing to disk using SYS$QIO

 
Hoff
Honored Contributor

Re: Writing to disk using SYS$QIO

I've posted up some RMS wrappers for C programmers previously, FWIW. Full source code with BSD-style licensing.

These days, RMS is further down my list of options and tools and I tend to go to something such as SQLite or MySQL or PostgreSQL or toward higher-level such as the C language APIs (or the above-mentioned wrappers); I do still use RMS for some applications, but I tend to go toward more portable and/or more modular I/O interfaces if and when the application allows that.

Younger programmers and experienced Windows and Unix programmers just don't know RMS. (I'm not going to argue that observation in any direction.) They do tend to know from block I/O and database I/O and language I/O.

But I'm not going to quibble with other preferences here, either.
Oswald Knoppers_1
Valued Contributor

Re: Writing to disk using SYS$QIO

"
Background: I'm a maintenance engineer for a legacy Fortran system that requires real-time response with a very high data volume. The tape drives are being decommissioned, so everything previously written to tape has to go to disk. SYS$QIO was the most obvious solution since that's what was used to write to tape.
"

Maybe you can use the LM driver here. This allows you to create a virtual tape unit on a disk file. No changes in your code required that way.

Oswald
Robert Gezelter
Honored Contributor

Re: Writing to disk using SYS$QIO

Mike,

>Another very fast asynch I/O method is to map the (preallocated)
>file using $CRMPSC and use $UPDSEC to queue the writes.

Indeed. However, one must be exercise caution. If all of the activity fits within the process' working set (or can be locked in physical memory), it is VERY fast. If actual paging of any kind takes place, the performance can experience "fits and starts" as page faulting occurs.

- Bob Gezelter, http://www.rlgsc.com

Jur van der Burg
Respected Contributor

Re: Writing to disk using SYS$QIO

>Maybe you can use the LM driver here. This allows you to create a virtual tape unit on a disk file. No changes in your code required that way.

Well, there's no such thing as LM driver. Technically it's LDdriver connected as device LM. V9.0 supports this, more info can be found on my website: http://www.digiater.nl/lddriver

Btw. I'm currenyly working on V9.2, due to be out in a couple of weeks. It will have variable (dynamic) container size support.

Fwiw,

Jur.