• Quick note - the problem with Youtube videos not embedding on the forum appears to have been fixed, thanks to ZiprHead. If you do still see problems let me know.

Operatings Systems: reminiscences

Memory protection between different processes. You can always destroy your own process, but not other peoples.

If transaction isolation and such is activated. At a certain bank I worked at the most common reason for CICS transaction abends was storage overlays. LE (the runtime environment for IBM's languages) marks storage begin and end with keys and I'd see them overwritten all the time. There were a number of reasons - the infrastructure code that helped applications with security and other stuff wasn't written in a way that supported it, programmers were badly trained as the internal training was shockingly bad, and bad culture in a lot of teams.
 
The less said about CICS the better. When I started working with it, the whole application was one single task. As lean and mean went, it was good, but the whole Macro version was riddled with bugs. Still, to run 1000 users on a CPU that was as powerful as an old PC was quite an achievement.


I remeber that before they rewrote it, IBM tried make it a 'high availability' application that had a standby instance that would take over when the first one crashed. The word quickly got around that this only made things worse and few people used it.



IBM went and rewrote it because people didn't like IMS either and apparently it functioned a lot better then.
 
Not a description of CICS I recognize at all. I was a CICS sysprog from 1984 (1.6.1) to 1992 when I moved because I was so bored with no problems to work on and having automated most of what was left. That was the CICS network supporting IBM's RETAIN problem database and a bunch of others with office and other stuff. The fiasco of one level set PTF (UL51533) was a very nice earner for me and got me moving to actually test CICS where it was written as they recognized they had a problem with QA.
The rewrite was partly because they had so much technical debt in the code, maintenance programmers got crap reward because they "didn't contribute" and stats showed as a consequence that patched code was 20 times more likely to have a bug. By the time I left (1999) test programmers had parallel careers to CICS and MQ developers and there was IIRC 3 times as much code to test CICS and MQ as there was code in the products.
XRF never really took off as TOR/AOR routing took care of most of the issues. It was really only a solution if you had a single CICS image which not meany did. I think the only one I had was for a geriatric office product called ATMS which was used to produce management news letter so SLAs were pretty lax.
IMS - I worked on the first sysplex and IMS couldn't take part and sent an observer. She told me that for 20 years IMS strategy was to keep their top 10 customers happy and ignore the rest. They even refused to let anyone talk about the internal add-ons. One in particular customers not in the top 10 were screaming for was a replacement for having to pre-define every terminal in an IMSgen. Just about all internal to IBM IMS sites used an autoinstall add-on from a team in Portsmouth. IMS didn't want customers to know about it, even specialist SEs usually hadn't heard. We wrote our own for CICS after reading an article in Xenon (?) magazine saying how it might be done.
 
The IBM mainframe I worked on in 1980/81 used CICS, also OS/VS1 and TONE. I remember nothing more about them than the names. :)
 
Last edited:
For those with a bit more experience in CICS, what was its security model like, if it even had one? As a mere programmer I once brought production CICS down with an errant CEMT command, partly because I didn't exepect I should be able to.
 
So, who can come up with (probably-)useless stuff from the Olden Days?
I'll start with saying I can still remember that IBM 3330 disk drives ("DASD") had a track-size of 13,030 bytes (it was not fixed-length 512 byte blocks as nowadays), which you needed to know in order to get the maximum usage for whichever datasets (files) you were creating (e.g. for card-image files, 12,960 was the optimal blocksize). The IBM 3330 had a capacity of 100 Mbytes. Similarly, the larger IBM 3350 had a track-size of 19,069 and a capacity of 317 Mbytes.

I remember the DASD, my dad has a disc on his wall singed by all the FSEs he managed when he retired.

I remember the mainframe with the water cooled modules, I was a tech supplement pulling cables under the raised floors at the time. One of the new things then was "Evergreen" which I think was a data addressing bus controller.

I was working at the building one site installing engineering changes on the pneumatic tape drives when i accidentally switched the wrong one to "Off Line". Don't know how much of the system i brought down but no one was going to let me live that down anytime soon.
 
My college had an IBM mainframe. In our programming classes we were supposed to use a machine to create punch cards then read the punch cards onto 12" floppies that we submitted to be executed. What most of us actually did was use the key-to-disc machine and skip the punch cards. Then we would turn in the floppy disk and wait three days to get back a printout showing that the JCL was incorrect.

I had a Trash-80 at home and was accustomed to entering and running (and debugging) a program interactively. So, I ended up only taking one programming class at that school. When I transferred to a four-year school for the last two years of college, my advisor asked if I had taken Fortran. I replied that I knew Fortran. He asked if I had taken Cobol so I said that I know Cobol. So, I ended up being able to skip the basic language courses which was good.

The four-year school also used an IBM mainframe, but we could access it remotely from a room full of CRT terminals. I enjoyed assembly language programming on the 360 because the op code mnemonics were very similar to the ones used by the 1802 processor in my first computer. But, I never developed a fondness for JCL.
 
Last edited:
<Whole post snipped, because reasons>.

Could someone PLEASE squash a_u_p's avatar for me? It's driving me buggy! I keep thinking I've got real ants (Monomorium minimum) on my screen again. Yes, again.

Here is at least a semi-complete list of all the operating systems I've encountered:
Whatever was on the only computer on campus in 1966.
Scientific Data Systems IBM clone, on which I learned that if you expect the keypunch operator to key in "PRINT", be sure to put serifs on the I or you'll get "PR1NT" and it won't work and will be hard to figure out. I once managed to use up a full five minutes of core time on it.
Commodore 64.
Commodore 128. Three, count'em, three OS's: C64, C128, and CP/M!
MS-DOS 2.1. (Stolen)
MS-DOS 3, 4, 5, 6. Some may have been legit.
Windows 3.x. Probably legit.
Some version or other of Unix, where everything had to be lower case and the backspace key crashed whatever you were running; but the actual app involved required everything to be UPPER CASE and the backspace key worked properly.
VAX/VMS some version or other. Stolen, but it wasn't me who stole it.
Whatever IBM mainframe system they ran early CATIA on.
Windows 95, 98, 2000, XP, 7, and 10, but never ME, 8, or Vista.
 
I used OS/2 Warp for a while and rather liked it. Then an update went awry (I didn't have have enough hard disc storage to do a proper backup.) The system was left in an unstable state where part of it thought there were updates that needed to be applied but the update process insisted they had already been applied. If I recall correctly, after that I ran Windows for a while before switching to Linux.
 
I didn't have a lot of contact with it, but from what I gathered, OS/2 Warp was actually pretty good. However, at the time, it just couldn't compete with Windows NT.
 
For those with a bit more experience in CICS, what was its security model like, if it even had one? As a mere programmer I once brought production CICS down with an errant CEMT command, partly because I didn't exepect I should be able to.

Out the box it was open so you had to secure it. It's biggest failing prior to the rewrite was that the signon program was interruptable so you could hit PA1 etc and break out. This was until they built the signon API. There are a whole series of RACF (security product) classes for securing CICS resources and a whole manual on the subject. I wrote 2 chapters of it.

But yeah, any half competent person installing CICS should at least secure CEMT and other transactions.
 
OS/2 warp was brilliant. I ran it at home and obviously at work. NT was appalling in comparison. Technically. IBM completely screwed up getting other companies on board - not sure why. Who needs Wordperfect when you can have Lotus? Well anyone who used Wordperfect. Great tool from what I heard. The OS/2 product owner fought to stop games being developed for "his" OS according to Brad Wardell at the time (Stardock software). There were rumours of sales wanting it dead as when combined with MCA PS/2s it was super reliable and could replace more expensive boxes back when IBM sales were obsessed with boxes. I know a guy who replaced a complex and expensive Tandem setup in a bank with a couple of PS/2s routing work via CICS OS/2.
I really miss file association, it was so simple to tie a program to a filetype via its extended attributes. Anyone who's installed notepad++ on a recent windows should know how bizarre MS has got there.
A little later I ran an NT cluster with NT 3.5.1 and it sucked in comparison. It wasn't until NT 4 (iirc) that it became solid.

In case anyone wonders whether I'm BSing. I started 1984 with IBM UK as a CICS sysprog. Got interested in early OS/2 with CICS OS/2 as we had a couple of areas interested. Moved to IBM Hursley lab in 1992 to test CICS, got pulled onto MQ test as I had some skills they needed and was exposed to the rest of the MQ product line. Got pulled into supporting Boole and Babbage in the US as they developed CICSPlex Systems Manager. Then into CICS Systems Manager for AIX as I knew CICS and unix and stuff so ran a unix lab. That team became the dev team for what became Websphere's managed object factory and I had an NT cell of about 20 servers running NT 3.5.1. At the end of the first dev cycle we all walked and I went back to MQ getting the mainframe and unix teams to work together. I think that was a bit after the mainframe os became POSIX compliant. That was across 15 years. Hursley encouraged what they called "technical vitality" and allowed you to explore and play and learn.

eta : OS/2 did have another technical problem - a single queue that could get clogged up by a misbehaving application, details fuzzy now.
 
Last edited:
I remember QEdit very well, and I also used Wordstar on CP/M. In Wordstar I used Ctrl-A as a shift key, because my Apple II+ didn't have one. Maybe that's why I collect (mechanical) keyboards now. I love a nice keyboard.

On DOS I used Word, but I never liked it, and I still don't.


Say what? I had two Apple II+'s and they both had shift keys... but no Caps Lock key.
 
Last edited:
I was involved in beta testing OS/2. I don't recall for sure, but I think I was invited to join the beta program after talking with someone from IBM at COMDEX. I don't think I actually provided any feedback to IBM, but I loved OS/2. It was much more refined and usable than Windows. I am sure that it pushed Microsoft to make Windows better.
 
For those with a bit more experience in CICS, what was its security model like, if it even had one? As a mere programmer I once brought production CICS down with an errant CEMT command, partly because I didn't exepect I should be able to.
Security was good, if you set it up properly. :thumbsup: (Isn't that always the case). :o



I wrote an application to let people apply for cics roles and automatically manage them inside CICS. It was a great time saver.
 
I was involved in beta testing OS/2. I don't recall for sure, but I think I was invited to join the beta program after talking with someone from IBM at COMDEX. I don't think I actually provided any feedback to IBM, but I loved OS/2. It was much more refined and usable than Windows. I am sure that it pushed Microsoft to make Windows better.


It has stupid design bug where if the input queue of mouse and keyboard entry was jammed, nothing but a restart could fix it. Apart from that, it was great.
 
Not a description of CICS I recognize at all. I was a CICS sysprog from 1984 (1.6.1) to 1992 when I moved because I was so bored with no problems to work on and having automated most of what was left. That was the CICS network supporting IBM's RETAIN problem database and a bunch of others with office and other stuff. The fiasco of one level set PTF (UL51533) was a very nice earner for me and got me moving to actually test CICS where it was written as they recognized they had a problem with QA.
The rewrite was partly because they had so much technical debt in the code, maintenance programmers got crap reward because they "didn't contribute" and stats showed as a consequence that patched code was 20 times more likely to have a bug. By the time I left (1999) test programmers had parallel careers to CICS and MQ developers and there was IIRC 3 times as much code to test CICS and MQ as there was code in the products.
XRF never really took off as TOR/AOR routing took care of most of the issues. It was really only a solution if you had a single CICS image which not meany did. I think the only one I had was for a geriatric office product called ATMS which was used to produce management news letter so SLAs were pretty lax.
IMS - I worked on the first sysplex and IMS couldn't take part and sent an observer. She told me that for 20 years IMS strategy was to keep their top 10 customers happy and ignore the rest. They even refused to let anyone talk about the internal add-ons. One in particular customers not in the top 10 were screaming for was a replacement for having to pre-define every terminal in an IMSgen. Just about all internal to IBM IMS sites used an autoinstall add-on from a team in Portsmouth. IMS didn't want customers to know about it, even specialist SEs usually hadn't heard. We wrote our own for CICS after reading an article in Xenon (?) magazine saying how it might be done.
Maybe if you ran our off the shelf application. :blush: Some Insurance application that was written at Macro level rather than Command level. The whole thing was the work of one 'guru', and he did some stupid hacks to optimise it, such as use the LLVV VV bytes in a variable length ISAM record to stick some application data in. Either way, it would crash regularly.


Some idiot wrote a batch job for end of month to run in CICS because all they knew was CICS COBOL programming. So at end month this job would run for hours and crash CICS if we didn't kick everyone off. :eek:
 

Back
Top Bottom