Shaking off the C shackle

Here is a quote:

“The PC loser-ing problem occurs when a user program invokes a system routine to perform a lengthy operation that might have significant state , such as IO buffers. If an interrupt occurs during the operation, the state of the user program must be saved. … The system routine must either back out or press forward.”

There is much more behind that. You’re on a quest. And, if the quest ends well, you will have a notion of architecture. And design. And a bit of “why things are”.

But like all quests, you must experience pain and fear. Dig into this “pc loosering” concept. What the hell are these people talking about?

We made sequential machines, because that’s what our minds could grapple with. But then we added a bit of parallelism. And most people got off the boat. But a few. A brave few stuck with it.

Read Tony Hoare’s papers. That was early locking. Then go look at how ITS works and how the PDP-10 works. That’s the short course. You can layer on context switching and mmu’s later, but that’s just frosting.

All of these problems devolve into “how do we share machines?”. because in the past the machine was he scarce resource. But that’s no longer the case. so maybe the shackles we need to throw off are “why are we still doing 1960’s time sharing?”. It’s not 1960 anymore. sadly. I miss the Kinks.

I mean really. If I have a 32 core machine, why I am running a scheduler on each cpu? wtf.

Brad

1 Like