Tangentially related: can anyone here recommend some good resources (preferably even books) on hypervisors? Back in university we got a brief introduction into the topic but I was always interested in learning about it more in depth.
It's one of those topics, that's so modern and based around ecosystem specifics, that you are better off learning from manufacturer manuals and source code, rather than academic theory books.
Like, uni books won't give you an x86 manual because that wouldn't be neutral, but that's precisely the foundation of virtualization, from both a host and guest perspective.
You can read books on x86, but why not use some official intel manual?
Oh for sure, you are seeing the small pictures, but those are objective facts.
Big picture for virtualization? There's many, it's a complex emerging phenomenon which placed a lot of asterisks on computation, is it used for security? Or to patch tech debt? or to provide backwards compatibility? Yes. What is the limit between isolation and efficiency? No one knows yet and there's many answers, you can activate shared cpu caching or disable Spectre mitigations for efficiency, or you can just forego virtualization as a whole and depend on application level multitenancy, which is not a separate topic at all in terms of virtualization, as you can see with tech like containers, and t1/t2 hybrids, it's a spectrum of virtualization, there is no hard line separating the virtualized from the bare metal.
The first hypervisors were microkernels like L4. All of the fundamentals are in microkernel literature which stretches back to the 80s, though I don't think there's a need to read anything before L4 in the 90s.
Cool idea! Is there a way to go to the arxiv page (https://arxiv.org/abs/...) of a paper instead of only going to the PDF (https://arxiv.org/pdf/...) without manually manipulating the URL?
Don't nail me down on this but I think since nowadays' websites are often dynamic, you most likely have to employ headless browsers in order to do whatever it is you want to do. This should then result in fake impressions.
>However, an O(n^3) algorithm will always loose out to an O(n^2*log(n)) algorithm, when the input gets big enough.
Sure, this might be the case from a theoretical point of view (as per definition) but this completely disregards the hidden constants that come to light when actually implementing an algorithm. There's a reason why for instance a state-of-the-art matrix multiplication algorithm [0] can be completely useless in practice: The input data will never become large enough in order to amortize the introduced overhead.
I don't know about Swabia and Franconia but if you are in Upper Bavaria (or probably any part of Altbayern [0]) and order a beer (without specifying anything else), you will definitely get a Helles.