[HN Gopher] Research Unix Sixth Edition (WASM)
       ___________________________________________________________________
        
       Research Unix Sixth Edition (WASM)
        
       Author : simjue
       Score  : 146 points
       Date   : 2023-10-29 07:25 UTC (15 hours ago)
        
 (HTM) web link (research.swtch.com)
 (TXT) w3m dump (research.swtch.com)
        
       | jamesy0ung wrote:
       | That is very cool, is there a writeup on how it was done?
        
         | mzi wrote:
         | https://github.com/rsc/unix/
        
       | baudaux wrote:
       | https://www.exaequos.com
        
         | ilaksh wrote:
         | How do you log in? What user/pass?
        
           | baudaux wrote:
           | Dummy login / no password
        
           | jdblair wrote:
           | ken/ken
           | 
           | There are others documented on the landing page.
        
       | ilaksh wrote:
       | I'm not able to log in on my phone. The login prompt doesn't echo
       | any characters when I typed and I don't get a prompt for
       | password.
        
         | grose wrote:
         | Try clicking the tty1-8 buttons, it should pop up a keyboard
         | (but will scroll you to a weird place). I just sent a patch
         | that should fix the scrolling behavior after a tty switch:
         | https://github.com/rsc/unix/pull/1
         | 
         | If you have a different problem, post your OS/browser so we can
         | try debugging it.
        
           | ilaksh wrote:
           | Of course I clicked the buttons. It's an inexpensive Android
           | phone on Chrome 118 and Android 11.
        
             | grose wrote:
             | OK, thanks. I was able to reproduce it on an Android 11
             | emulator. I'll take a look. I brought up the tty thing
             | because on iOS it scrolls everything offscreen but input
             | works.
        
             | grose wrote:
             | Sent a PR with a fix. The problem is that it was relying on
             | the keydown event which Android Chrome doesn't send.
             | Tweaked it to also handle the event input and it seems to
             | work.
        
       | TMWNN wrote:
       | Sixth Edition is from 1975. Let's consider its contemporary
       | large-scale multiuser OS environments:
       | 
       | * PLATO at UIUC. Much more sophisticated graphics and extensive
       | support for multiuser gaming, but requires custom (and expensive)
       | terminals. Homegrown mainframe, then CDC hardware.
       | 
       | * Michigan Terminal System at University of Michigan and
       | elsewhere. Runs on IBM mainframes.
       | 
       | * Multics, ITS, TOPS-10, and who knows what else at MIT. ( _Not_
       | Unix.) Mostly DEC hardware.
       | 
       | * Stanford's WAITS, a descendant of ITS. DEC hardware.
       | 
       | * Last but definitely not least, DTSS at Dartmouth, running on
       | GE/Honeywell systems.
       | 
       | Of these, DTSS is by far the most widely used. Every Dartmouth
       | undergraduate student is required to, at some point, write and
       | debug a BASIC program. Terminals are everywhere on campus and
       | almost everyone uses them for work (homework, research, and
       | homegrown applications for registration and asset management for
       | employees) and fun (games, email). Dartmouth's later BlitzMail is
       | a natural extension of this mindset once things are decentralized
       | to micros.
       | 
       | PLATO is widely available at UIUC but it is not proactively
       | forced upon all students like DTSS. Based on _The Friendly Orange
       | Glow_ , some classes require its use but otherwise most seem to
       | discover it from some unused terminal in the basement. No use by
       | university employees.
       | 
       | From what little I know of MTS I think this is somewhere in
       | between DTSS and PLATO in terms of adoption, at least at
       | Michigan. Possibly more widespread/proactive at some other
       | installations?
       | 
       | Stanford and MIT's systems are not for the masses, in the sense
       | that students at large are not expected to use them. I don't
       | think we're yet at the point where, for several years, anyone
       | (affiliated with the university or not) can go to an MIT terminal
       | (or connect remotely) and get an account. If not, you probably
       | need to know someone in Course 6 or works at LCS. I think
       | Stanford requires SAIL affiliation.
       | 
       | If Walter Bright reads this, he can tell us what Caltech is like.
       | 
       | Most other universities have computers by this time, of course,
       | but almost always just batch-card systems.
       | 
       | Note that Unix is _not_ listed above. I don 't believe any
       | university has students using it. Over the next decade there will
       | be an explosion in multiuser, mostly driven by DEC hardware and,
       | at first, DEC software, with Unix slowly, then suddenly, taking
       | market share from DEC's own OSs despite outrage from DEC staff.
       | DTSS, as widely used as it is, remains stuck in BASIC; in 1984
       | Dartmouth moves heavily into micros by becoming an early
       | Macintosh adopter. PLATO remains isolated at UIUC; the ambitious
       | CDC attempt to commercialize it almost kills the company, and
       | anyway never goes beyond "drill and practice"-type software that
       | wastes the graphical and social features. As mentioned, MIT is
       | _not_ a place where most students get exposure to computers, or
       | otherwise an early pioneer in Unix. This suddenly changes in 1983
       | with Project Athena; within a few years MIT produces X and
       | Kerberos.
        
         | rootbear wrote:
         | Interesting comparisons. Students were definitely using Unix in
         | 1975. My first Unix was actually sixth edition running on a
         | PDP-11/45 at the University of Maryland. I started using it in
         | 1979, but the system had been in use for some years. The system
         | was part of the Computer Vision Lab and was mostly used by grad
         | students for their research. The systems available to the
         | general student population were Univac mainframes (1108 and
         | 1106).
         | 
         | About this time, my friend was working on his Ph.D. in Biology
         | at Wayne State University and they had the MTS. It was pretty
         | ubiquitous from what he's told me.
         | 
         | I had a free account on MIT-AI at some point in the late 70s. I
         | accessed it over the ARPANET!
        
           | TMWNN wrote:
           | >I had a free account on MIT-AI at some point in the late
           | 70s. I accessed it over the ARPANET!
           | 
           | My understanding is that, during the open access era, if you
           | entered the wrong password the system would ask whether you
           | wanted an account. Is that accurate?
           | 
           | How long did your account last? When did the mass revoking of
           | non-MIT accounts occur? Or was there no such revoking, and
           | accounts just expired from disuse?
        
             | rootbear wrote:
             | This was a long time ago, but I think you're correct. If
             | the system didn't recognize you, it asked if you wanted an
             | account. I only used the account for a year or so, mostly
             | to access some mailing lists. I assume it died of neglect.
        
             | p_l wrote:
             | ITS didn't really have password control, one was
             | technically added but IIRC it was a fig leaf on some
             | requirement from outside MIT. The user accounts were there
             | mostly to inform others who was logged on and who owned
             | what process.
             | 
             | You could login either using terminal through ARPAnet dial-
             | in support, or later over network, and over time there was
             | added a more concrete "tourist" policy.
             | 
             | DonHopkins seems to have an interesting writeup
             | https://donhopkins.medium.com/mit-ai-lab-tourist-
             | policy-f73b...
             | 
             | and of course there's PDP-10 org and its gather docs on
             | github: https://github.com/PDP-10/its
        
           | TMWNN wrote:
           | >Students were definitely using Unix in 1975.
           | 
           | What I meant was that none of the various large multiuser
           | systems in universities in 1975 ran on Unix. I imagine that
           | most computer people probably vaguely think that Unix was the
           | first large multiuser OS, and that all Berkeley, Stanford,
           | and MIT students were using it, when neither is the case. If
           | a random university student in 1975 wanted a computer
           | account, assuming that such was available to a non-
           | math/engineering/CS student, it would almost certainly have
           | been on a batch system like your UMD example.
           | 
           | As I alluded to at the end, it's striking how within a decade
           | Unix had clearly gained the momentum. Many (even majority) of
           | non-batch systems in 1985 were likely still on VMS, RSTS,
           | TOPS, or some other DEC OS, but those DEC-hardware sites were
           | of course the first to move to Unix despite DEC's best
           | attempts to prevent this.
        
         | Aloha wrote:
         | I've really wondered where things would be if TOPS-20 and
         | Multics has made the leap to a modern architecture and
         | continued development. The command interpreter for TOPS-20 was
         | really intuitive, and if you've used Cisco iOS - you've used
         | something that works a lot like TOPS-20.
        
           | pests wrote:
           | How was the command interpreter for the TOPS-20 so intuitive?
        
         | rst wrote:
         | This omits a bunch of others -- WYLBUR supported interactive
         | program development on IBM mainframes at several universities,
         | for example. (The "large scale" qualifier here is also a little
         | bit dubious -- it seems to be a way of saying that anything
         | running on a machine as small as a PDP-11 doesn't count. But
         | there were timesharing systems on even smaller machines, such
         | as PDP-8s.)
        
           | TMWNN wrote:
           | By "large scale" I meant something used by, well, a lot of
           | people. More than a university's CS department (or the math
           | or EE department; whichever side had the proto-CS faculty in
           | 1975). Like, V6 was being used across Bell Labs, but I
           | wouldn't call that a large-scale deployment compared to MTS,
           | let alone DTSS. When V6 was ported to IBM mainframes by Eric
           | Schmidt and others, that didn't result in Unix being made
           | available to any Princeton student who wanted an account. Nor
           | did the Interdata port result in a campuswide Unix system for
           | all Wollongong students. In both cases, had a random student
           | wanted a computer account and was eligible for one, he would
           | have received something on a batch system.
        
       | swagempire wrote:
       | I love all the comments.
       | 
       | But I have no idea what I can do after I login.
       | 
       | Anyone know a place I could read up on this version, or provide a
       | small description of its capabilities and limitations compared to
       | modern Linux?
        
         | mseepgood wrote:
         | Explore the file system via chdir and ls (or ls -l), see what
         | programs there are under /bin. Compile a C program (e.g. from
         | ken's home directory) with cc and run it. Read the v6 man
         | pages: https://man.cat-v.org/unix-6th/ Learn ed and write your
         | own C program.
        
           | swagempire wrote:
           | OK -- thanks:)
        
           | swagempire wrote:
           | It even lacks man pages btw
        
             | mseepgood wrote:
             | I don't know why the man command is missing, because the
             | pages themselves are there under /usr/man.
        
               | mimotomo2009 wrote:
               | You can use roff to show the manpages.
               | 
               | e.g. roff -Tman who.1
        
               | swagempire wrote:
               | Cool-- thanks :)
        
       | jasoneckert wrote:
       | I'm intrigued by the /LICENSE.txt file. How did Caldera
       | International obtain the rights to distribute Research Unix 1-7e
       | and 32V? Was it through their acquisition of SCO, and if so, how
       | did SCO receive those rights?
        
         | rst wrote:
         | AT&T sold its Unix-related IP to Novell, which then relicensed
         | some of it to SCO. Whether Novell transferred enough to provide
         | a basis for the lawsuits is itself a question that was argued
         | in court -- and ultimately _not_ decided in SCO 's favor.
         | Summary here:
         | https://en.wikipedia.org/wiki/SCO%E2%80%93Linux_disputes
        
       | mlyle wrote:
       | It dies when you run bc. Can't even switch between ttys.
       | 
       | "fatal error: sync: unlock of unlocked mutex" shows up on the
       | javascript console.
        
       | chubot wrote:
       | Why a simulated PDP-11 CPU rather than compiling to wasm? I guess
       | because wasm is pure computation with no interrupts and so forth?
       | Also no access to the stack
       | 
       | Also it's probably a lot more work to retarget the existing
       | compilers to new back ends
       | 
       | Although if this is a new Go implementation, it's probably a lot
       | of work anyway
        
         | rst wrote:
         | Nontrivial amounts of the source are PDP-11 assembly -- a lot
         | of it in the kernel, but also bits of userland.
        
       | yencabulator wrote:
       | Did v6 have control-C? It doesn't seem to do anything. C-\
       | crashes the wasm with `panic: qsav`. Try running just `cat`.
        
       ___________________________________________________________________
       (page generated 2023-10-29 23:02 UTC)