[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Restricted storage

From: Lluis
Subject: Re: Restricted storage
Date: Thu, 1 Jun 2006 19:28:44 +0200
User-agent: Mutt-ng devel-r804 (based on Mutt 1.5.11/2005-09-15)

Sorry for the delay

El Tue, May 30, 2006 at 04:42:17PM +0200, Pierre THIERRY ens deleità amb les 
següents paraules:
> Scribit Lluis dies 30/05/2006 hora 01:14:
>> As of what I know, a proxy could only play a role when a page fault 
>> occurs, so it wouldn't be able to proxy _all_ accesses (and thus not 
>> all writes).
> Could you elaborate why?

Well, when writing this, I was thinking on the EROS' fault handler 
hierarchy, which as its own name says, it's a page fault handler (the 
hardware sends a page fault to the kernel, and in EROS triggers the fault 
handler of the involved page node - i don't remember if all the fault 
handlers are called upwards the page nodes hierarchy, or just the involved 
node, the last would provide easy memory management wrapping -)

Even more, to be able to detect a memory write (or a memory access, in 
general) you have the hardware memory protection system.

So, the only use I can think of wich can detect _all_ writes to memory is 
using a COW system on every page you want to watch:

            *write                |
  [Rd-only] ------> CheckAccess() --> [RdWr] --> ApplyWrite() --> [Rd-only] --> 

Of course, this scheme has concurrency problems that would probably need 
some atomic operation on the page (from '*write' to the '[Rd-only]' on the 

And _of course_ this is veeeeeeeery slow.

Read you,

 "And it's much the same thing with knowledge, for whenever you learn
 something new, the whole world becomes that much richer."
 -- The Princess of Pure Reason, as told by Norton Juster in The Phantom
 Listening: Apocalyptica (Reflections) - 7. Conclusion

reply via email to

[Prev in Thread] Current Thread [Next in Thread]