3 ms·
It's interesting where peoples' heads are. A number of people talk about device drivers, but back then few OSes ran on more than one kind of machine, and hardw
by gumby 3y ago
It's interesting where peoples' heads are. A number of people talk about device drivers, but back then few OSes ran on more than one kind of machine, and hardware didn't change much. So there wasn't much separation between hardware and software: you wanted a block of data written to disk, well, the filesystem implemented the code to twiddle the disk hardware directly.
Unix was unusual in that it was written in a pretty high level language, an idea inherited from Multics. Most OSes were written in assembly.
- thequux 3y agoNormally, the filesystem wouldn't directly twiddle the disk hardware; even on the PDP-11, you had a bewildering array of disk types: fixed head RC disks, single platter RL01/RL02, multi-platter RK01-RK07, RP disks that were a somewhat more advanced RK (but completely different interface), Massbus disks like the RM04, MSCP disks which were a very weird beast (the programming interface was not entirely unlike io_uring), etc. (to say nothing of the 4 different tape drive interfaces, two different floppy drives, and a mind-numbing array of serial interfaces) v6 unix already had support for most of these, and even the famously tiny RT-11 (which would happily run with 8k of core for the kernel) supported multiple different types of disks at the same time.
- gumby 3y agoYes but the question was about the original PDP-7 implementation of Unix, not the port/rewrite for a large volume (by the standards of the day) machine like the -11.