Tag: Memory management
-
Updating the five minute and the five byte rules
It’s fair to say I made quite a lot of mistakes in this article – so don’t read what follows (though the comments are of interest) – but try this fixed version. (So I had quite a lot of errors in this blog. I hope I’ve fixed them now and apologies for the mistakes.) This…
-
Further thoughts on the simulation task
Lying in bed this morning and puzzling over what to do … At first I thought what I should do is copy one of the existing operating system models for NoCs, but that simply would not be flexible enough. What I have to do is model the hardware (including the modifications to the MMU I…
-
A timerless CLOCK algorithm
I am writing this down partly as a way of seeing if it makes sense… Minor faults we can live with: if we have to reaffix a mapping back into the TLB it takes a few cycles but that is not a heavy burden. Major faults, however, are a different matter: they take many thousands…
-
Picking which page to remove
I have now written some very basic but functional paging code for the Microblaze but have realised I am, essentially, going to have to start a lot of it again. The Microblaze puts page tables firmly under software control and its memory management unit (MMU) concentrates on managing page references through its translation lookaside buffers…
-
Of course turning on the MMU breaks your code!
Tonight I finally managed to get the code and the sequencing right to not just boot the Microblaze simulation, but to turn on the MMU. But I was puzzled as to why, as soon as I had done that, the execution breaks with a segmentation fault and appeared to be executing code I had not…
-
After paging?
Paging and virtual memory is at the heart of just about any computing device – more complex than a DVD player – we use everyday. Paging is the memory management system based on the idea that we can divide the real memory of our computer into a sequence of smallish (typically 4,096 bytes) of “page…
-
The joy of .CXX
I have a problem. I need to parse 220GB of XML to find an OPT reference string (i.e. to profile the memory references of a running application to create a page replacement algorithm that will know which is the most efficient page replacement decision.) I had one algorithm in mind for this and I wrote…
-
Thrash reduction no longer a priority for Linux kernel devs?
Version 3.5 of the Linux kernel has been released. One of the changes it includes is the removal of the “swap token” code – one of the very few ‘local’ memory management policies grafted on to the ‘global’ page replacement mechanisms in the kernel. There are various technical reasons offered for the removal of the code…