Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
rdos wrote:...C is not adequate for graphics... [...] I proved it when I had to move the glyph cache from C to assembly in order to get decent performance.
The point where rdos blames the compiler:
rdos wrote:it was the C compiler that couldn't do the 4-level lookup without loading the same selector four times. [...] There where a couple of other issues as well where the C compiler produced slower code, but the inability to mix flat and segmented pointers in the C compiler was the main reason it lost big time.
The point where he claims it never happened:
rdos wrote:I don't need compiler developer's to support my design choices. [...] any need to change the compiler because of requirements in RDOS can be done regardless of what compiler writers do.
I rest my case.
Every good solution is obvious once you've found it.
Owen wrote:We do. It's called valgrind. It checks more than segmentation can check (e.g. uninitialized reads)
Not a chance. I've tried all that, and it doesn't work. My memory corruption error in the application is still there. What I eventually would want to do is to compile our application for a 32-bit compact memory model, and eliminating all these issues once and for all. All I need is a new executable format, which takes some effort to create.
The reason why valgrind will not solve it is that it cannot guard against a non-existent memory protection system (page protection doesn't solve my issue above, simply because the error disappears when memory is allocated page-based instead of byte-based. If any instruction can potentially overwrite anything else, there is no software that will solve it. Only hardware can solve that, and the hardware support is called segmentation.
Do you actually know how Valgrind works?
Hint: It doesn't at all use the paging mechanism inherent in the processor. Another hint: its a virtual machine.
Is it perfect? No, but then neither is segmentation.
Faith is what makes people believe things even in the face of proof of the contrary. Rdos' religion is that he's always right (often at the cost of the rest of the world). This is like, the umpteenth time we've had this discussion and somehow it always works.
Let's shut up and put that guy on our ignore lists before someone blows himself up in the name of faith... although that might just solve the problem
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]