From: Aron Insinga <aki@insinga.com>
To: "Charles H Sauer (he/him)" <sauer@technologists.com>, tuhs@tuhs.org
Subject: [TUHS] Re: mental architecture models, Anyone ever heard of teaching a case study of Initial Unix?
Date: Mon, 8 Jul 2024 17:39:39 -0400 [thread overview]
Message-ID: <7e4a089d-038d-4054-b315-ff41c8396a47@insinga.com> (raw)
In-Reply-To: <abe866a1-9b42-4f33-9007-38803a80a95f@technologists.com>
See https://www.cs.tufts.edu/~nr/cs257/archive/ronald-brender/bliss.pdf
C allowed writing Unix with a limited amount of assembly code, but CMU's
original BLISS-10 was designed to write an operating system with *no*
outside assembly code. Features like the 'MACHOP' (machine operation)
builtin function made use of the orthogonality of the PDP-10
instruction format to execute machine-specific instructions in-line.
(cf. the 'asm' extensions in some implementations of C.) The PDP-10's
36-bit word allowed single-precision floating point numbers to fit in
machine words, so it had infix operators for both integer and
single-precision floating point operations (which I presume were
adequate for an operating system).
When DEC chose an implementation language, they knew about C but it had
not yet escaped from Bell Labs. PL/I was considered, but there were
questions of whether or not it would be suitable for a minicomputer. On
the other hand, by choosing BLISS, DEC could start with the BLISS-11
cross compiler running on the PDP-10, which is described in
https://en.wikipedia.org/wiki/The_Design_of_an_Optimizing_Compiler
BLISS-11 and DEC's Common BLISS had changes necessitated by different
word lengths and architectures, including different routine linkages
such as INTERRUPT, access to machine-specific operations such as INSQTI,
and multiple-precision floating point operations using builtin functions
which used the addresses of data instead of the values.
In order to port VMS to new architectures, DEC/HP/VSI retargeted and
ported the BLISS compilers to new architectures.
What I find amazing is that they also turned the VAX MACRO assembly
language (in which some of the VMS operating system was written) into a
portable implementation language by 'compiling' the high-level CISC VAX
instructions (and addressing modes) into sequences of RISC
instructions. I believe that this is similar to how modern CPU chips
dynamically translate x86_64 instructions (or whatever) to an internal
RISC format.
- Aron
(Disclaimer: I worked at DEC for a long time and VSI for a short time,
but I wasn't responsible for the above work.)
On 7/6/24 17:32, Charles H Sauer (he/him) wrote:
> On 7/6/2024 3:56 PM, John R Levine wrote:
>> On Sat, 6 Jul 2024, Clem Cole wrote:
>>> Other systems programming languages followed, BCPL, BLISS, PL/360
>>> and even
>>> B before C.
>> The original version of BLISS was only for the PDP-10. DEC
>> retargeted it to the PDP-11 and VAX, but I think that was after Unix
>> moved to the Interdata and possibly other machines.
next prev parent reply other threads:[~2024-07-08 21:40 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-03 4:51 [TUHS] " sjenkin
2024-07-03 5:02 ` [TUHS] " Al Kossow
2024-07-03 6:46 ` arnold
2024-07-03 14:04 ` Clem Cole
2024-07-03 15:22 ` Theodore Ts'o
2024-07-03 15:36 ` Larry McVoy
2024-07-03 14:59 ` Marc Rochkind
2024-07-03 23:35 ` G. Branden Robinson
2024-07-04 13:00 ` Marc Donner
2024-07-03 9:04 ` A. P. Garcia
2024-07-03 15:17 ` Vincenzo Nicosia
2024-07-03 15:35 ` Marc Donner
2024-07-03 17:39 ` Jon Forrest
2024-07-03 17:49 ` segaloco via TUHS
2024-07-03 18:16 ` Erik E. Fair
2024-07-03 19:58 ` Rich Salz
2024-07-03 23:15 ` Dave Horsfall
2024-07-03 23:23 ` Marc Donner
2024-07-03 23:26 ` Rik Farrow
2024-07-04 23:26 ` Dave Horsfall
2024-07-03 15:37 ` Al Kossow
2024-07-03 16:01 ` Al Kossow
2024-07-03 16:05 ` Warner Losh
2024-07-03 23:29 ` Marc Rochkind
2024-07-03 23:50 ` G. Branden Robinson
2024-07-04 8:23 ` Vincenzo Nicosia
2024-07-04 20:34 ` Nevin Liber
2024-07-04 20:44 ` segaloco via TUHS
2024-07-04 21:41 ` sjenkin
[not found] ` <7AC009E5-C985-44AD-A55E-E0BFC05CDD31@serissa.com>
2024-07-05 9:41 ` Steve Jenkin
2024-07-05 9:47 ` Steve Jenkin
2024-07-05 0:03 ` Stuff Received
2024-07-05 0:12 ` Larry McVoy
2024-07-05 2:24 ` Adam Thornton
2024-07-05 2:42 ` Bakul Shah via TUHS
2024-07-05 7:13 ` arnold
2024-07-05 7:42 ` Bakul Shah via TUHS
2024-07-05 8:20 ` arnold
2024-07-05 8:52 ` G. Branden Robinson
2024-07-05 7:36 ` Dave Horsfall
2024-07-05 10:18 ` Peter Yardley
2024-07-05 21:38 ` [TUHS] Re: mental architecture models, " John Levine
2024-07-05 21:49 ` Larry McVoy
2024-07-05 22:08 ` Charles H Sauer (he/him)
2024-07-05 22:24 ` Larry McVoy
2024-07-05 23:17 ` John Levine
2024-07-06 12:52 ` sjenkin
2024-07-06 14:02 ` John R Levine
2024-07-06 15:58 ` Clem Cole
2024-07-06 20:56 ` John R Levine
2024-07-06 21:32 ` Charles H Sauer (he/him)
2024-07-06 23:46 ` Peter Yardley
2024-07-07 17:43 ` James Frew
2024-07-07 1:39 ` John Levine
2024-07-07 3:26 ` [TUHS] Re: PL.8 [was " Charles H Sauer (he/him)
2024-07-08 21:39 ` Aron Insinga [this message]
2024-07-08 22:14 ` [TUHS] " Paul Winalski
2024-07-09 1:04 ` Aron Insinga
2024-07-08 22:17 ` Rik Farrow
2024-07-09 0:08 ` Adam Thornton
2024-07-09 2:40 ` Dave Horsfall
2024-07-09 2:43 ` Warner Losh
2024-07-09 4:23 ` Adam Thornton
2024-07-09 5:06 ` Aron Insinga
2024-07-07 5:33 ` arnold
2024-07-05 22:10 ` Dan Cross
2024-07-07 22:00 ` [TUHS] " Dave Horsfall
2024-07-07 23:28 ` Brad Spencer
2024-07-08 6:17 ` Dave Horsfall
2024-07-08 6:27 ` Lars Brinkhoff
2024-07-08 6:51 ` Dave Horsfall
2024-07-08 9:36 ` David Arnold
2024-07-08 6:59 ` arnold
2024-07-08 13:22 ` Larry McVoy
2024-07-08 15:37 ` Al Kossow
2024-07-08 17:22 ` Tom Lyon
2024-07-08 17:04 ` Clem Cole
2024-07-08 15:28 ` Brad Spencer
2024-07-08 15:33 ` Al Kossow
2024-07-09 22:54 ` Dave Horsfall
2024-07-10 13:18 ` Chet Ramey via TUHS
2024-07-10 14:29 ` John Levine
2024-07-08 0:21 ` John Levine
2024-07-08 0:35 ` Dave Horsfall
2024-07-08 12:29 ` Peter Yardley
2024-07-05 16:40 ` Jon Steinhart
2024-07-06 13:20 ` Dave Horsfall
2024-07-05 0:08 ` Marc Rochkind
2024-07-04 1:53 ` John Levine
2024-07-04 2:59 ` segaloco via TUHS
2024-07-04 6:53 ` Rob Pike
2024-07-04 15:07 ` Larry McVoy
2024-07-07 13:57 [TUHS] Re: mental architecture models, " Noel Chiappa
2024-07-07 16:43 ` John Levine
2024-07-10 2:20 Douglas McIlroy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7e4a089d-038d-4054-b315-ff41c8396a47@insinga.com \
--to=aki@insinga.com \
--cc=sauer@technologists.com \
--cc=tuhs@tuhs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).