MVS TOOLS AND TRICKS OF THE TRADE OCTOBER 2000 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. This column is dedicated to the memory of my dear friend Paul G. Davis, who taught me how to write Edit Macros. RUNNING MVS ON A PC. This month's topic is in a rapidly developing area, and I cannot consider myself as being thoroughly informed about what has been happening. Nevetheless, the ideas of running a mainframe operating system and/or mainframe-like software on a PC are so intriguing, that they are well worth reporting on. Developments have been springing up in several areas, and I'd like to provide at least part of a general overview. I'll differ a bit this month from my usual format of describing specific tools or tricks, with an emphasis on free software products that you can install and use right away. Although some of the products I'll describe are free, there simply isn't enough space to both give an overview of these exciting developments, and to mention a lot of specifics, too. Let's begin our discussion with some history. The MVS Operating System (the major portion of OS/390) has traditionally been run on multi-million-dollar "giant" computers, which are owned or leased by large companies. The primary purpose of these computers has been to run the business end of a big company's operation. Not so many years ago, small companies developing software that runs under MVS, whether it be system or application software, used to spend large monthly outlays renting computer time from one, or several, such big companies. Many of the smaller software development companies simply couldn't afford to buy an MVS-capable computer on their own. The situation changed drastically with the advent of the P/390 MVS-capable personal computer from IBM. Under very favorable terms from IBM, and using a table-top-sized P/390 setup that could approach 10 mips in CPU-power, small software companies and even individuals, could now keep an MVS machine in their offices, houses, or even apartments. IBM encouraged the efforts of these companies through their Software Developer Program. And in my opinion, the public has benefited enormously over the past few years, from MVS software that was developed on these machines. As of this writing, I'm a bit worried about the future. Because of new hardware requirements for future versions of OS/390, starting with Release 11, it's not clear at this time (at least to me) whether those and later versions of OS/390 will run on P/390 type machines. I have heard that IBM is addressing the problem, and we're all anxiously awaiting the results of their decisions. Meanwhile, efforts have led to progress in other directions, notably the idea of running IBM "big iron" operating systems on a personal computer which emulates the mainframe hardware using software. Fast CPUs for the PC, and the availability of humongous amounts of DASD (disk drive) space very cheaply, have spurred these efforts on. Today we'll discuss these developments. I think this situation will start a groundswell of curiosity, which will lead to interest, and which will lead to a lot of action on the part of many people. I certainly hope that the current atmosphere will engender a big growth in the need for people possessing MVS systems programming skills. FLEX-ES The software vendor Fundamental Software Inc. has been, for the past 10 years, quietly working on an idea whose time is about to come. Their product, called FLEX-ES, runs on a UNIX server and emulates an S/390 machine using software. FLEX-ES supports multi-processing. Using FLEX-ES, you can run the IBM large scale operating systems OS/390, VM/ESA, and VSE/ESA as though on a plug-compatible mainframe computer. Besides plug-compatibility with physical mainframes, the FLEX-ES arrangement offers other advantages that are not as easily attainable with "real hardware". I once knew of a company which owned a computer that couldn't run MVS/ESA. The highest level operating system that this computer could run, was MVS/XA. While I was not privy to the financial reasons why this company could not upgrade its machine (and even if I were, I wouldn't write about them here), the fact remains that the company was frozen into running MVS/XA for many years past its time, until Y2K delivered the coup de grace. This situation would not have occurred, if the hardware were emulated by software. In order to run more new machine instructions in a FLEX-ES environment, all you'd need is a software upgrade on your existing UNIX server, not a hardware upgrade. This would be far easier to accomplish and to budget, than to change the entire machine. It would also be easier on CPU-based software licenses. What about peripherals? FLEX-ES supports emulated old and new CKD and FBA DASD types, emulated printers, emulated terminals, emulated TCP/IP network controllers, and emulated 3420 and 3480 tapes. These tapes can actually be much longer than the traditional reel and cartridge tapes, because they are physically supported on devices with much higher data capacity than an ordinary tape had. In addition, FLEX-ES offers its FLEX-ES parallel channel adapter which allows the attachment of traditional mainframe tape drives, printers, and communications controllers. Since FLEX-ES runs on a UNIX server, you also can create novel combinations and connections between the S/390 activities and native UNIX. There remains the question of throughput, and for answers to this, I'd suggest that you consult Fundamental Software, through its website: www.funsoft.com . For costs and capacity questions, I also have to refer you to them. It's up to your installation to determine if this approach is financially feasible. But the idea and flexibility of running MVS or OS/390 under hardware emulation, having full commercial vendor support, and especially for a shop that isn't a giant company, is so intriguing that it deserves a very thorough look. HERCULES I've got hope for retired or not-currently-employed MVS sysprogs, for MVS'ers who've been forcibly ported to supporting UNIX machines, and for others of us who, for some strange reason, want to do mainframe computing at home. Now, there's actually a way. It's a free product called Hercules, which was specifically designed for non-commercial use, and which emulates S/390 hardware on a PC. Hercules was invented by Roger Bowler, who has been nurturing a decades-long passion for having a mainframe in his house. Roger told me that implementing his wish had to wait, until PC CPUs became fast enough so that a C-language version of mainframe hardware emulation became practical. Roger developed Hercules until it actually started working well, and he's now turned the everyday proprietorship over to Jay Maynard. You can subscribe to the Hercules-390 mailing list (see Figure 1) to find out more about what's happening. Hercules was written in C, to run under Linux. This, and the fact that C-language runs on multiple platforms, allows Hercules to be run on most computers that can be found in a person's house. Just a bit more than a week before this writing, a Windows 95/98 port of Hercules was announced, and the initial reports have indicated that Hercules' performance under Windows is comparable to its performance under Linux. I'm starting to get goosebumps, imagining that soon I might be running a mainframe operating system in my house. But there are licensing issues. Although it is currently technically possible to run OS/390 Release 2.9 under Hercules, you have to have a license for OS/390 from IBM, and from my limited understanding, that isn't cheap at this time. Many people are actually opting for running OS/360 (that's right - MVT)! Yes, MVT (OS/360 Release 21.8) is free. And people are "hiking out" their old OS/360 sysgen manuals from moldy basements and sharing them with other people. How is OS/360 publicly available? We have to thank Rick Fochtman, who asked me to announce five years ago, in the CBT Tape documentation, his request for a copy of the old OS/360 source and sysgen tapes. One day, on the IBM-MAIN mailing list, Glen Herrmansfeldt mentioned that he had an OS/360 source tape, and the ball started rolling. Jim Marshall had saved a whole load of OS/360 materials on tape, together with a full set of microfiche. Jim sent copies of his OS/360 tapes to Rick Fochtman, together with all of his microfiche, and Rick produced a practically complete set of source and machine-readable OS/360 code on cd-rom. The rest is history. Under Hercules, DASD and tape are emulated by PC disk files, and it's also possible to attach SCSI peripherals. Of course, it depends on what operating system you're running. Under OS/360, the most recent DASD type is a 3330. On OS/390, you can emulate 3390's of all types. You can run all kinds of standalone utilities under Hercules, even if you're not running a complete operating system. Jan Jaeger has written a standalone editor, called ZZSA, which can be found on File 437 of the CBT MVS Utilities Tape collection. ZZSA is very useful under Hercules, especially when setting it up. If you're running OS/390, you can run Standalone DF/DSS dump-restore, Standalone FDR dump-restore, and other similar software. Your MVS systems programming skills will be highly exercised when you set up a Hercules system, because you're configuring a complete MVS (or MVT) running system in a similar manner to the way you set up a small "Rescue System". It's fun. I'm looking forward. TACHYON and DIGNUS. Even without hardware emulation, there are two products that allow you to develop mainframe Assembler and C-Language code on an ordinary PC. The first is the Tachyon 390 Cross Assembler, which produces mainframe-executable code and Assembler listings fully compatible with the IBM High Level Assembler, while running completely on the PC. The second is the Dignus Systems/C compiler, which compiles C-language source code, and which produces Assembler Language code as output. If you're restricted to the PC only, you can compile your C code on the Dignus compiler, and assemble the output with the Tachyon 390 Cross Assembler. David Bond, who produces the Tachyon 390 Cross Assembler, tries to keep it as completely compatible with IBM's HLASM as possible. In my own use of the Tachyon assembler, I've always gotten completely compatible or exactly identical results, although I suppose it's possible that others may hit some more borderline cases. The Tachyon User Manual describes compatibilities in detail. But the wonder is that it all happens on the PC, and that it's so very good! David Bond also produces the Tachyon Operating System and the Tachyon File Tools. The Tachyon Operating System eliminates the need for an OS/390 emulator altogether, as it allows you to run and debug S/390 programs directly on the PC, and it also simulates many OS/390 system services and SVCs, besides simulating the OS/390 instructions. The Tachyon File Tools are also of much interest, because they include facilities to both interpret and produce TSO XMIT-format files on the PC. The Tachyon File Tools can be licensed separately from the Tachyon Assembler, and when licensed by themselves, are quite inexpensive. Dave Rivers, who produces the Systems/C C-language compiler, has written compilers practically all of his working life, besides having considerable mainframe and C-language experience. Dave Rivers certainly knows what he's doing. Both Dave Rivers and David Bond are supporters of each other's work. Systems/C has versions which run both on the mainframe and on the PC. So if you're coding for the mainframe, and working on a PC, you can use these products very productively. Both products are not free, and I'd recommend that you consult their respective web sites for further information about them. I do know that we can expect a new version of the Tachyon 390 Cross Assembler, to correspond with HLASM Release 4 for OS/390 2.10. So you've seen a glimpse of some very exciting developments in this age of expanding computer hardware and software technology. For mainframe systems programmers, we may be witness to the beginning of a new Golden Age. Imagine a time when an MVS-trained sysprog won't have to be tied to a multi-million-dollar company. It amazes us to think of the potential possibilities! With that in mind, I wish you all the best of luck, and I hope to see you again next month. * * * * * * * * * * * * * * * * * * * * * * * Figure 1. Some URL's for Relevant Internet Sites Fundamental Software Inc. - FLEX-ES - www.funsoft.com Tachyon Software - Tachyon 390 Cross Assembler Tachyon Operating System Tachyon File Tools - www.tachyonsoft.com Dignus Systems/C Compiler - www.dignus.com Hercules-390 Mailing List - To post messages: hercules-390@onelist.com To subscribe: hercules-390-subscribe@onelist.com IBM-MAIN Mailing List - To post messages: IBM-MAIN@bama.ua.edu To subscribe: listserv@bama.ua.edu