Session A624 - C and S/370 Systems Programming

SHARE 72
February 26 - March 3, 1989

Pat Graham is from the compiler development group at SAS Institute Inc. They acquired Lattice a couple of years ago, and market a C compiler for S/370 systems. His presentation here talked about using C for systems programming.

Their implementation of C is the only high-level language I know of that can be used for systems programming. When you write exits and low-level code, you deal with nonstandard linkage conventions, weird environments (such as JES2 or CICS) and a host of things you are not allowed to do (open files, get storage). Indeed, some of the things I write don't run under the operating system at all! SAS has beaten this by providing you with the source to their run-time system, and you are encouraged to modify it to suit your taste. They distribute a tape of user modifications, which already support a variety of exits and environments.

(Now C is becoming rather fashionable, and there are lots of C programmers out there, but you still have to know S/370 assembly language to do systems programming in C. This cuts down on your labor pool to some extent - you can break even if the productivity improvement is sufficiently high, but I couldn't get Mr. Graham to quote any studies on the subject.)

SAS distributes a Systems Programming Environment (SPE) library which makes it a fairly straightforward task to write plain vanilla exits in C. Their builtin library does storage allocation, terminal I/O, program control and interrupt handling. They also distribute a utility that processes IBM DSECTs and generates C structures for accessing control blocks. The package looks reasonably complete.

In a weak moment I asked a marketeer for additional information. You'd think I'd learn.


Back to session index
Back to index of SHARE meetings
Read the disclaimer