MVS TOOLS AND TRICKS OF THE TRADE JULY 2002 Sam Golob MVS Systems Programmer P.O. Box 906 Tallman, New York 10982 Sam Golob is a Senior Systems Programmer. He also participates in library tours and book signings with his wife, author Courtney Taylor. Sam can be contacted at sbgolob@cbttape.org. Information about the CBT MVS Tapes can be found on the web, at http://www.cbttape.org. RETRO MVS COMPUTING I'd bet that five years ago, nobody could have predicted this development. As most of the revolutionary ideas go, this one started as someone's dream. It began, it was developed, and it actually became workable. It was developed further, to the extent that (even though not many people might come out and say so) it is on the verge of making a big impact in the lives of us MVS systems programmers. This idea, which is not completely in isolation, is the FREE Linux-based S/390 instruction simulator called Hercules. Hercules has now been ported to Windows, and it can be run on your home PC. What is Hercules? Hercules is software, which simulates on a PC, S/390 instructions, MVS DASD, I/O, and Tape. Hercules has been made for hobbyists, not for commercial use, and because of licensing issues, most amateurs using Hercules, run the free, ancient MVS 3.8 operating system. However, it must be said that Hercules is capable of running all the MVS operating systems, up through z/OS. I need to emphasize that people who want to set up small MVS installations commercially, should go to the one of the several vendors who are "IBM Partners", and who sell and lease PC-type machines with the vendors' commercial S/390 instruction simulators, that are properly licensed to run the latest IBM operating system offerings. Hercules is intended for amateurs, but it is a force, and it is helping the entire MVS community, commercial or otherwise. My point in this month's column, is to show how many people's extensive efforts to develop and run "ancient MVS 3.8" under Hercules, are beginning to become a big force in helping to support "modern MVS", which is OS/390 and z/OS. We are all profiting from the Hercules development effort, as I hope I can show. As an aside, I'd like to also point out that Hercules is a great boon for MVS retirees, and for MVS people who are currently out of work, or on disability. It used to be impossible to work with MVS, unless you had a mainframe or an expensive P/390 at your disposal, and as soon as one would retire, or be laid off (hopefully temporarily), all substantial MVS work would have to stop. Now, that isn't so. Nearly everybody has a fairly modern PC at home. As we shall see, it's possible to set up a complete "turnkey MVS system" on your PC at home, in about ten or fifteen minutes, under Windows, and get onto TSO. Are you fascinated? SOUPING UP MVS 3.8 When MVS 3.8 was new, thirty years ago, all the future development and enhancement directions for MVS could not have been anticipated. But now, that new hardware (such as 3380 and 3390 disk packs and such) has been developed, the Internet is a fact of life, and lots of user-written MVS programs are on the CBT Tape and in other places, the idea is to try and bring your MVS 3.8 system "up to speed" in today's world. People are trying to make "old MVS 3.8" do as many of the "new tricks" as is possible. This effort is being undertaken by a fairly large group of people. Somebody has added 3380, 3390, and I believe 3375 support to MVS 3.8. Very substantial tape support, networking support, and disk compression support have been added to Hercules itself (regardless of the operating system being run). And already, sizable numbers of user-written MVS utilities have been retrofitted to work on MVS 3.8. The PDS 8.5 command has been given options so it can be retrofitted to work in line mode and without ISPF, at the MVS 3.8 level. Also you can look at CBT Tape Files 077, 547, and 574 for more collected utilities that work on MVS 3.8. If you want to find out more about the Hercules and MVS 3.8 improvement effort for yourself, the first starting place should be the Hercules-390 news group on www.yahoogroups.com . After that, there's the spin-off H390-MVS news group there, as well. These groups have downloadable files and programs connected to them. All serious work in the Hercules arena, should begin there. Some of the user-written MVS utilities written for MVS 3.8 are new, and they will actually also work on OS/390 and z/OS systems, so we can already see a tangible benefit from all this MVS retro-computing. However, there's another direct benefit too--it is bringing the entire MVS systems support community back to its roots. WHY STUDY MVS AS IT USED TO BE? I contend that you can't know MVS today, unless you know MVS as it used to be. This is not taught in schools--IBM doesn't seem to care whether or not MVS support people know the roots of MVS. But the fact remains that you can't know about today's MVS structures, unless you also know a lot about where they came from. I'll give you one small example, but there are many others too. Our example concerns SMP/E, the "modern way" that IBM uses to put changes and fixes on to an MVS system. SMP/E uses a strange mix of technical words, that are hard to learn, and which are found nowhere else. I contend that you can't know SMP/E, unless you are completely familiar with how the old MVS "SYSGEN" process used to work. And the MVS SYSGEN process isn't done today anymore. (But it IS necessary on MVS 3.8!) If you want to see a detailed treatment of this same topic, please get File 014 from the CBT MVS tape, and look at my old article on the fundamental root principles of SMP and SMP/E. In today's OS/390 and z/OS MVS world, you can ask: "How many of the new support people know what a SYSGEN is?" Today, IBM has built the equivalent of the old SYSGEN process into HCD, and into the JCLIN that is shipped with the canned MVS zones which come with a Service Pack delivery. Essentially, the SYSGEN structure of MVS is completely hidden from MVS sysprogs nowadays. So today's MVS system support people never get to see the system's load module structure in detail, at all. Therefore we might ask: "Without the MVS 3.8 retro-computing, would there be any way for today's sysprogs to find out about the roots of MVS SMP/E structure?" The answer is: "Probably not!" Before proceeding further, I want to state a principle, which is very important for us to understand. The idea is that MVS as an operating system, is evolutionary, and not "logical". In other words, you can only understand "today's MVS" by understanding MVS as it used to be. This sounds shocking, but it's absolutely true, and I'll show you how it works. IBM designed OS/360, the precursor of MVS, back around 1964, as a completely new operating system to run on the (then) new IBM 360 hardware. The idea at that time, was that this operating system should be highly configurable and it should serve as a "be all and end all" for large-scale industrial computing. Following that design pattern, IBM then kept developing OS/360 MVT, System/370 VS2, and MVS, using a customer-driven evolutionary process that remained largely upward compatible, so that old MVS programs would usually continue to run on the new MVS systems. Structure-wise, the MVS operating system was developed using an evolutionary process as well. Parts of the operating system would not be rewritten, unless they had to be, to fulfill a customer-driven need. Some pieces of the MVS system actually remain essentially the same today, as they were 30 years ago. Now let's get back to SMP/E. SMP/E automates the process of applying changes to an MVS system. A module is fixed, and has to be replaced within the operating system structure. How do you do it? Nowadays, it's automatic. You RECEIVE and APPLY the fix (called a PTF) into SMP/E, and it automagically gets put into the right place, provided you've used the right control cards. Understanding how this really works, however, is virtually impossible, unless you first understand how a fix used to be applied to MVS, in the "ancient days". For example, applying a PTF (a program fix) to the MVS system used to consist of fitting an object module change into a piece of the existing SYSGEN structure. This had to be done by hand, and if you had a lot of PTF changes applied to your system, it was difficult to keep track of them. There was no automated method of figuring out what modification level, your system was at. So how did all this evolve into SMP/E, which is today's way of putting on PTFs? To see this, you have to know what a SYSGEN really is. I'll explain it. In former times, IBM would ship an entire operating system as a unit, but the customer had to configure the pieces of the operating system to the I/O, hardware and software structure, according to the available hardware and software the installation had. So the customer, in reality, had to build an individually customized version of his own MVS operating system. This is the SYSGEN process. What did you do? You'd code up a file of assembler macros according to your installation's hardware and software configuration. This was called the SYSGEN Stage 1 deck. Then you'd assemble your customized Stage 1 deck against a set of SYSGEN macros that IBM shipped with the system, and this would generate a complete "build" of your own system's load module and library structure. This "system build deck" produced by assembling the Stage 1 SYSGEN deck, was called a "SYSGEN Stage 2 deck". It consisted of a series of assembly, IEBCOPY, an linkedit jobs, which had to be run on a "driving MVS system", and which would fill up all the libraries necessary for building and running your new MVS system. Unless you actually have had experience assembling and running a complete SYSGEN, it is basically impossible to understand what happens when you APPLY a PTF fix to an MVS system, using SMP/E. Yes, it is a re-assembly or a re-linkedit. But what makes these new pieces go into those old places? How does SMP/E "know"? The answer is that SMP/E uses a pattern that gets put into it, via the JCLIN. You can laboriously extract this JCLIN pattern from within the SMP/E zones, using the GENERATE process of SMP/E. But the bottom line for understanding, is that really, the SMP/E JCLIN is a SYSGEN Stage 2 deck! That's right. In fact, building a new MVS system, even with SMP/E itself, used to consist of assembling a SYSGEN Stage 2 deck and feeding that deck back into SMP/E as JCLIN. So, even if you didn't know what JCLIN was before, you know it now. However, this fact would not be "graphic" to you--you cannot understand it clearly--unless you have actually seen a real SYSGEN Stage 2 deck on your screen or on paper. Nowadays, it's almost impossible to get that information, unless you've had some experience with the SMP/E GENERATE process. But I can tell you, that everyone reading this, can now obtain their own MVS 3.8 system, run a complete SYSGEN, and see the entire process graphically. It all comes with retro-computing under Hercules, running MVS 3.8. This is one way how retro-computing can be a great teacher to the "modern generation" of MVS sysprogs. IT'S REALLY EASIER THAN THAT Perhaps I've discouraged you. Remember? I said before, that you can load a complete "already SYSGENed" MVS 3.8 system on to your PC in 10 or 15 minutes. That's right too. A man named Volker Bandke has helped us to do that. Volker has produced a cd-rom which contains his "complete Turnkey MVS 3.8 system". You can order Volker's cd-rom from the CBT Tape web site (reachable through the NaSPA web site, and also directly). Volker's cd-rom is automatically self-starting, and prompts you where to load your new MVS system on your Windows-based PC. In 10 or 15 minutes (conservatively), you're ready to get into a DOS prompt screen, start Hercules, and run MVS! You'll even get some MVS disks with many of the CBT Tape files already loaded. Volker's own web site is: http://www.bsp-gmbh.com . Just one more thing--the only other missing ingredient is a Windows TN3270 terminal emulator package for the PC. This will get your MVS console and your TSO terminals. Although there are many good Windows TN3270 packages, I would personally recommend Tom Brennan's VISTA package, which you can obtain online from www.tombrennansoftware.com . So I would say, that Hercules with MVS 3.8 retro-computing has opened up a completely new dimension in our field, and has made it possible for the new MVS sysprogs to learn many of the old tricks. All of you can now have "MVS at home", if you want it. Although it's not the current OS/390 or z/OS, with all their bells and whistles, it IS a complete MVS system, which in the long run, will greatly add to the depth of your MVS knowledge, I guarantee! Best of luck to all of you. I hope to see you next month!