Bob Eager
2024-02-28 22:47:14 UTC
This was another escapade on the ICL 4130 running KOS. By this time I was
a (supposedly responsible) postgraduate.
The 4130 was running out of disk space, but it was nearing the end of its
10 year funded life. It had four 2MB disks, but needed more; however, it
was not cost effective to buy more disks, and, I believe, an extra disk
controller. Indeed, I am not sure that they were even available.
Two members of staff (one being the big boss) thought up a cunning plan
for cheap disk space. This used a PDP-11 as a kind of file server. One of
the staff built a hardware interface between the 4130 and the PDP-11, and
the other wrote the link software. There was also a little extra software
in the PDP-11.
The basic idea was that the PDP-11 appeared as an extra disk - the current
disks had single digit numbers, and the disk on the PDP-11 became disk 99.
The PDP-11 ran its manufacturers' operating system - a pretty basic one
called DOS/BATCH. Filenames on the 4130 were a maximum of eight
characters, whereas they were 9 characters on the PDP-11. One could thus
directly map filenames from 36 users on the 4130 to a single user on the
PDP-11, by using the extra letter or digit to differentiate files for
different users (there were a limited number of user accounts in DOS/
BATCH).
This all worked surprisingly well. The disk on the PDP-11 was an RP02,
which was 20 megabytes; this was a vast improvement. A second disk was
added later.
Until I came along! One day, I had written a program to do something
pretty innocuous; I forget what it was. I accidentally got it into a loop
writing to a file, and managed to fill up the rest of the 20 megabytes. I
realised what I'd done, so I simply deleted the rather large output file.
This would have been OK, but ...
DOS/BATCH used the system of 'block chaining' to construct files in its
filing system. Essentially, files were linked lists of blocks, with a
bitmap or a free list recording free blocks. When I deleted my large file,
its deletion involved laboriously crawling down the very long chain of
blocks in the file, returning each one and marking it as free. This took a
long time - so long, in fact that the 4130 thought the PDP-11 had crashed.
The software was very simple - it did the easiest thing - it halted the
machine.
So I brought the University mainframe to a standstill by deleting a file.
a (supposedly responsible) postgraduate.
The 4130 was running out of disk space, but it was nearing the end of its
10 year funded life. It had four 2MB disks, but needed more; however, it
was not cost effective to buy more disks, and, I believe, an extra disk
controller. Indeed, I am not sure that they were even available.
Two members of staff (one being the big boss) thought up a cunning plan
for cheap disk space. This used a PDP-11 as a kind of file server. One of
the staff built a hardware interface between the 4130 and the PDP-11, and
the other wrote the link software. There was also a little extra software
in the PDP-11.
The basic idea was that the PDP-11 appeared as an extra disk - the current
disks had single digit numbers, and the disk on the PDP-11 became disk 99.
The PDP-11 ran its manufacturers' operating system - a pretty basic one
called DOS/BATCH. Filenames on the 4130 were a maximum of eight
characters, whereas they were 9 characters on the PDP-11. One could thus
directly map filenames from 36 users on the 4130 to a single user on the
PDP-11, by using the extra letter or digit to differentiate files for
different users (there were a limited number of user accounts in DOS/
BATCH).
This all worked surprisingly well. The disk on the PDP-11 was an RP02,
which was 20 megabytes; this was a vast improvement. A second disk was
added later.
Until I came along! One day, I had written a program to do something
pretty innocuous; I forget what it was. I accidentally got it into a loop
writing to a file, and managed to fill up the rest of the 20 megabytes. I
realised what I'd done, so I simply deleted the rather large output file.
This would have been OK, but ...
DOS/BATCH used the system of 'block chaining' to construct files in its
filing system. Essentially, files were linked lists of blocks, with a
bitmap or a free list recording free blocks. When I deleted my large file,
its deletion involved laboriously crawling down the very long chain of
blocks in the file, returning each one and marking it as free. This took a
long time - so long, in fact that the 4130 thought the PDP-11 had crashed.
The software was very simple - it did the easiest thing - it halted the
machine.
So I brought the University mainframe to a standstill by deleting a file.
--
Using UNIX since v6 (1975)...
Use the BIG mirror service in the UK:
http://www.mirrorservice.org
Using UNIX since v6 (1975)...
Use the BIG mirror service in the UK:
http://www.mirrorservice.org