Mainframe
From Telecomix Crypto Munitions Bureau
Contents |
[edit] IBM Z
IBM Z-series mainframes are used for corporate business and keeping track of valuable information. An example mainframe could be used to keep track of cargo, where cargo is, when to buy new cargo, where to send the cargo and the interface for other corporations to buy cargo.
Mainframes are mostly used by old people (40+). Unlike the rest of the entire computer industry, the only ones that knows how to use and program mainframes are almost at the age of retirement. Because of this, they are slowly being phased out at some corporations.
Because of IBM Z mainframes, COBOL is still a used language. Wikipedia says: "The COBOL specification was created by a committee of researchers from private industry, universities, and government during the second half of 1959."
Quite a lot of old women write COBOL for corporate mainframes. More than you would think. The reason for this is probably that at the age of mainframes, well before the personal computer, it was cool to do electronics but it was seen as boring to write software. Because of that, a lot of women were assigned the tasks. Nowadays its the opposite.
Ordinary IBM Z-series mainframes has anywhere between 16 and 1520 GB of RAM. Z-10 has up to 52 quad-core CPUs at 4.4GHz. They mostly have external storage devices: anything in between magnetic tapes and large disk arrays connected via fiber optics.
[edit] What do they do?
Unlike normal computers, they run batch jobs. These jobs are executed either in chains ("run this batch when these batch jobs are complete") or run at specific times during the day. The only user interaction with Z/OS is via weird 3270-terminals. It is pretty much pre-UNIX.
A batch job is something like "compute and sort a new group of shipments to be done, sort them depending on arrival date".
The jobs are named stuff like "PC4BKP-3", which never makes any sense at all for everyone but the programmer.
Files are not used. Instead, data set is the word being used.
[edit] Price
They cost more than any single human can ever pay.
Their pricing model is based on usage and certificates. If a corporation grows and needs to make more computations than before, they hire a set of new CPUs. The corporation then receives keys to unlock more of the mainframes already mounted CPUs, that already is in the machine. The mainframes are generally not owned by the corporations that use them, but rather rented from IBM.
something like: 300000€ + 10000€/month (Is this correct?)
[edit] Security
The mainframes themselves does not have very much security at all. Instead they are being protected by firewalls and put inside LANs, unreachable from the internets.
If you would be able to hack into a mainframe, the largest problem you would face would probably be to understand what you are doing in the terminal. It will not look like anything you have ever seen before, unless of course if you have seen IBM Z/OS. Simple stuff like copying a file is esotheric knowledge.
[edit] Z-series assembly language
- Backwards-compatible to the 60ies or something.
- It does not look like normal assembly.
- Lines starting with // are NOT comments, as one might suspect. They are JCL-commands for how to load and run the program.
Example assembly program that I shamelessly ripped from a friend:
//NETJEASM JOB (ABC,DEPT),'JETEST1 ',CLASS=F, // NOTIFY=&SYSUID,MSGCLASS=H //ASSEM EXEC PGM=ASMA90,PARM='LINECOUNT(35)' //SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB // DD DISP=SHR,DSN=SYS1.MODGEN // DD DISP=SHR,DSN=ABC.PROD.DBMACSRC //SYSUT1 DD UNIT=SYSDA,SPACE=(1700,(400,40)) //SYSUT2 DD UNIT=SYSDA,SPACE=(1700,(400,40)) //SYSUT3 DD UNIT=SYSDA,SPACE=(1700,(400,40)) //SYSLIN DD DSNAME=&&OBJMOD,RECFM=FB,LRECL=080, // SPACE=(0400,(0100,100)),UNIT=SYSDA,DISP=(NEW,PASS) //SYSPRINT DD SYSOUT=* //SYSIN DD * JETEST1 CSECT * PRINT NOGEN PRINT NOGEN YES EQU X'FF' NO EQU X'00' JA EQU X'FF' NEJ EQU X'00' REGINIT PERFORM INIT PERFORM PROCESS PERFORM SLUT L R15,RETCODE L R13,4(R13) RETURN (14,12),RC=(15) RETCODE DC F'0' EJECT * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * INIT ÖPPNA FILER * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * INIT SUB OPEN (SYSUT1,,SYSUT2,OUTPUT) MVC RETCODE,=F'4' SUBEXIT EJECT * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * PROCESS * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * PROCESS SUB * DOWHILE CLI,=AL1(JA),JA,E DO WHILE: YES IS YES, EQUAL DOWHILE CLI,=AL1(YES),YES,E MVC RECORD,BLANKA GET SYSUT1,RECORD CASE WHEN CLC,=C'NÄSTAN',RECORD,E MVC RECUT(10),=C'ABSOLUT' MVC RETCODE,=F'4' * ** OBS! WE CHANGE THE RETURNCODE. ** PUT SYSUT2,RECUT ENDCASE PUT SYSUT2,RECORD ENDDO EOF EQU * SUBEXIT EJECT * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SLUT STÄNG FILER * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SLUT SUB CLOSE (SYSUT1,,SYSUT2) SUBEXIT SYSUT1 DCB DSORG=PS,DDNAME=SYSUT1,MACRF=GM,EODAD=EOF SYSUT2 DCB DSORG=PS,DDNAME=SYSUT2,MACRF=PM SKRIVES DC AL1(NEJ) BLANKA DC CL150' ' RECORD DS CL150 RECUT DC CL100' ' ORG RECUT MEMBER DS CL8 DC C': ' UTREF DS CL60 ORG END JETEST1 /* //LNK EXEC PGM=IEWL,PARM=(MAP),COND=(4,LT,ASSEM) //SYSUT1 DD UNIT=SYSDA,SPACE=(1024,(100,10)) //SYSLMOD DD DISP=SHR,DSN=NETENJO.TEST.LOAD //SYSPRINT DD SYSOUT=* //SYSLIN DD DSNAME=&&OBJMOD,DISP=(OLD,DELETE) // DD DDNAME=LENKIN //SYSLIB DD DISP=SHR,DSN=NOV.PROD.FASLIB //LENKIN DD * NAME JETEST1(R) /* //JETEST1 EXEC PGM=JETEST1,COND=(4,LT,ASSEM) //STEPLIB DD DISP=SHR,DSN=NETENJO.TEST.LOAD //SYSUT1 DD * TESTAR LITE PARSANDE I MITT NÄSTAN FÖRSTA ASSEMBLERPROGRAM /* //SYSUT2 DD SYSOUT=*,RECFM=FB,LRECL=100 //SYSUDUMP DD SYSOUT=*
[edit] Emulator
The Hercules emulator is publicly available.
Hercules implements only the raw S/370, ESA/390, and z/Architecture instruction set; it does not provide any operating system facilities. This means that you need to provide an operating system or standalone program which Hercules can load from an emulated disk or tape device. You will have to write the operating system or standalone program yourself, unless you can manage to obtain a license from IBM to run one of their operating systems on your PC, or use IBM programs and operating systems which have been placed in the public domain.
[edit] PNR
The Passanger Name Record, used for keeping track of who has been traveling where, and at which time, since the dawn of digital airline ticket systems in the 80ies (data is never erased), is kept by a small number of IBM Z mainframes. They are mostly located in the USA.
- The European Union and USA negotiate exchange of PNR data, 2011. [1]
- October 26+ is agreement dates
[edit] Data retention directive
HP DRAGON (short for "Data Retention and Guardian ONline") is a network of computers that is being sold by Hewlett Packard as a solution for telecom operators to handle the data retention directive. It is described as a somewhat distributed mainframe in their brochures. It is used for telephone and mobile-phone surveillance.
- random newspaper
- random market analysis document (or whatever) from 1993, by the Clipper group
- some HP-website explaining more about their product
[edit] How they look like?
TCMB agent licking a Z9 mainframe.