I had fun creating this, and might make similar visualizations in the future. If you have feedback or requests, I would welcome it. I give you permission to disregard HN's policy on 'gratuitous negativity' as much as I have the authority to.
I had fun creating this, and might make similar visualizations in the future. If you have feedback or requests, I would welcome it. I give you permission to disregard HN's policy on 'gratuitous negativity' as much as I have the authority to.
Thank you for writing it, I'm actually doing a little refresher of my computer architecture coursework now and comparing what I remember to article.
Virtual Memory Explanation - https://www.cs.purdue.edu/homes/clifton/cs250/
Virtual Memory Exercise - http://webcache.googleusercontent.com/search?q=cache:VFdxPaP...
As one of those 'silent upvoters' and just speaking for myself, think of it as 'speechless'. I wrote a pretty basic kernel which used memory mapping but without virtual memory. Explaining those concepts to someone else is pretty hard and your live animation would have simplified quite a few discussions I've had on the subject if I had had access to it the better part of 2 decades ago. So thank you very much for this work, consider applying similar techniques to visualizing what happens to a running program as it allocates memory and frees it again for various parts of the programs life-span.
I think it would be nice to have a complete memory lookup written down step by step in text form. e.g.
we're trying to look up the address 0xAA in virtual memory,
the current page table pointer is 0xBB,
therefore we're reading directory entry from the address 0xCC
the directory address contains (...)
etc.But if you want feedback, my only comment after playing with it for 15 minutes is that I wish the animation could be controlled. Or at least paused. The "run animation" doesn't seem to do anything for me.
Otherwise, I really like the idea and the visualization. I like the 256 byte idea too.
And what I mean by 'just beyond my comprehension' is that it's far enough ahead (and also in the direction I'm headed), that I'll be reading it several times before it all really sinks in.
In short, I love it. I think this is really fantastic and I wish more folks took the time you did to really walk through more intricate concepts like this. Really, really appreciate the time you put in. Thank you.
One nit though: the low-contrast font color makes it unnecessarily hard to read.