Hacker News new | past | comments | ask | show | jobs | submit login
Research Unix Sixth Edition (WASM) (swtch.com)
159 points by simjue on Oct 29, 2023 | hide | past | favorite | 34 comments



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?


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.


It even lacks man pages btw


I don't know why the man command is missing, because the pages themselves are there under /usr/man.


You can use roff to show the manpages.

e.g. roff -Tman who.1


Cool-- thanks :)


OK -- thanks:)


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.


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!


>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.


>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?


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


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.


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.)


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.


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.


How was the command interpreter for the TOPS-20 so intuitive?


That is very cool, is there a writeup on how it was done?



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.


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?


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


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.


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.


Of course I clicked the buttons. It's an inexpensive Android phone on Chrome 118 and Android 11.


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.


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.


Did v6 have control-C? It doesn't seem to do anything. C-\ crashes the wasm with `panic: qsav`. Try running just `cat`.


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


Nontrivial amounts of the source are PDP-11 assembly -- a lot of it in the kernel, but also bits of userland.



How do you log in? What user/pass?


Dummy login / no password


ken/ken

There are others documented on the landing page.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: