Live data from Hacker News

Unix Edition Zero (1971)

doc.cat-v.org

21–30 of 61 posts

Re: Unix Edition Zero (1971)

#22
post #19
post #18

Earlier quoted context omitted.

yeah, i think some of that was cp/m compatibility crap; too bad about 8.3 the other thing is that the pdp-11 had working segmentation, the 8086 didn't, so trapping faults in user processes so they couldn't break the kernel would have required some kind of interpretation or something did you know microsoft was shipping xenix in 01981 (the same year they started shipping qdos/ms-dos/pc-dos) and shipping xenix for the 8…

The first time you zero-padded a year to five digits, I thought it was an accident, but there's two more instances of it. Why do you write 1983 as 01983?

Probably due to this: https://longnow.org/

Personally I think it's a harmless but also not useful affectation (but I also think our chances of making it into the 10,000s as anything still using equivalent dates are slim at best).

Re: Unix Edition Zero (1971)

#23
post #20
post #11

seems extremely similar to modern unixes, though of course it's only a small subset main differences seem to be - filenames were only 8 bytes instead of 14 or 255 - devices were in the root directory instead of /dev: /ppt, /bppt, /rppt, /tty, /ctty, /tty1, /tty2, /rtty, /tap0, /tap1 (magtapes), /disk (the disk), and /system (the kernel memory) - there were no groups, just six permission bits (u+r, u+w, o+r, o+w, a+x,…

> `tar` is called `tap` and cannot put its archives in files other than actual physical magtapes Insofar as "everything is a file" applied at this point, could you just mv /tap0 out of the way and put a file there? If not, which of the few syscalls that had been invented so far was tap(1) using against /tap0, that couldn't be used against files?

it's hard to be sure from looking at a manual to a version of unix whose source code has been lost, but it seems that this might work

conceivably though /tap0 had different seek() semantics than regular files or something (it was a dectape)

Re: Unix Edition Zero (1971)

#24
post #7
post #6

TIL PDP-11 UNIX had an eight-character file/directory name limit https://retrocomputing.stackexchange.com/questions/23917/ori...

in 6th edition it was already 14 https://github.com/memnoth/unix-v6/blob/master/sys/ken/nami.... https://github.com/memnoth/unix-v6/blob/master/sys/param.h#L... i guess this 'edition zero' is from 01971, and 6th edition is 01975

To be pedantic, V0 actually refers to the PDP-7 UNIX released in 1969.

1971 saw the port to the PDP-11/20, which was released as UNIX-11 and soon after, V1 UNIX.

Re: Unix Edition Zero (1971)

#25
post #19
post #18

Earlier quoted context omitted.

yeah, i think some of that was cp/m compatibility crap; too bad about 8.3 the other thing is that the pdp-11 had working segmentation, the 8086 didn't, so trapping faults in user processes so they couldn't break the kernel would have required some kind of interpretation or something did you know microsoft was shipping xenix in 01981 (the same year they started shipping qdos/ms-dos/pc-dos) and shipping xenix for the 8…

The first time you zero-padded a year to five digits, I thought it was an accident, but there's two more instances of it. Why do you write 1983 as 01983?

That's a bit like his signature but it's also fairly annoying, it doubles the time required to interpret the number as a year, and I usually have to read the number twice.

Re: Unix Edition Zero (1971)

#26
post #24
post #7

Earlier quoted context omitted.

in 6th edition it was already 14 https://github.com/memnoth/unix-v6/blob/master/sys/ken/nami.... https://github.com/memnoth/unix-v6/blob/master/sys/param.h#L... i guess this 'edition zero' is from 01971, and 6th edition is 01975

To be pedantic, V0 actually refers to the PDP-7 UNIX released in 1969. 1971 saw the port to the PDP-11/20, which was released as UNIX-11 and soon after, V1 UNIX.

The edition numbers refer to the manual pages more than the software, which in the early days was under continual development running on approximately one machine. It wasn’t released in 1971.

Re: Unix Edition Zero (1971)

#27
post #18

Earlier quoted context omitted.

Oddly enough, it looks both more and less featured than MS-DOS, and the PDP-11 it ran on was somewhat close to the first IBM PC in memory and CPU speed. Some comparison points with MS-DOS 1.0: - 8.3 filenames - no subdirectories - single user - 32-bit file sizes and offsets (64k file size limit was definitely not enough by then) - FCB-based API (not file handles), FAT12 filesystem with 32MB limit - Hardcoded device n…

yeah, i think some of that was cp/m compatibility crap; too bad about 8.3 the other thing is that the pdp-11 had working segmentation, the 8086 didn't, so trapping faults in user processes so they couldn't break the kernel would have required some kind of interpretation or something did you know microsoft was shipping xenix in 01981 (the same year they started shipping qdos/ms-dos/pc-dos) and shipping xenix for the 8…

According to some sources, which I sadly cannot point out to, just vague memories from somewhere, so take it with a grain of salt.

Early MS-DOS development used to be done from those Xenix environments, they would cross-compile to PCs, until later on, did they migrate to MS-DOS directly.

Most likely around MS-DOS 5, given the MS-DOS 3.3 resources and how MS-DOS 4 development went.

On the other hand, there is the what-if alternative universe of what would have happened had they kept Xenix around.

Re: Unix Edition Zero (1971)

#29
post #11

seems extremely similar to modern unixes, though of course it's only a small subset main differences seem to be - filenames were only 8 bytes instead of 14 or 255 - devices were in the root directory instead of /dev: /ppt, /bppt, /rppt, /tty, /ctty, /tty1, /tty2, /rtty, /tap0, /tap1 (magtapes), /disk (the disk), and /system (the kernel memory) - there were no groups, just six permission bits (u+r, u+w, o+r, o+w, a+x,…

Thanks for the summary!

> - creat is spelled with an e

You mean it was 'create'? Funny if 'creat' was a mistake that stuck.

My favourite in this genre is 'makunbound'.

Re: Unix Edition Zero (1971)

#30
post #11

seems extremely similar to modern unixes, though of course it's only a small subset main differences seem to be - filenames were only 8 bytes instead of 14 or 255 - devices were in the root directory instead of /dev: /ppt, /bppt, /rppt, /tty, /ctty, /tty1, /tty2, /rtty, /tap0, /tap1 (magtapes), /disk (the disk), and /system (the kernel memory) - there were no groups, just six permission bits (u+r, u+w, o+r, o+w, a+x,…

> no C yet, just B, but evidently the B compiler was already generating native code instead of stack bytecode

No, B always generated interpreted/threaded code on UNIX, certainly on the PDP-7. We have the runtime and B library from that time.

Post reply on HN