[Sebastian Schoenberg]
This can be done by using different regions for read and write access. For tasks where the write-protection is neccesary, a page is mapped only to the writeable area if the page is writable in the page-table.
I'm not sure I know what you mean here. Are you suggesting that we divide the user-accessible virtual memory into two equally sized mirrored regions; one for read-only and one for read-write?
eSk