575 lines
39 KiB
Plaintext
575 lines
39 KiB
Plaintext
|
|
Episode: 2635
|
||
|
|
Title: HPR2635: Running your own mainframe on Linux (for fun and profit)
|
||
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr2635/hpr2635.mp3
|
||
|
|
Transcribed: 2025-10-19 06:54:22
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
This is HBR episode 2635 entitled Running Your Own Mainframe on Linux for fun and profit.
|
||
|
|
It is posted by first time post your own pattern and is about 55 minutes long and carrying
|
||
|
|
a clean flag.
|
||
|
|
The summary is, this talk is about running your own mainframe on your own hardware.
|
||
|
|
This episode of HBR is brought to you by an honesthost.com.
|
||
|
|
With 15% discount on all shared hosting with the offer code HBR15, that's HBR15.
|
||
|
|
Better web hosting that's honest and fair at an honesthost.com.
|
||
|
|
Well, hello there everybody, this is Jerome Betten with his first ever podcast and
|
||
|
|
well, I'm trying to do this, right?
|
||
|
|
So if you don't like it, throw it away, throw it in the bed, whatever you want to do, burn
|
||
|
|
it, or reach it, or reach it, if you like, nail it to whatever religions cross you are
|
||
|
|
using.
|
||
|
|
Anyway, or give me feedback, that's also an option, please be nice, I'm human, not made
|
||
|
|
of concrete.
|
||
|
|
Anyway, my first ever podcast and the reason I'm making this podcast is because last weekend
|
||
|
|
I was in the UK at Orchcamp, OGGCA and P, and I did a talk there, and well, see people
|
||
|
|
like the talk in a way, I mean, I did get some positive feedback, so I think they were
|
||
|
|
happy with it.
|
||
|
|
And there was some talk about making a podcast and well, you know, one thing led to do, another
|
||
|
|
and well, no, anyway, now you're listening to it, you got it.
|
||
|
|
So this is my first ever podcast, and I have actually a lot of subjects I would like to
|
||
|
|
cover in different podcasts.
|
||
|
|
So and this one, the first one will be mainly about my talk that I gave at Orchcamp.
|
||
|
|
Well, what was the talk about?
|
||
|
|
The title of the talk was running your own main frame on Linux for fun and profit.
|
||
|
|
And well, no, that's what I'm going to do now.
|
||
|
|
In front of me, I have my desktop PC, I have the presentation.
|
||
|
|
You don't have the joy of seeing the picture that I see.
|
||
|
|
It's a lovely presentation, trust me.
|
||
|
|
You should have been there.
|
||
|
|
I mean, and the crowd, well, but that's another thing anyway.
|
||
|
|
So yeah, basically first, who am I?
|
||
|
|
My name is Jerome Baton, the first name, well, in English, I would say Jerome, in Dutch,
|
||
|
|
you would say Yerun, and the spelling in Dutch is J-E-R-O-E-N, because the O and the
|
||
|
|
E together would make an O sound, as in the double O in the English.
|
||
|
|
Anyway, so I kind of am used to the fact that people in other countries don't understand
|
||
|
|
how to pronounce my first name.
|
||
|
|
So I turn to make it to rewrite my first name in a way that it would be pronounced correctly,
|
||
|
|
and it turns out that if I spell it as a Y-E-R-U-N, then both English and Spanish people would
|
||
|
|
pronounce it correctly.
|
||
|
|
So this just goes to show you that Dutch people can't spell first names.
|
||
|
|
But yeah, you know, I'm stuck with it with the Dutch spelling that is, and I have to make
|
||
|
|
do.
|
||
|
|
So I'm currently 54 years old, getting older every day, I'm a dad, I have several daughters
|
||
|
|
in what I can only describe as a challenging household.
|
||
|
|
I married with my lovely wife, Malin, and well, my basic, I've been in IT for 30 years,
|
||
|
|
and nowadays I call myself an IT solutionist, and the reason why I do that is because I once
|
||
|
|
read a signature down at an email that said true technological solutions are indistinguishable
|
||
|
|
from magic.
|
||
|
|
Not magic, of course, is made by an illusionist, so I think, well, solutions would make me
|
||
|
|
a solutionist.
|
||
|
|
So far I've written some 8 books, could be more, I lost count, and like I said, I'm a
|
||
|
|
dad of five girls.
|
||
|
|
I've, in my life, I've done several things, I've, I'm still a volunteer at a Dutch scouting
|
||
|
|
camp, it's called Disaster Camp, but you won't find it on the web as Disaster Camp, you
|
||
|
|
have to look for Rompen Komp, R-A-M-P-E-N-K-A-M-P, but why would you, because it's in Dutch,
|
||
|
|
right?
|
||
|
|
Anyway, and I've also been a volunteer firefighter for 10 years, and I've seen different things,
|
||
|
|
let's put it that way at that, and maybe it's subject for another podcast, I don't know,
|
||
|
|
depends on the questions that I might get.
|
||
|
|
So before I go into this mainframe stuff, I just want to make a small, is it an advertisement,
|
||
|
|
I don't know, is it commercial, really, I doubt it.
|
||
|
|
Anyway, my main project, I'm the project leader of an open source project, and the name
|
||
|
|
is Libre plan.
|
||
|
|
A Libre plan is a web-based project, management applications developed in Java with post-crest
|
||
|
|
database, and personally, I think it's very cool, it's been in development now for almost
|
||
|
|
10 years, lovely features, and well, you know, it's a subject for another podcast.
|
||
|
|
So without further ado, oh, one other thing, let me start with apologies first.
|
||
|
|
And the reason that I say this is that although I speak some English, I get up by now you understand
|
||
|
|
that what I'm speaking is English, there are still some things like a culture clash, and that's
|
||
|
|
because culture is something completely different from a language.
|
||
|
|
So with respect to the code of conduct that was also put on paper and on the web for the
|
||
|
|
ORCAMP people, I can only say, please forgive me, we're applicable.
|
||
|
|
The thing is, we as Dutch people, although we speak English, and we get that from an early
|
||
|
|
age, 12, to be exact, in the Dutch schools, but we don't understand the cultural intricacies.
|
||
|
|
So we take everything literally, for instance, I have this nice example, if an Englishman
|
||
|
|
would say to me, I was a bit disappointed, then what I would understand is, well, he's
|
||
|
|
a bit disappointed, but not really much, so it doesn't really matter.
|
||
|
|
And what he meant, probably, was I'm very upset and angry.
|
||
|
|
So you see the difference here?
|
||
|
|
So if you want to communicate with me in English, please understand, I will take everything
|
||
|
|
literally.
|
||
|
|
Okay, back to the mainframe, so the subject and hand is mainframe.
|
||
|
|
What is a mainframe?
|
||
|
|
Well, mainframe is a computer system like any other computer systems, but its development
|
||
|
|
started somewhere in the 50s, and usually they are pretty big.
|
||
|
|
And the reason why they are pretty big and always have been, is, well, it's job oriented
|
||
|
|
at one, but the second thing is, it works with massive hardware parallelization.
|
||
|
|
That's the only way I can describe it.
|
||
|
|
What it does is, it tries to, well, they try to build a computer system in a way that
|
||
|
|
the central processing unit, the CPU, does as little work as possible to make everything
|
||
|
|
happen.
|
||
|
|
So, you don't bother, for instance, in a normal PC that you have, or your laptop that
|
||
|
|
you have, you have one CPU, and that CPU does everything.
|
||
|
|
It does the disk layout, to your hard disk, it does a network package, it checks the checksum
|
||
|
|
over network package, it writes things to disk, it will read and write to whatever hardware
|
||
|
|
you've attached to it, and that's basically the job of the CPU.
|
||
|
|
On a mainframe, this is all separated out into multiple units, so yes, you would have
|
||
|
|
a main processor, but you bother the main CPU with as little as possible.
|
||
|
|
You don't ask him for trivial things like, get some file from disk, now you have a storage
|
||
|
|
controller for that.
|
||
|
|
You just say to the storage controller, give me file X at system Z or whatever, and the
|
||
|
|
storage controller will do just that, and get the file, get the data, and present it at
|
||
|
|
some point as a massive block of IO to the CPU so that it can handle the data as a block
|
||
|
|
of stuff.
|
||
|
|
And the reason why it does that is, well basically, what you do is you make it as, okay, sorry,
|
||
|
|
you make the throughput of the system as high as possible, so that's a big difference
|
||
|
|
with, for instance, the super computer, with a super computer, you try to make as many
|
||
|
|
calculations as possible in some time unit, and that's it, whereas with a mainframe, you
|
||
|
|
try to get as much data as possible from one end of the system to another end of the system.
|
||
|
|
Thruput, that's what counts.
|
||
|
|
They have been in use mainly since the 50s, and they're still in use actually, and they
|
||
|
|
are in most of the times in use with banks and insurance companies, that were also the
|
||
|
|
first original big users, and they still are.
|
||
|
|
If you would start a bank today, would you buy a mainframe, well, I don't know, because
|
||
|
|
well, I didn't do that, but they are still being sold for a hefty price, and there was
|
||
|
|
a time when there were several manufacturers currently, there's only one, its name starts
|
||
|
|
with an I and a dance with a B and an M, and well, they still make a good living selling
|
||
|
|
mainframes software and services.
|
||
|
|
So my talk is not so much about mainframe in general, as it is about the Hercules project,
|
||
|
|
and the Hercules project is a very funny thing.
|
||
|
|
I assume from a moment that you are familiar with an emulator, or virtualization software,
|
||
|
|
like physics, KVM, or key menu, or the commercial VMware stuff, or parallels on Mac.
|
||
|
|
Anyway, applications that are in essence, it's a software program that tries to mimic
|
||
|
|
a piece of hardware, so in this application you would then install an operating system
|
||
|
|
to get a running system.
|
||
|
|
Hercules does exactly the same, but it's a mainframe emulator for System 370, the ISA 390,
|
||
|
|
or the 64-bit Z architecture.
|
||
|
|
And those are the hardware platforms that IBM has been supplying for mainframes.
|
||
|
|
And well, yeah, basically what it does is it emulates a mainframe, so you need an operating
|
||
|
|
system to install into that mainframe emulator, we come to that next.
|
||
|
|
Well, it's a virtualization tool, it runs on Linux, Windows, Solaris, FreeBSD, and MacOS.
|
||
|
|
So I'm running it on Linux, and I'm a happy user, just playing around with it.
|
||
|
|
Don't expect me to be an expert, I really am not.
|
||
|
|
I will give you at the end some pointers where you can get a much more information,
|
||
|
|
but this is just to get you started.
|
||
|
|
This mainframe, sorry, this podcast, is just to get you started working with this system.
|
||
|
|
Well, what does it look like?
|
||
|
|
Well, the funny thing is that's hard to tell on a podcast, but if you would start a
|
||
|
|
Hercules emulator, it will show you several knobs that have sort of a dial look to it,
|
||
|
|
and those same dials you would also see on the actual mainframe hardware, if you bought
|
||
|
|
one in the 50s or 70s or 70s or whatever.
|
||
|
|
Having said that, you probably would also see the hardware that you have configured in
|
||
|
|
your configuration file, and because you have to configure everything in Hercules, normally
|
||
|
|
you would have to configure everything in Hercules.
|
||
|
|
Not this time, I will come to that in a moment, but you could, if you like, tune the
|
||
|
|
configuration to whatever hardware your own hard desires.
|
||
|
|
And then you would start the system, or IPL, for initial program load, you would IPL
|
||
|
|
the system, and Hercules itself would show you sort of a text-based console with diagnostic
|
||
|
|
messages, and you would then use a terminal emulator, like the X3270 application to connect
|
||
|
|
to the mainframe together actual terminal section.
|
||
|
|
So, what does Hercules do?
|
||
|
|
Well, it runs software.
|
||
|
|
There are many operating systems in public domain available.
|
||
|
|
Well, the thing is, if you have a license, and also the hardware, I wouldn't call it beauty,
|
||
|
|
but that's the thing with the commercial stuff.
|
||
|
|
If you have a license and associated hardware, you are allowed to use OS 390, ZOS, VIAZ, ZVIAZ,
|
||
|
|
VM, ZVM, TPF, ESA, and ZTPF all in Hercules.
|
||
|
|
But, like I said, only if you have the hardware.
|
||
|
|
You know, I tried to get a mainframe into the house.
|
||
|
|
Actually, I tried it not so long ago, but, although my wife is a very liberal stanza on
|
||
|
|
the hardware that I cumulative, or hard, or collector, whatever you would like it to call it,
|
||
|
|
it was a little bit too much.
|
||
|
|
And it was a big thing.
|
||
|
|
I mean, it was, well, you know, one cubic meter.
|
||
|
|
And maybe, what, what, 200, 300 kilograms?
|
||
|
|
And it didn't even take so much power because it could run over 240 volts outlet.
|
||
|
|
So, no, not even power voltage.
|
||
|
|
Now, anyway.
|
||
|
|
So, if you don't have the hardware, you can use a public domain operating system, sorry,
|
||
|
|
you could use an OS available in the public domain.
|
||
|
|
For instance, OS 360, or DOS 360, or DOS VS, or MVS.
|
||
|
|
Now, to that one, we'll come in a second, but MVS is an option.
|
||
|
|
You could run VM370, TSS, 370, and you can even run Linux.
|
||
|
|
Now, that wouldn't that be funny now.
|
||
|
|
You have Linux on your system running, and it's all running along very nice on your EFET E7,
|
||
|
|
with I don't know how many memory.
|
||
|
|
And there you start, Hercules, with the mainframe emulation.
|
||
|
|
And in the mainframe emulation, you will install Linux, which make it, wow,
|
||
|
|
I don't know, a factor 100 slower.
|
||
|
|
But, you know, it's possible, so why wouldn't you?
|
||
|
|
So, when I started doing this Hercules stuff, there was, well, I didn't know anything.
|
||
|
|
So, I googled the name.
|
||
|
|
I googled the name Hercules project, and it points me to a site, www, of course, Hercules-390.org.
|
||
|
|
And, on that site, it also mentioned, to easy start, there is this MVS 3.8J turnkey system version 3.
|
||
|
|
And you think, oh, cool, that's nice.
|
||
|
|
So, you install it, you're running with it, you think, well, it may not be totally perfect.
|
||
|
|
It isn't there, a new release.
|
||
|
|
And then you find out that, actually, this site, Hercules-390.org,
|
||
|
|
the last time it was updated, it was in 2000, in March 2010.
|
||
|
|
So, a really long time ago.
|
||
|
|
Well, there is a contact details there by a former certain J main art, and with this email address.
|
||
|
|
And, well, you can mail him, but it's like sending something through DEFNAL.
|
||
|
|
No response whatsoever.
|
||
|
|
So, what we call in the Netherlands, well, the lights are on, but there's nobody home.
|
||
|
|
And, a long time ago, I actually thought this guy was deceased.
|
||
|
|
I mean, it happens, doesn't it?
|
||
|
|
But then I found on GitHub a new project by Eric Raymond, called Upside.
|
||
|
|
And it's a UPS project, which is pretty cool.
|
||
|
|
And there, this guy, J main art, turned out to be alive and active.
|
||
|
|
So, there is this mailing group about Hercules-390, Hercules users with more than 7,000 subscribers.
|
||
|
|
It's not a small community.
|
||
|
|
And suddenly, low and behold, on the May 1, 2018, suddenly a message, I ain't dead.
|
||
|
|
And I may not be involved in Hercules anymore, but I haven't gone anywhere.
|
||
|
|
Okay, that's good and well and such, but why don't you then transfer management of everything to somebody else?
|
||
|
|
Because there's a thriving community, and all the rest of the world sees is a dead homepage.
|
||
|
|
Personally, I think as a project leader, you have the responsibility.
|
||
|
|
If you are not involved anymore, if it doesn't make you happy for whatever reason, then move on and let somebody else be the project leader or whatever you want to call it.
|
||
|
|
Just pick somebody, ask a group of people of these 7,000, somebody should say, yes, sure, I want to manage it.
|
||
|
|
Actually, I know several of them would, but it's not like it will cost you an arm, a leg, or I don't know how many time to make this happen.
|
||
|
|
So, personally, the fact that it didn't happen gives me some impression of somebody, but let's continue on a more happier note.
|
||
|
|
What should you do?
|
||
|
|
Well, there is a new site, it's WWW, like any other, Hercules-390.eu, so not.org, but.eu.
|
||
|
|
And that's a site that looks very much similar, but it's really maintained and it's more up to date.
|
||
|
|
There is a mailing list, it's called Hercules-390.
|
||
|
|
At jahoogroups.com, and like I said, over 7,000 members.
|
||
|
|
So, you feel just right at home.
|
||
|
|
That is, if you have a home full of 7,000 people.
|
||
|
|
I don't know, maybe you have.
|
||
|
|
We'll be pretty crowded, especially if you want to go to the bathroom, but that's beside the point.
|
||
|
|
And the easy start, well, these MVS-3.aj turnkey system, version 3 has been upgraded to MVS-3.aj turnkey system for dash.
|
||
|
|
And for dash, for minus, because well, you know, it's an update, but it's not an official update, so we call it for minus or for dash, whatever you like.
|
||
|
|
There are several links to a zip file that you can download.
|
||
|
|
And the zip file name that you should download is tk4- underscore v1.00 underscore current.zip.
|
||
|
|
And I know you have to, I'm not going to repeat it.
|
||
|
|
You can just rewind and let's do it again.
|
||
|
|
It's basically, it's the current version, because it's the 1.0.0.
|
||
|
|
But with all the updates, I also applied with it.
|
||
|
|
And by now, there are some eight updates already there.
|
||
|
|
And after that, you can very easily get it running.
|
||
|
|
I'll show you that in a second.
|
||
|
|
I'll show you.
|
||
|
|
Okay, podcast, funny.
|
||
|
|
I'll talk you through how to set it up.
|
||
|
|
But basically, it starts with unzip the zip file.
|
||
|
|
I guess you can do that.
|
||
|
|
And in the zip file is also a Hercules environment for many different hardware platforms.
|
||
|
|
So it doesn't matter if you're running Windows Linux, Mac or even Raspberry Pi, because it's all in the zip file.
|
||
|
|
And you just go to the root of the unzipped files.
|
||
|
|
And you do, there is a script there, MVS.
|
||
|
|
And that's it for Linux or MVS.
|
||
|
|
Not bad for Windows files.
|
||
|
|
And you just start it and it will start Hercules for you.
|
||
|
|
It will boot the MVS operating system for you.
|
||
|
|
It comes with several hard disk images incorporated into this setup.
|
||
|
|
It comes with a huge bundle of applications, programming languages, etc.
|
||
|
|
So for you to play around with, believe me, there's enough to your heart's content.
|
||
|
|
Is it well, humanly possible, maybe?
|
||
|
|
And the other thing is, if you want to start learning, how does this work?
|
||
|
|
Well, this is the tough part.
|
||
|
|
I mean, if you're listening to this podcast while you're driving, now comes a challenge,
|
||
|
|
because that's a YouTube channel.
|
||
|
|
And yeah, I know it is a bit difficult while you're driving.
|
||
|
|
So you kind of do that at home.
|
||
|
|
So don't do that while you're driving.
|
||
|
|
Please don't trust me.
|
||
|
|
I've been, like I said, a volunteer firefighter.
|
||
|
|
I've seen my share of road accidents.
|
||
|
|
And you don't want to try this.
|
||
|
|
So go home or whatever, listen to your podcast.
|
||
|
|
And you go to YouTube.
|
||
|
|
And there is this user.
|
||
|
|
And he has a channel as Moshex, M-O-S-H-E-X-I-X, M-O-S-H-I-X.
|
||
|
|
And he has now over 60 YouTube videos explaining everything you would like to do.
|
||
|
|
See everything you would like to know about running M-V-S.
|
||
|
|
What it is, how it works, etc.
|
||
|
|
And there's also, of course, the fact that Moshex is a terrific guy.
|
||
|
|
But, well, you know, you can email him through this channel, if you like.
|
||
|
|
And there's also another channel.
|
||
|
|
On YouTube, there's the Kumar IT channel.
|
||
|
|
And Kumar Spellas K-U-M-A-R.
|
||
|
|
And then IT channel without any space in between.
|
||
|
|
And he has some 22 toilets.
|
||
|
|
But, you know, he doesn't update them regularly.
|
||
|
|
There are not many more added.
|
||
|
|
I believe the last one is from a year ago.
|
||
|
|
But Moshex is still pretty active.
|
||
|
|
And, well, with 60 plus videos, there's a lot to learn.
|
||
|
|
Well, what do you need?
|
||
|
|
Well, you need a PC with Linux.
|
||
|
|
Yeah.
|
||
|
|
Or Windows, that's also an option.
|
||
|
|
But, you know, I personally, I'm a very big fan of Linux.
|
||
|
|
I've been for the last 20 years.
|
||
|
|
And I have my serious doubts about, well, you know, the other thing.
|
||
|
|
But that's, again, something for another podcast.
|
||
|
|
So, let's move right along.
|
||
|
|
You could even run this thing on a Raspberry Pi, which is, of course, funny,
|
||
|
|
because you have a very small printboard that's in nowhere,
|
||
|
|
compares to an action mainframe.
|
||
|
|
But it runs MVS.
|
||
|
|
No, it looks the same.
|
||
|
|
But just don't expect the same throughput, right?
|
||
|
|
It runs.
|
||
|
|
And for one user, it's fine.
|
||
|
|
But if you hook up 20,000 users to a Raspberry Pi,
|
||
|
|
it becomes probably a little slow.
|
||
|
|
So, next thing you know, you need a 3270 thermal emulator.
|
||
|
|
So, that would use the telnet 3270 protocol.
|
||
|
|
And that's why the application probably is called TN3270.
|
||
|
|
It's, most of the time, it's included in Linux distributions.
|
||
|
|
You know, you just install it.
|
||
|
|
You install or I have to install whatever.
|
||
|
|
You use the Hercules software, of course,
|
||
|
|
and then some operating system distribution.
|
||
|
|
And in the end, you get a very small mainframe.
|
||
|
|
Now, there is some lingo to understand, to get around,
|
||
|
|
to make, to set your first steps in the mainframe world.
|
||
|
|
And one is the DASD acronym.
|
||
|
|
And DASD stands for Direct Attached Storage Device.
|
||
|
|
Now, you have to understand, back in the 50s,
|
||
|
|
the first guy who thought of, oh yeah, you know,
|
||
|
|
let's store some bytes on a rotating plate
|
||
|
|
and give the name and where did I be?
|
||
|
|
And he thought, well, in a way, it's a Direct Attached Storage Device.
|
||
|
|
Contrary to an indirect Attached Storage Device, for instance,
|
||
|
|
a tape, maybe, I don't know.
|
||
|
|
But anyway, so that's why DASD became the acronym forward.
|
||
|
|
We, outside of the mainframe world, would call a hard disk.
|
||
|
|
The other thing to know is TSO.
|
||
|
|
And TSO means time-sharing option.
|
||
|
|
And time-sharing option is the software that allows your mainframe
|
||
|
|
to act as a multi-user system.
|
||
|
|
Yes, that means that without TSO,
|
||
|
|
it would be a single-user system,
|
||
|
|
which I think would be a usually amount of money
|
||
|
|
thrown at only one user.
|
||
|
|
But, you know, maybe somewhere someday
|
||
|
|
somebody didn't buy TSO for a mainframe?
|
||
|
|
I don't know.
|
||
|
|
Strange things have been known to happen.
|
||
|
|
Okay, another acronym is JES2.
|
||
|
|
JES2, J-E-S2.
|
||
|
|
And JES2 is just a version.
|
||
|
|
So, they'll already talking about JES3.
|
||
|
|
But, you know, currently, JES2 is the flavor du jour.
|
||
|
|
And just that's a job entry system.
|
||
|
|
And what that means is that with the mainframe
|
||
|
|
you don't have an interactive terminal session
|
||
|
|
as you have with a Linux system,
|
||
|
|
or even a Windows system.
|
||
|
|
Well, of course, graphical.
|
||
|
|
But on Linux, you also have graphical.
|
||
|
|
But you also have the terminal.
|
||
|
|
And you type a command, you press enter,
|
||
|
|
and the thing starts working for you.
|
||
|
|
Well, not so much on a mainframe.
|
||
|
|
It's screen-oriented.
|
||
|
|
So, you are presented with a screen.
|
||
|
|
On that screen you make, you enter some text,
|
||
|
|
or you set somewhere a character
|
||
|
|
to select something,
|
||
|
|
or you want to do the market for being edited.
|
||
|
|
Then you press enter.
|
||
|
|
And then that screen is sent,
|
||
|
|
or your input is sent to the mainframe,
|
||
|
|
and it is entered into a job queue.
|
||
|
|
Which means that you have to wait in line before your turn.
|
||
|
|
And when it's your turn,
|
||
|
|
the processor will handle your job,
|
||
|
|
and will then send the results back to you.
|
||
|
|
So, if you select a menu item on the screen,
|
||
|
|
and press enter,
|
||
|
|
it will go to the CPU,
|
||
|
|
or the job queue of the mainframe.
|
||
|
|
And well, as your turn, you get a result,
|
||
|
|
which is probably the next screen and a menu system for instance.
|
||
|
|
Okay.
|
||
|
|
The next thing to other acronym is Kix, CICS.
|
||
|
|
And I don't know really what it stands for,
|
||
|
|
but basically it's a frontend to transactional software.
|
||
|
|
So, Kix was the application you would use
|
||
|
|
to design a text-based frontend
|
||
|
|
to transactional software that you would be running
|
||
|
|
with a database somewhere in the system.
|
||
|
|
I believe on the Hercules project
|
||
|
|
there's a version that's Kix, KIKS.
|
||
|
|
I mean, so not CICS, but KIKS.
|
||
|
|
But I have no experience with it,
|
||
|
|
but it's just to let you know that it exists
|
||
|
|
because it does come by more than once in a while.
|
||
|
|
Okay. The other thing to know is what's a data set?
|
||
|
|
A data set is something in the mainframe world,
|
||
|
|
and basically what you did when you had a project
|
||
|
|
or you wanted to program something,
|
||
|
|
you went to the system admin and said,
|
||
|
|
yeah, I've got this new project, long story short.
|
||
|
|
Yeah, I need space.
|
||
|
|
And the answer would be, yeah, how much space?
|
||
|
|
Now, let's say I need, well, you know, back in the day,
|
||
|
|
I need five megabyte.
|
||
|
|
Oh, then you would get a data set of five megabyte.
|
||
|
|
And in that five megabyte, you can do everything you like
|
||
|
|
to your heart's content, but it can't resize.
|
||
|
|
So you have your quota management all built into the data set concept.
|
||
|
|
The other thing, the last thing to know is a catalog.
|
||
|
|
And a catalog on the mainframe is a system list of available stuff.
|
||
|
|
So what we in Linux would call a path variable.
|
||
|
|
Yeah, I know this path variable, so it exists on Windows,
|
||
|
|
but on the mainframe, it's a catalog, on MVS.
|
||
|
|
So when you log on, you will be presented.
|
||
|
|
You've got MVS running by starting with the MVS script.
|
||
|
|
You make a connection with the thermal emulator, the TN3270,
|
||
|
|
probably the local host, if that's the IP address your MVS is running on.
|
||
|
|
And you get a nice ASCII screen with a TK4 minus in ASCII art
|
||
|
|
and created by Volker Bandke and updated by Jürgen Winkleman.
|
||
|
|
Of course, Kudos and many things to those people.
|
||
|
|
And it says MVS 3.J level 8500 or 5.
|
||
|
|
And then log on where you can enter user-ready password.
|
||
|
|
If you enter user-ready, in your press enter,
|
||
|
|
you will be asked for the password in the password won't be shown.
|
||
|
|
But since MVS originates from the time when computer security was not so much if focuses this today,
|
||
|
|
it's also possible at the log on prompt to enter user-ready,
|
||
|
|
slash password, and everybody can read your password.
|
||
|
|
But like I said, those were different times.
|
||
|
|
After that, you press enter, you get a message of today, you press enter again.
|
||
|
|
It will show you some messages that the system has waited for you.
|
||
|
|
And if there's nothing to show you, you press enter again.
|
||
|
|
And then you are presented with a menu.
|
||
|
|
And the menu is in color.
|
||
|
|
So you've got some yellow and some green and some blue and even some pink.
|
||
|
|
It mentions the date and the time in the right upper corner.
|
||
|
|
And yeah, it shows you menu.
|
||
|
|
So one option one would be RFE, which, and it says that's an SPF-like productivity tool.
|
||
|
|
And six would be utils, information on utilities and commands available, et cetera.
|
||
|
|
So, and there's one hint.
|
||
|
|
And that's at the bottom.
|
||
|
|
It says SPF-3.
|
||
|
|
And PF-3 means the function key.
|
||
|
|
Three, programmable function key back in the day.
|
||
|
|
But now it's just function key.
|
||
|
|
Three is terminate.
|
||
|
|
Now, this is when you need to know a few keys.
|
||
|
|
I actually only need to know three at the moment.
|
||
|
|
Well, maybe four.
|
||
|
|
Well, let's start with three now.
|
||
|
|
So F3 will always get you one level up.
|
||
|
|
So one level back.
|
||
|
|
So if you make a selection in the menu and you press enter, you get a sub menu.
|
||
|
|
If you want to go back one level up, F3.
|
||
|
|
The terminals in that day didn't have page up, page down.
|
||
|
|
So the implement that implemented that by PF-7 and PF-8, which would mean, of course,
|
||
|
|
F7 and F8 on your keyboard.
|
||
|
|
Now, on the terminal emulator, on the right upper side, you see an icon of a very small keyboard.
|
||
|
|
And that's because there are also some very special keys that are not available on your regular household keyboard these days.
|
||
|
|
And two in the middle, and those are clear and reset.
|
||
|
|
And the thing is, if you and you no doubt will with your first steps, type in some weird characters or at a wrong location or whatever.
|
||
|
|
At some point, you risk that the terminal itself will not understand what you're entering and it will lock.
|
||
|
|
Now, it won't lock that you need a password, not like that, but it will lock up because it doesn't understand what the hell you're doing.
|
||
|
|
And you see that because at the bottom left corner where it usually says something like a 4 and an A, it will show you something that looks like an X.
|
||
|
|
It looks like an X and that means that the terminal itself is locked.
|
||
|
|
Now, you have to reset the terminal and guess what? There was a button for that and it's called recess, very applicable.
|
||
|
|
So you just click with the mouse on the reset button, it will reset the terminal and you can continue as if nothing happened.
|
||
|
|
So, it's time to do some demo, I guess.
|
||
|
|
So, let's see if I can give you some, like I said, some demo.
|
||
|
|
I have to, I've completely forgot to open, which is, of course, unforgettable.
|
||
|
|
Here it is. So, you have unzipped the tk4- or tk4-zip file into a directory that I think you would call tk4.
|
||
|
|
Why make things different? Difficult, right?
|
||
|
|
So, you change into the directory tk4 and there you will find a script in on Linux called MVS.
|
||
|
|
All the things, all I'm describing here is running your mainframe on Linux for fun and profit.
|
||
|
|
We'll get to the profit file later. Let's stick to the fun for the moment.
|
||
|
|
So, you can do the dot slash MVS to start MVS and it will start up and it will take some time because it has to initialize the system, IPL, you know, initial program load and it will take some time.
|
||
|
|
We're not talking hours, but we're taking, well, one to two minutes, probably.
|
||
|
|
In the meantime, you can start your telnet 3270 and the executable is called x3270 because you do this all on an x window environment.
|
||
|
|
So, you do an x3270, start up and then you click to connect to localhost, aptly to a port, which is aptly called 3270.
|
||
|
|
At some point you will be presented with the logon prompt and you have to enter the user ID password.
|
||
|
|
Now, the Hercules system has several user IDs and passwords and the one I would suggest here would be herc01.
|
||
|
|
And then, well, why not do the slash in the password because after the slash, the password would be CU later spelled as CUL8TR and 8 as in the number 8.
|
||
|
|
Then, you get an after several reasons. You get a menu presented. You select option 1, RFE and you have the F3.
|
||
|
|
Just make a selection to something, any option that you like. Do the F3 to see the yes indeed you do get up one level.
|
||
|
|
So, anyway, you select one would be RFE, then you select three to select libraries.
|
||
|
|
And the library is like a directory, so it contains files.
|
||
|
|
It's a data set and a file with a defined size.
|
||
|
|
There's also something like partitioned data sets, PDS. You will see PDS on the menu now.
|
||
|
|
And a partitioned data set is like a data set, but it's a file with which contains other files.
|
||
|
|
So, what we would call in Linux, a directory with subdirectories would in the mainframe will be a PDS partitioned data set.
|
||
|
|
After looking at this menu, you can do option 4 and try to find access to a library.
|
||
|
|
And the one I would suggest is CIS2.JCLIP. So, that's S-Y-S, number 2.JCL-L-I-B, JCL-LIP.
|
||
|
|
And JCL is for job control language and LIP is of course for library.
|
||
|
|
If you then present it, you are presented with a screen with just one, well several lines, but one is the CIS2JCLIP listing.
|
||
|
|
You can put an S in front of it and press enter to get info about this library or you can an E in front of it for editing or entering whatever you like.
|
||
|
|
Press enter and then you get into the library.
|
||
|
|
And then you see a bunch of files, one of them is called Prim-C-O-B-1, which is a prime calculation program in Kabul.
|
||
|
|
And well, it should run, but it won't run directly. You have to make some small edits because you are the user who works 01 to run that application.
|
||
|
|
So you edit the file and at the top you will see probably Prim-C-O-B-1 as the name.
|
||
|
|
And you have to change that. The first characters of the first line should contain your user ID with an identifier for yourself just to make it easy for you.
|
||
|
|
So you probably would change the Prim-C-O-B-1 to Herc-01-A for instance.
|
||
|
|
And below that you see a class, classes A or classes something else.
|
||
|
|
And if it doesn't say A, it should be classes A because A stands for immediate execute.
|
||
|
|
So you don't submit the job that you are not going to submit to another job queue. You want to have it executed immediately.
|
||
|
|
The other thing is message class. The message class is, and then you can select A, B or H and A and B are printers that are defined in the Hercules configuration.
|
||
|
|
So the system will just print to the A or the B spool file directory and add the content to it as if it was a printer so it only adds to it.
|
||
|
|
But if you make it an H, it will hold the messages back and the output will go into a spool file, a job spool file.
|
||
|
|
So after you've done that, you change this text, you go to the prompt at the top and you enter save S-A-V-E, press enter to save the file.
|
||
|
|
And then at the same location you press sub S-U-B or if you like submit in full to submit the job to the processor.
|
||
|
|
Now if you then press enter, you will see two lines. One says this job is submitted to the CPU of course and a job number is assigned to you.
|
||
|
|
Now this job number is something that you should take note of because that's the way that you will find the logging of this job in the end.
|
||
|
|
So take note of the job number, go back up in the menu until you're at the top, select RFE again and then utilities and then option 8 for outfiles.
|
||
|
|
You could probably see a number of outfiles, probably the one with your number in it, put an S in front of it to select it and you can browse the output of your job.
|
||
|
|
If you're finished with it, just press F3 to go up to the menu. If at some point you think well this was nice but I'm done.
|
||
|
|
Enter F3 till you're out of the menu system, you will be presented with a prompt and if you never want to return to the system again, well just kill it.
|
||
|
|
But you will leave the system in a deplorable state and it's up to you to get it to fix it if you ever want to restart again.
|
||
|
|
Or the nice thing to do is just hit the hit, just enter the shutdown command, so SHUTDOWN, shutdown command, the system shutdown will start and it will wait for at some point the shutdown will wait for you to also log off of the system.
|
||
|
|
So subsequently you will enter the log off command, L-O-G-O-F, and you will be logged out of the system, you will be unable to log on again while M-V-S will shut down.
|
||
|
|
This also will take some time because it has to ride away some information to disk and at some point it will even sleep for some time to make sure that stuff is stabilized.
|
||
|
|
But in the end it will present you again with the original prompt where you started the M-V-S script and then you're done.
|
||
|
|
It worked. Well I hope it worked and actually I hope you liked the podcast.
|
||
|
|
So well there's not a lot more that I can tell you except for where was my... oh wait I'm missing something.
|
||
|
|
Oh sorry let's let's continue. So that was the demo. Now the other thing, what about performance? How is work is performing? Well actually what it does, in software it translates every CPU code to the native CPU of your system.
|
||
|
|
And for one mainframe CPU code you will on average probably need about 100 CPU instructions on your native CPU. So that's a factor of 100 that makes it slower compared to the actual hardware.
|
||
|
|
But in M-V-S was developed in the 50s and since then of course hardware has increased in size tremendously.
|
||
|
|
So there was actually this Moshig's guy I told you about, did a performance comparison and he compared an i7 processor to a real IBM Z14 and Z14 happens to be the latest hardware family.
|
||
|
|
So yeah you have those ins from small to very very big but they all based on the same core hardware components.
|
||
|
|
And there is a performance indicator program and if you run this on an i7 it will on average do something like 344 million instruction per second.
|
||
|
|
Which sounds pretty good. 344 million instructions I can't do that even if I'm really awake which doesn't happen that much.
|
||
|
|
But if you run this on an actual mainframe it will go to a decent almost 6 billion instructions per second.
|
||
|
|
So I did a brief calculation of the numbers and it would be a 16.87 factor speed increase.
|
||
|
|
So if you want to play around with it and you don't want to install M-V-S and you want an up running, up and running M-V-S system and you just only want your personal TSO login.
|
||
|
|
You can send a login request to Moshig by email moshaprt1 at gmail.com and that's spelled as m-o-s-h-e-p-r-t1 at gmail.com and I'm assuming you know how to spell gmail.com.
|
||
|
|
I also once did a poll in the S390 mailing group and well after 7000 not everybody responded.
|
||
|
|
I believe I got some 30 responses but the average age is 62.6 with a standard deviation of 12.4 and that means people using mainframe are...
|
||
|
|
well they are aging like everybody else but the average is well let's say more mature than some other age groups.
|
||
|
|
And that's where my for-profit part of the title comes in because that means when people are going to retire which in some day they probably will.
|
||
|
|
There is an opportunity there for younger people to step in and say you know I like to work on really fast and really big hardware and it can be fun.
|
||
|
|
So why wouldn't you? I'm not saying that this is a big market or anything but there's a market nonetheless and if this is just well what they say in English tickles your fancy well why wouldn't you?
|
||
|
|
It's all about having fun in the end.
|
||
|
|
Once I asked in this mailing group look I have Hercules and MCS running on my laptop and wouldn't it be fun if I went to our local Linux use group meeting with an actual old and original IBM terminal.
|
||
|
|
You know the big one with a glass tube and actually a very nice guy from MCS replied so yeah I show a compile hook you up.
|
||
|
|
And I went home with a terminal and a big stack of additional hardware that you need to combine the two to get connected to a laptop or PC with Ethernet.
|
||
|
|
It's because it's some sort of coaxial connector that is on the terminal that you have to connect to an IBM 30174 terminal concentrator and that one actually is a pretty big box.
|
||
|
|
It's 19 inches and I believe five or six heights. It has two five and a quarter floppy disks for the configuration and on the back it's got a token ring connector.
|
||
|
|
So from the token ring connector you go to token ring hub from the token ring hub you go to a six Cisco 2950 to route it to Ethernet and from the router you go to your PC or laptop and then you have everything running.
|
||
|
|
Nobody ever said it would be easy but it's fun and it works that's also pretty important.
|
||
|
|
If you don't want to hassle with a lot of these hardware specs and you still want to have this feeling for the original terminal there is a really cool get up project called the cool retro term.
|
||
|
|
And by use a SWOT FISH90 SWORD FISH90 and the project cool dash retro dash term and he uses a QT library to make a terminal emulator with the original glowing characters on your original cathode tube terminals.
|
||
|
|
And then of course in software and by the looks of it and screenshots I saw it's very realistic. So you could do also do that.
|
||
|
|
Well the other thing it's funny because during my experimenting phase with Hercules I met a few new friends and I just want to mention them specifically because well there are a lot of very nice guys in the S390 milling group on Yahoo groups that I mentioned earlier.
|
||
|
|
They're all there to help and well it's of course logic because not so many new users turn up but it's maybe through this podcast or my talks about Hercules more people get interested because it deserves some attention.
|
||
|
|
So the other one is Moshebav the Moshe YouTube channel excellent guy and I don't want to Sam Gallop and Sam Gallop has been the maintainer of the CBT tape for the last 25 years.
|
||
|
|
Now who is Sam Gallop? Well Sam Gallop maintainer CBT like I said and the CBT tape is sort of the first distribution of tools because all in all although he has been the maintainer for 42 years the CBT tape itself has been in existence.
|
||
|
|
For 42 years and that's a lot longer than any Linux distribution at this time so if you talk about keeping a distribution up to date and distributing stuff this is I salute you Sam Gallop this is pretty amazing stuff.
|
||
|
|
So in short a wonderful new world to discover to play around with and maybe it's just for one evening I think this is nice you know like like the high QoS just play around with it or you get maybe it takes you and you want to learn more and you dive into this because it is possible it's a big world out there even for MPS.
|
||
|
|
So that's it that's my podcast this is the end I will do some nice tune after this if you have got any questions you can mail me let's use my person I'm self-employed so the best thing is if I would spell you my main email address with which is jbatten at i2rs.nl and let me spell that for you this day.
|
||
|
|
I spell that for you this jbatten at i number then the number to rs.nl for the Netherlands now there's just one last thing I would like to thank Scott Holmes for his creative comments license the number follow your dreams that I've been using as the intro and also as the extra of this podcast so thanks a lot for that.
|
||
|
|
And to my audience I would say till we meet again.
|
||
|
|
You
|
||
|
|
You
|
||
|
|
You
|
||
|
|
You
|
||
|
|
You
|
||
|
|
You
|
||
|
|
You
|
||
|
|
You
|
||
|
|
We
|
||
|
|
You
|
||
|
|
We
|
||
|
|
You
|
||
|
|
You
|
||
|
|
You
|
||
|
|
You
|
||
|
|
You
|
||
|
|
We are a community podcast network that releases shows every weekday, Monday through Friday.
|
||
|
|
Today's show, like all our shows, was contributed by an HBR listener like yourself.
|
||
|
|
If you ever thought of recording a podcast, then click on our contributing to find out how easy it really is.
|
||
|
|
HECA Public Radio was founded by the digital dog pound and the Infonomicon Computer Club and is part of the binary revolution at binrev.com.
|
||
|
|
If you have comments on today's show, please email the host directly, leave a comment on the website or record a follow-up episode yourself.
|
||
|
|
Unless otherwise stated, today's show is released on the Creative Commons, Attribution, Share a Life, 3.0 license.
|