Skip to content

My first OS4000 login in 20 years (approx)

This should freak out a few friends. :-)

OS4000 Rel 6.5 A036 on A7 WED 24 JUN 2009 08:05:53
Logging in
user ALEC
password

ID last used WED 24 JUN 2009 07:56:36
STARTED - WED 24 JUN 2009 08:06:02
OS4000 Rel 6.5 A036 on A7 WED 24 JUN 2009 08:06:02
error 10 unknown command: USER.INITJCL
EXEC USER.INITJCL

READY
EXAMINE POOL
EXAMINE version 305

Catalogue  POOL
--------------------------------------------------------------------------------

BLOCKING  LST   BYTPERF   LST   BYTPERF2  LST   CONTROL   CAT   D0A1A020  PRB
DATA      CAT   DFDR706   LST   DFDRBYT   LST   DFDRLIST  LST   DFDRLST   LST
DISCARD   LSB   DUFFMAIL  LST   ED803900  LST   ETHDUMP   PRB   FORMATS   LST
FTP       LSB   FTP2      LSB   FTPD4     BYT   GHOST     CAT   LIFT      CAT
LINKJCL   CAT   LINKS     CAT   LOG       LSB   LOGIN     CAT   LOGN803   LST
MAIL1019  LST   MAIL353   LSB   MAILDIV   LST   MAILTAB5  LST   NFSIDGEN  BYT
OBJ       CAT   OFTPD     LSB   OLIFT     LSB   OUTFILE   LST   PERF      LST
PROTTEST  LST   RCP       LST   RCP1      LST   SADGDISC  LSB   SD        CAT
SPAT      LST   TCP6      LST   TCP66     LST   TCPRELAY  CAT   TCPSPI    LST
TCPSPILI  LST   TEST      BYT   TESTCPW   LST   TESTPAS   LST   TIMER     BYT
TIMTEST   LST   UIMLINKS  LST   WORK      CAT

--------------------------------------------------------------------------------

READY
EXAMINE SYS
EXAMINE version 305

Catalogue  SYS
--------------------------------------------------------------------------------

ACCOUNT   LSB   ACCTGEN   LSB   ADDRGEN   LSB   AIDA      LSB   ASS68000  LSB
ASS68K    LST   AUTOGEN   LSB   BABB      LSB   BABBCLG   LST   BASIC     LSB
BIDA      LSB   CHIP      LSB   COLS      LSB   COMM      LSB   COMM2     Ref
COMP      LSB   CONTROL   LSB   CONVERT   LSB   COPY      LSB   CSOT      LSB
DEFAULT   LST   DIRE      LSB   DIRE1     LSB   DISCLOG   LSB   DISCTOOL  LSB
DOCU      LSB   DODM      LSB   DOTS      LSB   DPAIDA    Ref   EDIT      LSB
ETHERNET  LSB   EXAMINE   LSB   FCHK      LSB   FCOPY     LSB   FILEGARB  LSB
FORM      LSB   FTP       LSB   GARB      LSB   GARB1     LSB   GEDIT     LSB
IBDA      LSB   INIT      LSB   INIT1     LSB   INITAIDA  LST   INITJCL   LST
INITMESS  LST   INITPROF  LST   INITSMOA  LST   INITSMOP  LST   INSPECT   LSB
ISFC      LSB   LCPSTAT   LSB   LGEN      LSB   LIFTPTCH  LSB   LINK2     LSB
LINKCAT   CAT   LINKLIB   LRB   LK68000   LSB   LPOT      LSB   LPQ       LST
LPR       LST   MAIL      LSB   MAILADD   LSB   MAILHELP  LRT   MERGE     LSB
ML1       LSB   ML1LIB    LST   ML1LIBB   LST   NFS       LSB   NFSIDGEN  LST
NNFS      LSB   OCOMM     LSB   ODP       LSB   OMAIL     LSB   OS68000   CAT
PAD       LST   PADCAT    CAT   PASXREF   LSB   PREPROC   LSB   PROFILE   LSB
PWGEN     LSB   RALDUMP   LSB   RELOAD    LSB   RSH       LSB   SADGCOMM  LSB
SADGCOMP  LSB   SADGDISC  LSB   SADGDUMP  LSB   SALVE     LSB   SALVE110  LSB
SETACCO   LSB   SETACCO1  LSB   SETIPL    LSB   SETIPL1   LSB   SETRAF    LSB
SETTERM   LSB   SF        LSB   SGSFDISC  LSB   SMAO      Ref   SORT      LSB
SPI       LSB   SRECCONV  LSB   SUNDRY    CAT   SYSMON    LSB   TCPSPI    LSB
TITLEGEN  LSB   TRACE     LSB   TRANSFER  LSB   TUNE      Ref   USERS     LSB
XPCONFIG  LSB   XREF      LSB

--------------------------------------------------------------------------------

READY
GEDIT FOO
Filing error 203 : unknown context pointer condition code 16 s= CC52 past= 7

GEDIT FROM SINK TO .FOO
GEDIT 301 ready
***bottom
I HELLO WORLD
Syntax error I HELLO WORLD
***bottom
I/HELLO WORLD!/
HELLO WORLD!
            ***bottom
E
Edit OK

READY
EXAMINE USER
EXAMINE version 305

Catalogue  USER
--------------------------------------------------------------------------------

FOO       LST

--------------------------------------------------------------------------------

READY
LOGOUT
CPU used: 2 ieu  elapsed time used: 2 mins
User ALEC terminal   7 logged out  WED 24 JUN 2009 08:08:02

OS4000 Rel 6.5 A036 on A7 WED 24 JUN 2009 08:08:04
Logging in
user too long - terminated

***Unplugged connection from Way 37

There’s a working system, *plus* a full hardware emulation and nucleus running on Solaris.

w00t!

Now where did I leave that JCL manual?

{ 19 } Comments

  1. David Edmondson | 2009/06/24 at 10:00 | Permalink

    You can do better than this for 17 months, surely!

  2. Jim | 2009/06/24 at 10:02 | Permalink

    Where on earth did you get that?

  3. alecm | 2009/06/24 at 10:09 | Permalink

    Turns out a colleague here at Sun for the past forever, has been hiding the secret that he used to work at GEC. There’s other news, too, bit I’ll ask him to share. :-)

  4. alecm | 2009/06/24 at 10:34 | Permalink

    since Jim lacks TrackBack support:

    http://found.pale.org/?c=id&p=5285

    …Via Alec, two bits of news on this venerable and insane operating system, which ran on GEC mainframes back from the late 70′s through to the turn of the century, and was a part of UK Internet history. Firstly, he’s managed to get hold of an emulation of the bloody thing; and secondly, the Wikipedia page is under threat of deletion for non-notability. As Alec says, poppycock. Although I never really poked around inside it, I recall its bizarre directory structure and its awesome command syntax: everything you did sounded like it was a command to launch the nuclear weapons from some 80′s hacker movie. FCOPY USER SINK TRACE DESTROY for example, to delete all a users files (IIRC)….

  5. Chris Samuel | 2009/06/25 at 12:37 | Permalink

    OK, so where’s .d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. (etc) ? ;-)

  6. Chris Samuel | 2009/06/25 at 12:39 | Permalink

    Now all we need is a Honeywell L-66 emulator, GCOS-3 and a B compiler.. ;-)

  7. Stephen Usher | 2009/06/25 at 17:29 | Permalink

    Yikes!

    I’d better get the POOL.CONVERSE source out of the cupboard. :-)

    I’m sure that Rob still has the Bullet II sources too.

  8. Simon | 2009/06/25 at 19:26 | Permalink

    Damn Stephen beat me to the obvious comment on Bullet source code.

  9. Stephen Usher | 2009/06/25 at 19:54 | Permalink

    A little snippet from the “good ol’ days”…

    Message from ZCAHBRN just gone a quarter to ten pm, 7th January 1987
    ———————————————————————–
    Just a little message to tell you that we, Igor et moi, have decided
    to shift the conflab/verse files from POOL.MESSIDS to POOL.MESIDS as
    Igor says you intended to do. This has, however, necessiatated the
    removal of you CONVERSE temporarily until such time as you can
    amend your macro to cope with this. All conflab/verse original
    references in POOL.MESSIDS have been removed. Good luck with the
    project,

    Rob & Igor.

  10. Stephen Usher | 2009/06/25 at 20:01 | Permalink

    And, here’s practically my last login to the old EUCLID at UCL… Maybe we should archive this stuff somewhere? National Computing Museum, Bletchley Park, maybe?

    UCL Data Exchange NODE 3^G
    03.026
    Which Service?
    pad
    Connected

    ^LUCL PAD 2 line 4 speed 2400
    PAD2>
    PAD2>logon f f
    PAD2>call 000005111000
    *** Call connected
    too long – terminated

    SESSION STARTING

    Euclid Rel 4.17.2c Rim-C FRI 08 JUN 1990 19:50:16

    enter userid and account ucacmsu ucac
    enter password
    Started – FRI 08 JUN 1990 19:50:34
    ID last used WED 06 JUN 1990 17:05:40
    Session limit 121 minutes
    *** THE EUCLID SERVICE WILL TERMINATE THIS FRIDAY (8th JUNE) AT 2000 ***

    ******************************************************************************
    * USING FORTRAN ON THE PYRAMID *
    * For details of plans for alternative facilities for Fortran users, *
    * enter HELP PYRAMID FORTRAN. *
    * *
    * TRANSFERS TO THE PYRAMID *
    * Any users who have not run the TOUNIX command and wish to transfer to *
    * the Pyramid should do so as soon as possible. *
    ******************************************************************************

    **** For all you aspiring Unix users the next Introduction to Unix Courses
    will run on Monday 11th and Friday 15th June.

    –> Your userid has been set up on the Unix service
    –> Your mail files have been copied to this service
    –> Files created or changed on Euclid
    –> will NOT be automatically copied to the new service
    There are changes to bulletin board:
    PDSOFT.
    No mail has arrived since 11:05:27 on TUE 02 JAN 1990.
    I148(UCACMSU:TF39), I129(UCCA03E:TF28), I024(UCCA20D:TF27)
    I035(UCZZW03:TF26), I026(UCCA11J:TF2
    I031(UCJTPAD:TF13), I131(ZCESE30:TF6
    I141(UCCA021:TF41), I139(GUEST:TF42), I147(ZCAPD49:TF40)
    Do you want to go into KERNAL? (semi-random ready generator)

    Hi this is Eddie, and I’m feeling just great Guys!

  11. Jim | 2009/06/26 at 13:41 | Permalink

    000005111000. Bloody hell. What other JANET addresses can we remember?

  12. Andrew Gabriel | 2009/06/26 at 13:46 | Permalink

    It’s interesting to get the shutdown date/time recorded. The session limit of 121 minutes would seem to be unobtainable in this case;-) Not sure why you connected in through a PAD — the UCL Data Exchange was connected directly to Euclid terminal lines.

    I was given the UCL disks when they arrived back at GEC after Euclid closed down. They were the best example we ever found of gross fragmentation, corruption, etc, and looked like they’d never been garbage collected! I used them for testing a new disk maintenance utility on. The filesystems were in such a bad state as a result of no maintenance they would have been having a very significant slowing effect on the OS. Before anyone asks, no, the data on the disks wasn’t preserved after I finished with them.

  13. alecm | 2009/06/26 at 13:54 | Permalink

    I remember UCL DCX too, but sometimes from student houses and other universities we used to come in over JANET.

    As to the disk fragmentation, some of that may have been my fault. I forget the JCL now – too rusty – but it was something like:

    create dir .T
    context T .T
    loop:
    create dir T.T
    context T T.T
    goto loop

    …which did something very nasty indeed; apparently either Andrew Gosling or Jeremy Perron had to physically edit the disk contents and GC, or something…

  14. alecm | 2009/06/26 at 13:58 | Permalink

    After experience with SINK, I always felt there needed to be a /dev/nulldir on unix; any file under it existed and was empty, any file written to it, thrown away. Alas I’ve never seen it…

  15. Andrew Gabriel | 2009/06/26 at 15:51 | Permalink

    SINK is identical to /dev/null. The OS4000 stdio library (called UIM) was actually told when a stream was connected to SINK, so it could simply return read and write calls (GET and PUT) without bothering to do anything with the data, so mostly data never even got to the SINK device driver (DMAN.DSP) in the first place. There was no OS4000 equivalent of /dev/zero.

    I wrote the OS4000 PIPE driver (DMAN.PIPE), but that didn’t go into standard OS4000 until Rel 5 or Rel 6 (I forget exactly when), so it was never on the UCL system (which looks like it last ran Rel 4.17).

    The per-login-session temporary files (%C, &FRED, and similar) always seemed like a great idea which unix is sadly missing. Sharing a per-system /tmp between users never seemed sensible to me.

  16. Andrew Gabriel | 2009/06/26 at 16:16 | Permalink

    The filesystem fragmentation was caused by running heavy write workloads with almost full disks, exactly same as would happen with UFS. You can’t do much optimizing of file block placement when there are only 2 spare sectors left at opposite ends of the disk;-) If you never garbage collect, you never bring these fragments back together. It was typical to see up to perhaps 5% fragmented files on most systems which do even just quarterly garbage collections. ISTR the UCL disks were something like 98% fragmented files, meaning nearly all the files on the disks were written when the disks were virtually full, and they’ve never been garbage collected since. There were also quite a number of filesystem corruptions, which again would have been fixed by garbage collection. I can’t imagine how they happened in the first place though, as that’s not something I ever saw to anything like that degree with any other customer. Probably just 10 year’s accumulation of them.

    Your example creates a deep directory. OS4000 couldn’t care less about that – it has no limit. File paths may have been limited to 255 characters in some system calls, but you can use context pointers to get around that, up to any depth.

  17. Stephen Usher | 2009/06/27 at 00:10 | Permalink

    Jim, I have my punch card notes cards around here somewhere with a few of the addresses on them. I’ll try to fish them out.

    Andrew, actually, EUCLID continued to operate for about a month after that session. I was connecting from Cornwall using an Amstrad V22bis modem (which didn’t have error correction) which is why I came in via the PAD.

    Having said that, pretty well all access to EUCLID was via the PAD. It allowed users to connect to other services such as the UL Library system or ULCC.

    I wonder if the fragmentation was why Bullet slowed the system down. If it was anything like the Sun of Bullet (and hence Bullet III) it used files for data transfer. Then again, Robert did use some cunning things in Babbage and some even more cunning things by modifying the binary code.

  18. Chris Samuel | 2009/06/27 at 00:20 | Permalink

    Jim, I’m relieved to find that I can still remember that 00013000001 was UK.AC.ABER.H, confirmed by this list http://history.dcs.ed.ac.uk/archive/os/deimos/ercm09/emas-2900/nrsl.txt ;-)

  19. Chris Samuel | 2009/06/27 at 00:22 | Permalink

    Jim, I’m relieved to find that I can still remember that 00013000001 was UK.AC.ABER.H, confirmed by this list http://history.dcs.ed.ac.uk/archive/os/deimos/ercm09/emas-2900/nrsl.txt ;-)

    Alec, wasn’t that episode immortalised in an early version of The Alternative Wall ? All the ones I can find online have substituted “(core dumped)”, going back to 1992. :-(

Post a Comment

Your email is never published nor shared. Required fields are marked *