The algorithmically minded will have noticed that paging requires associative array (like Java
Map
of Python dict()
) abstract data structure where:The single level paging scheme uses a simple array implementation of the associative array:and in C pseudo-code it looks like this:
- the keys are the array index
- this implementation is very fast in time
- but it is too inefficient in memory
linear_address[0] = physical_address_0
linear_address[1] = physical_address_1
linear_address[2] = physical_address_2
...
linear_address[2^20-1] = physical_address_N
But there another simple associative array implementation that overcomes the memory problem: an (unbalanced) k-ary tree.
Using a K-ary tree instead of an array implementation has the following trade-offs:
In C-pseudo code, a 2-level K-ary tree with and we have the following arrays:
K = 2^10
looks like this:level0[0] = &level1_0[0]
level1_0[0] = physical_address_0_0
level1_0[1] = physical_address_0_1
...
level1_0[2^10-1] = physical_address_0_N
level0[1] = &level1_1[0]
level1_1[0] = physical_address_1_0
level1_1[1] = physical_address_1_1
...
level1_1[2^10-1] = physical_address_1_N
...
level0[N] = &level1_N[0]
level1_N[0] = physical_address_N_0
level1_N[1] = physical_address_N_1
...
level1_N[2^10-1] = physical_address_N_N
and it still contains
2^10 * 2^10 = 2^20
possible keys.K-ary trees can save up a lot of space, because if we only have one key, then we only need the following arrays:
Oh, and if it weren't enough, mathematicians have a separate name for the damned nabla symbol : "del" instead of "nabla".
These are some users Ciro Santilli particularly respects, mostly due to their contributions to systems programming subjects:
- unix.stackexchange.com/users/885/gilles-so-stop-being-evil
- stackoverflow.com/users/379897/r-github-stop-helping-icea
- stackoverflow.com/users/196561/osgx
- stackoverflow.com/users/50617/employed-russian Employed Russian. Binutils, ELF, GDB, claims to work at Google. The only Russian sounding name on GDB and Binutils git log is that of Paul Pluzhnikov: www.linkedin.com/in/paul-pluzhnikov-61b9676/ and Employed Russian mentions one of his commits at: stackoverflow.com/questions/3718072/gdb-takes-too-long-and-ctrl-c-has-no-effect Ex physicist: www.researchgate.net/profile/Paul_Pluzhnikov
Ciro also really likes the following users, a bit less like Gods, and bit more like friends:
- partly because they were close by on the yearly reputation charts for a long time circa 2020, so it feels like they also focus on replying to important questions rather than answering new duplicates immediately:
- stackoverflow.com/users/642706/basil-bourque: GCC dev, but started replying lots of Java questions as of 2021 it seems for some reason
- stackoverflow.com/users/541136/aaron-hall: Python, NixOS and Haskell more and more it seems. Also pro freedom of speech, gotta love those religious liberal Republicans. Reminds Ciro of Ron Maimon very slightly, maybe it's just the New Yorkedneess. Ciro once met another intelligent dude who liked both Haskell and NixOS, there must be some correlation.
- VonC: Git God, VonC is just Super nice, gives clear credit to others, always positive interactions. Love this dude. Twitter: twitter.com/VonC_. He was the one that held the Necromancer record in 2019 before Ciro took it.
- Peter Cordes. An assembly maniac this one. And a really nice one too. Sometimes pedantic, but always nice, and always correct. He's been going into God level more and more it must be said:
Other interesting people:
- stackoverflow.com/users/560648/lightness-races-in-orbit Lightness Races in Orbit. C++ God. Interesting aesthetics. Real name: Tom Lachecki, British, as per:As of 2023 marked "retired" from Stack Overflow, rep graph suggests since 2020.
- stackoverflow.com/users/3681880/suragch the number 3 necromancer dude. But then in 2022 he found God and mostly quit: suragch.medium.com/programming-was-my-god-89b625164a69
- www.reddit.com/r/webdev/comments/1ealv82/the_fall_of_stack_overflow/ The Fall of Stack Overflow
Was the first model to explain the Balmer series, notably linking atomic spectra to the Planck constant and therefore to other initial quantum mechanical observations.
This was one of the first major models that just said:
I give up, I can't tie this to classical physics in any way, let's just roll with it, OK?
It still treats electrons as little points spinning around the nucleus, but it makes the non-classical postulate that only certain angular momentums (and therefore energies) are allowed.
Bibliography:
- Inward Bound by Abraham Pais (1988) Chapter 9.e Atomic structure and spectral lines - Niels Bohr
- The Quantum Story by Jim Baggott (2011) Chapter 3 A Little Bit of Reality
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it Conclusions Updated 2025-04-24 +Created 1970-01-01
- against all odds, the experiment worked and we got DNA out of the water, despite a bunch of non-bio newbs actively messing with random parts of the experiment
- PuntSeq and Biomakespace people, and all those tho do scientific outreach, are awesome!
- biology is hard
- creating insanely media rich articles like this is also hard, but the following helped enormously:
- Wikimedia Commons to store large media files out of Git
- Asciidoctor extensions to easily include those media files. The lessons learnt in this article were then an important motivation for Ciro's OurBigBook Markup, to which this article was later migrated.
- Nomacs to give Google Photos photos meaningful names and to edit people's faces out of pictures ;-)
- some scientific Wikipedia pages may or may not have been edited with better pictures during the course of writing this article
There are unlisted articles, also show them or only show them.