From mboxrd@z Thu Jan 1 00:00:00 1970 From: clemc@ccc.com (Clem Cole) Date: Mon, 23 Apr 2018 17:27:29 -0400 Subject: [TUHS] /dev/drum In-Reply-To: <4b95c9f6-0190-be93-7284-d03be289c4ba@gmail.com> References: <8225C5DB-27BD-464E-930A-522C30C20EBD@tfeb.org> <25A1FED0-4F8B-408F-B27B-5728C649D8BE@collantes.us> <7wfu3nuqeb.fsf@junk.nocrew.org> <3A18DFEC-42B7-4234-9DD1-367733270D50@tfeb.org> <0abe01d3db28$b6573660$2305a320$@ronnatalie.com> <4b95c9f6-0190-be93-7284-d03be289c4ba@gmail.com> Message-ID: On Mon, Apr 23, 2018 at 5:14 PM, Dan Mick wrote: > On 04/23/2018 02:06 PM, Clem Cole wrote: > > > > > > On Mon, Apr 23, 2018 at 4:47 PM, Grant Taylor via TUHS > > > wrote: > > > > On 04/23/2018 11:51 AM, Clem Cole wrote: > > > > By the time of 4.X, the RP06 was 'partitioned' into 'rings' > > (some overlapping). The 'a' partition was root, the 'b' was > > swap and one fo the others was the rest. Later the 'c' was a > > short form for copying the entire disk. > > > > > > I had always wondered where Solaris (SunOS) got it's use of the > > different slices, including the slice that was the entire disk from. > > > > Now I'm guessing Solaris got it from SunOS which got it from 4.x BSD > > > > ​It was not BSD - it was research. It may have been in 6th, but it was > > definitely in 7th. Cut/pasted from the V7 PDP-11 rp(4) man page: > > > > *NAME* > > > > rp − RP-11/RP03 moving-head disk > > > > *DESCRIPTION* > > > > The files rp0 ... rp7 refer to sections of RP disk drive 0. The > > files rp8 ... rp15 refer to drive 1 etc. This > > > > allows a large disk to be broken up into more manageable pieces. > > > > The origin and size of the pseudo-disks on each drive are as > > follows: > > > > disk start length > > > > 0 0 81000 > > > > 1 0 5000 > > > > 2 5000 2000 > > > > 3 7000 74000 > > > > 4-7 unassigned > > > > Thus rp0 covers the whole drive, while rp1, rp2, rp3 can serve > > usefully as a root, swap, and mounted user > > > > file system respectively. > > > > The rp files access the disk via the system’s normal buffering > > mechanism and may be read and written > > > > without regard to physical disk records. There is also a ‘raw’ > > interface which provides for direct transmission > > > > between the disk and the user’s read or write buffer. A single > > read or write call results in exactly one > > > > I/O operation and therefore raw I/O is considerably more > > efficient when many words are transmitted. The > > > > names of the raw RP files begin with rrp and end with a number > > which selects the same disk section as the > > > > corresponding rp file. > > > > In raw I/O the buffer must begin on a word boundary.​ > > > > ᐧ > > But...that has numbers, not letters, and the third partition is not the > whole drive, the first one is....? > Yup -- disk were pretty expensive in those days ($20-30K for a <100M drive) so often people did not have more than one. So they started with rp1, rp2 etc.. As disks dropped a little cheaper and having more than one RP06 became possible (RP06 aka IBM 3330 - project Winchester -- was a huge 200M drive - we had 3 on the Teklabs machine and that was considered very, very generous), then letters became the convention used in /dev/. i.e. /dev/{,r}rp0{a,b,c,d..} for each of the minor numbers. To be honest, I really don't remember - but I know we used letters for the different partitions on the 11/70 before BSD showed up. The reason for the partition originally was (and it must have been 6th edition when I first saw it), DEC finally made a disk large enough that number of blocks overflowed a 16 bit integer. So splitting the disk into smaller partitions allowed the original seek(2) to work without overflow. V7 introduced lseek(2) when the offset was a long. Clem ​ ᐧ ᐧ -------------- next part -------------- An HTML attachment was scrubbed... URL: