Unix in East Germany (GDR)

Peter Lamb prl at ethz.UUCP
Wed Jun 13 15:26:13 AEST 1990


The following article appeared (in German) on the German UUG net and
SubNet. It tells a short history of Unix in the German Democratic Republic.

The original author (Guenther Fischer) can be reached at
gf at tu-k-ddr.cs.tu-berlin.de.
Translation and redistribution is with the author's permission.
The original can be had by emailing me (prl at iis.ethz.ch).


Peter Lamb
uucp:  uunet!mcsun!ethz!prl	eunet: prl at iis.ethz.ch	Tel:   +411 256 5241
Integrated Systems Laboratory
ETH-Zentrum, 8092 Zurich



			UNIX at the TUK/IF

		    Attempt at a private history.

Technical University Karl-Marx-Stadt, Computer Science Department

Guenther Fischer und Matthias Clausz
Translation Peter Lamb, ETH Zurich, with the kind permission of the authors.


Getting started


1982 - our department had none of its own students (a department without
students is like a dried-out tree) - we were more a service department
for the whole school (teaching and technical computing services).
Our computing base was 2 ESER I machines (alias IBM 360). We had
finally made the jump from DOS to OS, and then with some pressure
switched over to TSO - our slogan then was `TSO keeps everyone
happy' (TSO macht alle froh) [ perhaps the abuse of dead whales
is popular in the GDR - pl :-) :-) ]. We were also just about
ready to move away from Assembler programming.


The lucky break.


One day a magtape, which our IBM-clone could make nothing of, fell into
our laps. After analysing it with Hex-Dump it wasn't so hard to see the
ASCII codes and the 512-byte blocking. Even if you don't know what
it is, it's not so hard to read and print out a tar-format tape.

What we then saw on paper (our printer had only capitals and the
restricted special characters from IBM stone age), was cryptic enough.
The comments and the README's gave away the secret.

It was a [compiler for a - pl ] programming language and the name
UNIX appeared occasionally. Literature research quickly brought
light onto the matter. We even found an unnoticed book in the department;
Kernigan&Ritchie's `The C Programming Language'.

We were immediately enthusiastic about the idea that an operating
system could be written in a high-level language and could run on different
machines.

Literature searches, a draft translation of the `C' book and an implementation
of the `C' preprocessor cpp in our System-Pascal (our first attempt at an
alternative to Assembler) rapidly made us known in the Unix-scene in the GDR
(in the land of the blind, the one-eyed man is king).
In this way we came into contact with other Unix efforts in the GDR: the
Froelich brothers (ZKI and LfA Berlin), our collegues in ZfT KEAW Berlin and
the TH Ilmeneau, as well as the small team at Robotron Dresden.


How to knit a C compiler.


Encouraged by the success of the cpp effort (translation into a language
similar to `C'), we continued on to the port of the compiler itself.
Since we had no machine with a `C' complier, we chose the same method:
translation by hand into another language. In a finite time (about
3 months), we had a `C' compiler which produced PDP/11 assembler. The next
stage for us, relatively computer-ignorant, was more complicated. We had to
convince the code generator to produce IBM 360-Assembler, and the code
should also be reasonably good. After the first few attempts, we got the
first

	hello world

on the screen fairly quickly. After about 4 months we succeeded in compiling
the `C' compiler itself. Of course it was initially PDP/11 code that came out,
but from then on, we were able to think in `C'. The alterations to the code
generator had to be ported back into the original compiler.


Unix - the first stage


We built up our relationship with LfA, since their work on PSU
was closest to what we wanted. PSU was planned as a subsystem under
OS. PSU was similar to Unix, but was restricted -- in particular
multiprocessing was simulated sequentially. The first GDR-Unix was
a batch system, and was implemented in assembler.
As TSO `sharks', we missed the interactive capabilities, and we assisted
the port of PSU to TSO with advice and action. As soon as PSU ran,
we ported our compiler to this environment -- the first version ran under OS.
We also worked in close association with LfA on the compiler.

The bulk of Unix tools could then be ported to PSU. Wump (`hunt the wumpus')
enjoyed great popularity -- in the graphics age nobody remembers this program.
Other Uni's and Colleges assisted with the ports and helped find compiler
bugs. But we had a real cuckoo's egg in the nest (or rather LfA had put one
there), since PSU used EBCDIC.
Some ports (eg. nroff) were true works of art.

But our efforts began to bear fruit:
 - the students and staff could work with the same tools both in batch
   and interactively,
 - OS and TSO could no longer be seen,
 - we could start to educate ourselves for the future.
 
Unix - stage 2

Parallel to our PSU activities, we ran Unix V7 part-time on a `foreign'
[non-360 - pl] machine (PDP 11/20) to get some `real' Unix experience.
Later we ran two such machines in our department, which could then be
easily incorporated in our education and reseatch efforts.

Unix - stage 3

We moved to a new situation when our two 360's were exchanged for 370's.
We wanted to put real Unix on the new machines. Development efforts,
much enthusiasm and a few happy coincidences put us in the position of being
able to port Unix such that we had full source, that supported all our
peripherals, and that could run `standalone' (without VM), and for which
we now had complete German documentation. Th this phase we were actively
assisted by TH Leipzig and FSU Jena.

The associated installation of about 30 Unix terminals brought us a good piece
forwards in education and research. However our so-called `mainframe' with
0.5 MIPS is often overloaded and sometimes requires patience.

>From this basis came numerous developments:
 - a job scheduler to permit overnight scheduling - interactive use was
   insufficient to meet all the computing needs for the students' prac. work.
 - a number of compilers: Pascal, Modula 2, Lisp, C, C++,
 - numerous technical tools.


In the meantime - 8-bit micros


These systems ran CP/M are only mentioned because they were the
basis for education with Turbo Pascal, database and textprocessing systems
and serve still as stable workhorses.


8 + 8 = 16 == P8000


A significant improvement in our computing misery was brought by
the use of P8000 systems. These machines, based on the Z8000 ran
the Unix system WEGA.


Unix == Unix ? great : not-so-great


At last it was clear: it was advantageous to run Unix on all our computers
(except for the 8-bit machines), but Unix'es can be quite different from each
other. VMX (our 370 system) was approximately Version 7, and WEGA was supposed
to be System III compatible. As passionate collectors of Unix literature,
we naturally followed all the activities of from /usr/group, SVID and X/OPEN
up to POSIX.


GDR-UUG (EAG)


"GUUG and EAG: why not unity from below?"

All GDR Unix developers saw a great need for a uniform documentation
of all the varieties of Unix systems. Two years ago we started to write
documentation for system calls and library functions, which were based
upon X/OPEN and SVID; roughly equivalent to System V Release 2. The command
documentation (man1) followed. All systems, where possible, should conform to
this standardised interface. Where this was not possible, at least
the differences should be documented.

This has been pushed quite far for two systems (VMX and MUTOS 1835). Our
documentation was made available to others through the EAG, to serve
as an example for further systems.


The Flop.


MUTOS 1835 was a UNIX port which we did under contract for an AT-compatible
from Robotron. Since this machine was never produced, the whole thing
must be seen as a flop.


Unix -- here and now.


We see our efforts with X and ET++ on the AT/286 as training
for better (hardware-) times. We should have been working on the
development of a 386 for the past year, but so far it has not been
possible for us to turn up even one such machine.
In the meantime, another K1840 (VAX/11-780-alias) has been installed,
running its now-standard operating system Unix-OS MUTOS 1800.

At the moment we are working on bringing VMX up to System V Release 3.
This work is largely being undertaken as student projects.


... and Tomorrow?


We have been following the GNU project with great interest, the current work
of X/OPEN and OSF, particularly now that AIX has been replaced by Mach.
We are told that OSF is interested in University partners!?

And here are we by our current problem: What are our directions for
our research? Formerly, we were behind double walls -- one we built ourselves
and the second by the West (eg. COCOM) -- but even this is crumbling.
Our catching-up of the last years came from a sense of emergency, and we
learnt our trade through it. Now we need security for our future research
which will give us the freedom to purchase new hard- and software, participate
in international conferences, connect to networks and
update our literature.
Whether this comes through cooperative projects with other institutions,
through industrial research or however, is almos irrelevant to us --
we want, as far as possible, to determine our own future and not wait until
it comes to us from `above'.

This last paragraph may be taken politcally.


Author: Guenther Fischer (gf at tu-k-ddr.cs.tu-berlin.de)


Glossary of abbreviations:
TH - Technische Hochschule (Technical College)
EAG - Entwickler- und Anwendergemeinschaft / GDR-UUG
    : GDR-UUG; now also GUUG/east
ZKI - Zentralinstitut fuer Kybernetik und Informatik
    : Institute for Cybernetics and Informatics
LfA - Leitzentrum fuer Anwendungforschung
    : Software Company
ZfT KEAW - Zentrum fuer Technik im Kombinat fuer Elektro-Apparate-Werke
    : Technical Centre, Electrical Equipment Combine - R&D Centre for
      (amongst other things) electronic control.
FSU - Friedrich Schiller Universitaet

-- 
Peter Lamb
uucp:  uunet!mcsun!ethz!prl	eunet: prl at iis.ethz.ch	Tel:   +411 256 5241
Integrated Systems Laboratory
ETH-Zentrum, 8092 Zurich



More information about the Comp.unix.wizards mailing list