It’ll teach you all the history behind the OS decisions we take for granted now. I was delighted to learn that early OS’s used to have only one global lock. Sounds silly, but it’s extremely effective — HN does the same.
It has a bunch of chapters presenting these kinds of “games” user programs can play to get an advantage against the schedulers.
Also it’s $10 for instant access to a pdf. I was amazed. Buying a book is always such a hassle, except this time it was 30 seconds.
My understanding is that many OS kernels into the 1980’s didn’t even have a single lock: Because the only thing that could switch the sole—this is assumed to
be a uniprocessor—running kernel “thread” was a hardware interrupt, critical sections would be protected by simply disabling interrupts.
The easy part being the "get out of the way" for a full game core. Gamedevs almost always prefer "bare" metal, with free choice of librarys and structures. If there was no OS beyond the bootloop, cheerio..
I thought the common speculation was that they aren't allowed to call it ARM, because they extend the ISA significantly enough that ARM-the-company was concerned it'd fragment the ecosystem.
There’s another runtime policy in the kernel that overrides the user policy for various reasons. That’s what the author is talking about.
For example you can force a process to run on efficiency cores by using the background QoS, but you have no way of moving that process back to performance cores other than relaunching it.
[+] [-] sillysaurusx|3 years ago|reply
(4am thoughts are sometimes intrusive.)
Also if you’re interested in this kind of thing, “operating systems in three easy pieces” was surprisingly good. https://pages.cs.wisc.edu/~remzi/OSTEP/
It’ll teach you all the history behind the OS decisions we take for granted now. I was delighted to learn that early OS’s used to have only one global lock. Sounds silly, but it’s extremely effective — HN does the same.
It has a bunch of chapters presenting these kinds of “games” user programs can play to get an advantage against the schedulers.
Also it’s $10 for instant access to a pdf. I was amazed. Buying a book is always such a hassle, except this time it was 30 seconds.
[+] [-] twoodfin|3 years ago|reply
[+] [-] winReInstall|3 years ago|reply
[+] [-] danielvaughn|3 years ago|reply
[+] [-] ChrisRR|3 years ago|reply
[+] [-] kube-system|3 years ago|reply
If anyone deserving credit for this, it’s Intel after introducing the Pentium line.
[+] [-] yamazakiwi|3 years ago|reply
[+] [-] remexre|3 years ago|reply
[+] [-] halJordan|3 years ago|reply
[+] [-] eliasmacpherson|3 years ago|reply
https://justinfrankel.org/?article=854
[+] [-] throw903290|3 years ago|reply
[+] [-] mnw21cam|3 years ago|reply
[0] https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headline...
[+] [-] trevyn|3 years ago|reply
>Neither the developer nor user appears to have access to any facility to adjust run-time policy
Which is false, there is an API for this:
https://developer.apple.com/library/archive/documentation/Pe...
[+] [-] alin23|3 years ago|reply
For example you can force a process to run on efficiency cores by using the background QoS, but you have no way of moving that process back to performance cores other than relaunching it.