I agree that one lacks true understanding of operating systems until one codes a process
switch. My first was in 1979 on a home brew 6800 (not 68k). It was made easier by the
fact that the 6800 saved all 64 bits of registers on each interrupt. All that was
necessary was to wire a timer interrupt and change the value of SP in the handler.
Brantley Coile
Sent from my iPad
On Jan 15, 2017, at 10:15 PM, Larry McVoy
<lm(a)mcvoy.com> wrote:
Yeah, saw it. I'm of the opinion that you aren't really truly an OS
person unless you've written a context switcher. I wrote one for a
user level threading package I did for Udi Manber as a grad student.
I did most of the work in C and then dropped to assembler for the
trampoline.
It's really not that complicated, I think people make it out to be
a bigger deal than it is. You're saving state (registers), switching
stacks, and changing the return address so you return in the new
process.
Well, not that complicated on a simple machine line a VAX or a 68K
or a PDP11. I sort of stopped playing in assembler when super scalar
out of order stuff came around and I couldn't get the mental picture
of what was where.
On Mon, Jan 16, 2017 at 11:44:44AM +1000, Warren
Toomey wrote:
http://thenewstack.io/not-expected-understand-explainer/
in case you haven't seen it yet.
Cheers, Warren
--
---
Larry McVoy lm at
mcvoy.com http://www.mcvoy.com/lm