Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!samsung!munnari.oz.au!uhccux!virtue!hamish From: hamish@waikato.ac.nz Newsgroups: comp.sys.amiga.tech Subject: Memory Protection! Message-ID: <1145.26bd4989@waikato.ac.nz> Date: 5 Aug 90 22:42:16 GMT Organization: University of Waikato, Hamilton, New Zealand Lines: 50 Ok folks, how about another go at getting a little bit of hardware protection for the amiga, and a bit of resource tracking. So far objections are because of 1 resource tracking will make things slower. Well ARP doesn't seem to be suffering too much does it? And that has had resource tracking since day one. IMNSHO it would be a better OS if an errant program could be cleaned up after it was killed off. 2 People don't use MEMF_PUBLIC for messages. Well if we make all unallocated memory to be non-readable and non-writable that would probably catch a few errant pointers. The code hunks could be make read-only for all tasks and if people are using a code hunk to hide a message port (ie for data) then they deserve to have their program curl up and die on them. data hunks and allocated data could be rw for the owner and ro for everybody else. After all how many programs actually change a message once it is read? The fact that we must pass a pointer either means that the library routines for sending a message must be able to write to the message port being sent to, or the message port must be rw. I favour the library routine to be able to get rw access as this would cover a lot of errant programs stamping on people message ports. Write protecting the data pages is probably the only change that would make the system a little slower at swapping tasks, but it would make a really stable computer. 3 Write protecting ram based libraries and bottom of memory. Well I don't remember any good reason for not write protecting these. From what I gather the enforcer option does the second, but what about the first. After all who needs to write to libraries apart from routines (supposedly through the OS) that patch them. OK. I've thrown the cat amongst the pigeons. Can anybody now convince me, and themselves that it won't work. How hard can it be to change LoadSeg() and UnLoadSeg() to make code hunks ro? -- ============================================================================== | Hamish Marson | Internet hamish@waikato.ac.nz | | Computer Support Person | Phone (071)562889 xt 8181 | | Computer Science Department | Amiga 3000 for ME! | | University of Waikato | | ============================================================================== |Disclaimer: Anything said in this message is the personal opinion of the | | finger hitting the keyboard & doesn't represent my employers | | opinion in any way. (ie we probably don't agree) | ==============================================================================