[Info-vax] CRTL and RMS vs SSIO

Lawrence D’Oliveiro lawrencedo99 at gmail.com
Tue Oct 12 18:13:14 EDT 2021


On Wednesday, October 13, 2021 at 6:57:05 AM UTC+13, Simon Clubley wrote:
> No other operating system needs 
> to support assembly language as an application programming language.

I don’t think support for assembly language is the issue -- assembly language can still be useful and relevant in app code today, for example in video encoding. Here’s what I think the issue is about: “control blocks”.

RMS (and VMS) dates from the time when control blocks were a common way of communicating with OS services. A control block was a block of memory whose layout was defined by the OS, but lived in user space, so responsibility for its allocation and management was left to userland code. This way, it neatly avoided being counted against OS overhead. ;)

Then came Unix (and possibly also MULTICS and TENEX), where when you opened a file, all you got back was a small whole number*, a “file descriptor”. All the state that was part of that file descriptor lived in kernel space, and was managed by the kernel. All access by userland code to that state had to be done through system service calls.

You may have heard of the saying “in Unix, everything is a file”. Actually, things go a bit further nowadays: in *nix systems, every service (just about) becomes accessible through a file descriptor.

*I avoid saying “small integer” because remember, integers are signed, and negative integers are smaller than any positive integer.



More information about the Info-vax mailing list