From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23697 invoked from network); 10 Feb 2023 01:30:33 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 10 Feb 2023 01:30:33 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id BE1E64013B; Fri, 10 Feb 2023 11:30:13 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuhs.org; s=dkim; t=1675992614; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-owner:list-unsubscribe:list-subscribe:list-post; bh=AK+DJ0bZXyHmJYAWYe9XzL8IU5ozyw4ZHFhP7we+Jus=; b=fC4DXUr+zv9ajUdU++NpKCzfUdtCShswWEJXnvXCYDm5gPoQdbkHQ3WpGwelAizJLBXrHY NC2nbz+FOijBz+PYb7JcljTWETs4+hfkGZN+wN4UB6HRgdKifJX6T4425L4eLLqKx2Tm1L vOW/cY2WPlhbpBUz8HWZJ6Z+PhNtVzE= Received: from mail-4319.protonmail.ch (mail-4319.protonmail.ch [185.70.43.19]) by minnie.tuhs.org (Postfix) with ESMTPS id AFA5540A52 for ; Thu, 9 Feb 2023 11:32:33 +1000 (AEST) Date: Thu, 09 Feb 2023 01:32:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1675906351; x=1676165551; bh=AK+DJ0bZXyHmJYAWYe9XzL8IU5ozyw4ZHFhP7we+Jus=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=tO+JEGmh3nqAL8yaAtNudASfO1zhMqbU8nvkGRtvRJGXKlBqvfZVSay8OIPpnp8a/ y4d5h82Z8x5Vw/huudELP5MHD9dyZisQbpJ1bHgaqxqhz/T+0QBGOVF3SxZNhifB4+ B7+DdyHHzyAL5/Eydps/RWRew8pp/U/otNJrLwDNG2UZ8reLRjKJ4TPZaxbK933cpg uPNzRJzXtG/0YGMQ89u4ke0suMmjXXuaEtxWcvVTqKxjOfOnTuJfKE/RKQJ3fTPQdk mNiuukJzKtnrfRoE0vntHs8rfpubWc+8HR99TjxJM2k5dC/tHk5hwImuFgPcnz4XnA QCjenyYDUMnUA== To: The Eunuchs Hysterical Society Message-ID: Feedback-ID: 35591162:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: M4LIITMTSW4VZTXEEZZO62DVSA6JDWXN X-Message-ID-Hash: M4LIITMTSW4VZTXEEZZO62DVSA6JDWXN X-MailFrom: segaloco@protonmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] UNIX/TS 4.x Findings List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: segaloco via TUHS Reply-To: segaloco Good day everyone, I'm emailing to start a thread on part of my larger UNIX= /TS 4.x project that is coming to a conclusion. Lots of info here, so pard= on the lack of brevity. Over the course of the past month or so I've been diffing all of the manual= pages between System III and System V to produce a content-accurate set of= typesetter sources for the UNIX Release 4.1 (3B20S) manual I found a while= back. I've completed my shallow pass of everything (all pages accounted f= or, generally complete, except the permuted index) and am now about halfway= through my second pass (detailed, three-way diffs, documenting changes) an= d thought I'd share a few findings to kick off what will likely be more exp= osition of the 3.x->4.x->5.x->SysV time-period vis-a-vis available document= ation. Most analysis here will center specifically around the contents of = the 4.1 3B20S manual and later Documents For UNIX 4.0 as those are the only= documents I've found for 4.x. I mention that as there are whole subsystem= s excluded from this manual that show back up in my 5.0 manual, so I suspec= t they were pieces that weren't ready for 3B-20 at the time but were in oth= er installations. Fortran, SNOBOL, Honeywell 6000 communication, and the o= ld lpr print system are absent, for instance. Anywho, as I wrap up what I = can prove, then I'll probably swoop through and compare these SysIII to Sys= V to at least document what may have happened in that timeframe, if anythin= g. If I'm lucky there are no visible changes in the man pages meaning they= were nominally identical between the various versions. We'll see. Also a disclaimer, this is entirely documentation based. I have not yet cr= oss-referenced changes I see in manuals with changes observed between code = revisions. A later phase of my project will be doing this sort of analysis= to try and reconstruct some idea of what code changes were 3-to-4 and whic= h ones were 4-to-5, but that's quite a ways away. All that to say, a manua= l page could entirely be updated much later than a change it describes, so = if something in code contradicts anything in the manuals, the code is obvio= usly what the system was actually doing at the time. The manual is just ho= w well someone bothered to document it. The sections I've finished thus far are 2 - System Calls, 5 - Miscellaneous= Facilities, and 6 - Games, and the frontmatter/intro section. Here's a bi= t of digest on what I've gone over with a fine toothed comb thus far: 3.x->4.x: --------- There is a general trend towards platform-independence that already started= with merging of PDP-11 and VAX support into a single-ish codebase ala 3.x.= This trend continues with indicating that machine discrepancies (and obso= lescence) will be noted in the mast head of pertinent manual entries. Refe= rences to adb are dropped from this intro section. Additionally, a new sec= tion numbering is applied to the User's and Administrator's Manuals (which = are split by the way). This starts the numbering/split scheme we continue = to see in 5.0 and SysV a year or so later, where sections 4, 5, and 7 are s= huffled to stick device files in section 7 and in turn split off 1M, 7, and= 8 into a separate Administrator's Manual (a_man vs u_man). Unfortunately,= since this split did occur at 4.x, I don't have the 1M, 7, and 8 sections = to compare with, the copy of the manual I nabbed was just the User's Manual= . If someone has a UNIX Administrator's Manual Release 4.x that they'd be = willing to offer up for scanning/analysis, that would definitely help compl= ete the circle. Other frontmatter changes imply a move more towards commercialize-able lite= rature. The Editors are commented out as indicated by the SysV manual sour= ces later on. Unfortunately this means my goal of documenting authorship r= emains unattainable at present, but in any case, somewhere along the way th= e responsibility was shifted from Lab 364 (3.x) to Lab 4542 (5.x). An ackn= owledgement from the Lab 364 folks in the 3.x manual is dropped entirely, n= ot even commented out. This acknowledgement thanks the efforts of those wh= o assembled the V6, V7, PWB/2.0, and UNIX/TS 1.1 manuals (what I wouldn't g= ive for the latter two...). Another change regarding commercialized litera= ture is the reference to UNIX for Beginners in the intro section is replace= d with a reference the "UNIX User's Guide". This manual does show up by Sy= sV, but I don't know if this implies they were running those sets this way = by the time of 4.1. Arnold Robbins provided Documents for UNIX 4.0 last ye= ar which is very much still the old /usr/doc *roff documents, so either the= y were pre-empting the material they would start to produce with 5.x, or th= ere is yet another set of potential 4.x documents floating around out there= . In any case, there are a handful of changes to 2 - system calls: - intro reflects that error.h has been renamed to errno.h - The "SysV" IPC shows up here in 4.1. I forget who mentioned it but s= omeone has mentioned in the past 4.0 and 4.1 had different IPC systems, so = this isn't that illuminating unfortunately. - A minimum of 1 character for filenames is noted. I suppose around th= is time someone won the "well it doesn't *say* you can't have a zero charac= ter file name" pedantic argument. - Various areas where groups are referred to, text is updated to ensure= it is understood the author means "effective" group - brk, exec, exit, and fork pages all now have verbiage concerning how = they interact with IPC - brk clarifies that added space is initialized to zero - exec adds verbiage about argc, argv, envp, and environ, and notes tha= t ENOEXEC doesn't apply to execlp and execvp - fork adds a thorough description of which attributes of the parent pr= ocess are passed down - kill elaborates that real or effective user (and group) can influence= permissions - ptrace updates adb references to sdb and adds 3B-20 verbiage - setuid consolidates explanations of setuid and setgid, no noticed cha= nge to functionality - signal now defers to exit(2) to describe termination actions and chan= ges header references from signal.h to sys/signal.h - sys3b is added for 3B-20-specific system calls - utsname gains the machine field (for -m) - wait now stashes the signal number causing a return in the upper byte= of the status word And then under 5 - misc: - Many pages used a .so directive to directly populate a given header. = By SysV this has been changed to include the text in the pages directly. = Unsure exactly what 4.x did but I went with the latter - eqnchar loses the scrL, less-than-or-equal-to, and greater-than-or-eq= ual-to character replacements - ldfcn is added, this is the general description page for what will be= come the COFF library, at this stage it is very 3B-20 oriented in descripti= on - man adds the \*(Tm trademark indicator - mosd and mptx macro pages are added - mv's macro page is pretty much rewritten to include the actual macros= , the version in 3.x simply referred to there being macros and a manual com= ing soon - types in 3.0 has variable sizes for cnt_t and label_t depending on VA= X or not. 4.x seems to remove this discrepancy and always present the VAX = sizes And finally under 6 - games: - A note about using cron to restrict access has been removed, unknown = if this is a stylistic choice or because cron is a 1M and therefore no long= er in this manual - chess and sky both have their FILES sections removed - jotto is added - ttt gains a note that the cubic variant does not work on VAX - wump is no longer PDP-11 only as of 4.1 Other stuff not fully digested yet: - It appears what would become COFF (Common Object File Format) had its= beginnings as the 3B-20 object file format for UNIX/TS 4.x. The 3B-20 obj= ect-related stuff becomes the more general versions in 5.x. - The LP print service has its start in 4.x. - SysV IPC appears to be largely there by 4.1, with only icprm missing = as far as I could tell. - 4.x introduces the termio system. - 4.1 may signal the start of distributing guidance material as "Guides= " rather than "Documents For UNIX". There are a number of tech report cita= tions that have been updated to reflect this. 4.x->5.x: --------- As for the 4.x->5.x for these same items (I'll mention 4.x->5.x and 5.x->Sy= sV both): - Sys V adds a notice that the manual describes features of the 3B20S w= hich is not out. No such notice is in the 5.0 manuals, so this was specifi= cally for outside consumption - The BTL version of the 5.0 manual features the return of the acknowle= dgements page as well as a preface describing the manual and DIV 452's invo= lvement. If there was a BTL version of 4.x manuals, I suspect they may hav= e also included this as it was in the 3.0 manual. - Sys V begins the "The UNIX System" nomenclature in earnest. - Otherwise the frontmatter seems pretty much unchanged from 4.x to 5.x= , the only discrepancies arise in the BTL and SysV variants In 2 - system calls: - adds a few required headers - shmop appears to have changed headers slightly, requiring ipc.h and s= hm.h instead of shmem.h - signal states that apparently SIGCLD is now reset when caught - sys3b adds syscalls 3, 9, and 10, for attaching to an address transla= tion buffer, changing the default field test set utility-id, and changing F= PU flag bits respectively - times switches to the tms struct from the tbuffer struct. Same field= s but slight change in names. Times also notes that times are given in 1/1= 00th of a second for WECo processors (1/60th for DEC). In 5 - misc: - ldfcn is moved to section 4 and drops 3B-20 specificity, signaling th= e start of COFF in earnest - term adds names for TELETYPE 40/4 and 4540 as well as IBM Model 3270 = terminals - types adds the uint (unsigned int) and key_t (long) types And there are actually no noteworthy changes to section 6. So general takeaways thus far on the 4->5 transition: - COFF becomes formalized here rather than being the 3B-20 format that = might get extended to things - "The UNIX System" nomenclature begins with System V - 3B20S starts showing up in external literature but isn't openly avail= able yet - 3B-20 support is still growing and being used as a model for "generic= " components, especially COFF and SGS - CB-UNIX init is moved over starting with 5.0 --------- There'll definitely be more to come as I do my second pass of sections 1, 3= , and 4. As things begin to wrap up I also intend to upload the manual res= toration somewhere, probably archive.org. I still intend to scan the physi= cal copy sometime later this year, but this'll get info out so people can r= esearch things, and of course if any discrepancy ever arises I'll happily p= ull the original manual page and scan it as proof of anything odd. My biggest takeaway from what I've covered thus far is this clarifies the h= istory of COFF a bit. Wikipedia states that COFF was a System V innovation= , which commercially, it very well was. However, this documentation demons= trates that it began life likely as a 3B-20-specific format that was then a= pplicable to others. This now places, COFF, LP, *and* IPC all as things cr= edited to System V that really started with at most UNIX/TS 4.1. The more I look at things, the more 5.0 appears to actually be a minor rele= ase compared to what all was going on in the 4.x era. From 4.1 to 5.0 the = largest changes I see thus far are the addition of CB-UNIX init, generaliza= tion of COFF from a 3B-20 object format, and otherwise just clerical, marke= ting, and accuracy improvements to the literature. This statement will be = qualified much better as I turn over more ground on this, but that's the ge= neral gist I've been gathering as I go through this: 3.x->4.x saw the intro= duction of a great number of soon-to-be-ubiquitous parts of UNIX and then 4= .x->5.x and on to System V saw those components being tuned and the release= being shepherded along into a viable commercial solution. As with anything, this is of course, all based on analysis of documents, so= if there are any inaccuracies in anything, I apologize and welcome correct= ions/clarifications. Hopefully by the end of all of this there'll be enoug= h content to draft up a proper Wikipedia article on the "System IV" that ne= ver was and correct what truly was a System V innovation vs what just final= ly popped out of USL with that version. If you made it all the way here, t= hanks for reading! - Matt G.