9:18 Notice how each routine begins with a single “0” after the entry point name. This reserves a word for the return address. “jms” is the “jump to subroutine” instruction, and there was no stack. Instead, an instruction like “jms «label»” would store the return address (the address of the jms instruction + 1) at location “«label»”, then transfer control to «label» + 1. And note how each routine ends with a “jmp «label» i” instruction. This jumped indirect through the word at «label» where we had previously stored the return address, and so that returned control back to the caller. Re-entrancy? Recursion? Those were all still pretty new-fangled concepts at this point.
My first salaried computer work was as a C programmer and computer lab manager on a PDP 11/45 running what he calls Research V7 (at the time just called V7) - once referred to as an improvement on all other versions of UNIX before and since. I am amazed at the fact that 40 years later the architecture has thrived and taken over so much of the world's computing. It is like a force of nature.
36:22 Stackable filesystems are used in Linux. For example, the Asus Eee 701 I bought in 2008 or so used UnionFS to allow saving of user data and configuration changes to a separate area, while allowing a reset to the factory configuration at any time, since the changes were overlaid on the original OS install.
At around 12:30 he mentions about the shell being a user space program and saying that’s not like ibm where the shell is part of the kernel. Does anyone have any more information on that? Is he talking about TSO on MVS? Or is he talking about something like the System/32? I’m not disputing or trying to challenge just wanting to learn.
20:59 Note the inconsistency that command-line arguments are only accessible as arguments to the main() routine, while environment variables are available through a global.
Doesn't appear to be... Here is the link to the lecture page: archive.fosdem.org/2018/schedule/event/unix_evolution/ It appears that only the video and the slides are available.
The next time someone complains about Go being ‘too opinionated’ I’m going to tell them that the original versions of Unix used to delete any program that didn’t have a corresponding man page 😂
9:18 Notice how each routine begins with a single “0” after the entry point name. This reserves a word for the return address. “jms” is the “jump to subroutine” instruction, and there was no stack. Instead, an instruction like “jms «label»” would store the return address (the address of the jms instruction + 1) at location “«label»”, then transfer control to «label» + 1.
And note how each routine ends with a “jmp «label» i” instruction. This jumped indirect through the word at «label» where we had previously stored the return address, and so that returned control back to the caller.
Re-entrancy? Recursion? Those were all still pretty new-fangled concepts at this point.
My first salaried computer work was as a C programmer and computer lab manager on a PDP 11/45 running what he calls Research V7 (at the time just called V7) - once referred to as an improvement on all other versions of UNIX before and since. I am amazed at the fact that 40 years later the architecture has thrived and taken over so much of the world's computing. It is like a force of nature.
Really interesting session with tons of fascinating tidbits
36:22 Stackable filesystems are used in Linux. For example, the Asus Eee 701 I bought in 2008 or so used UnionFS to allow saving of user data and configuration changes to a separate area, while allowing a reset to the factory configuration at any time, since the changes were overlaid on the original OS install.
At around 12:30 he mentions about the shell being a user space program and saying that’s not like ibm where the shell is part of the kernel. Does anyone have any more information on that? Is he talking about TSO on MVS? Or is he talking about something like the System/32? I’m not disputing or trying to challenge just wanting to learn.
Not sure about IBM, but I remember that the shell on Digital Equipment's VMS operating system (DCL) ran in supervisor mode not user mode.
Just about all operating systems other than Unix worked that way.
Can't recommend this enough
Since it's not in the description:
github.com/dspinellis/unix-history-repo
20:59 Note the inconsistency that command-line arguments are only accessible as arguments to the main() routine, while environment variables are available through a global.
28:28 In Linux the sysctl calls are implemented through entries in the /proc filesystem, specifically the /proc/sys directory.
Very very cool. In 2020 UNIX will have 50 years !!!!!!!!!! Can you imagine this ??????????
As IBM says, about aix - this inly begining
14:32 You mean Microsoft is wrong in thinking that 26 drive letters ought to be enough for anybody?? Say it isn’t so!
34:10 Do things like XML or JSON each count as a single file format? Or does each application count as a separate file format?
And the jail utility appeared in FreeBSD 4.0
Is there a transcript?
Doesn't appear to be... Here is the link to the lecture page: archive.fosdem.org/2018/schedule/event/unix_evolution/ It appears that only the video and the slides are available.
That's interesting. "switch" started out as a function/"subroutine" instead of a keyword in C?
is there something similar but more related to Linux? anyway great talk
31:05 Actually OpenSSL is developed as part of OpenBSD, as I recall.
No, that would be LibreSSL
LibreSSL was forked from OpenSSL.
@@lawrencedoliveiro9104 yes, it was forked by the OBSD devs
The next time someone complains about Go being ‘too opinionated’ I’m going to tell them that the original versions of Unix used to delete any program that didn’t have a corresponding man page 😂
We should all be calling internet of things internet things.
Things and stuff