Path: utzoo!utgpu!watmath!clyde!att!rutgers!mailrus!ames!pasteur!ucbvax!POSTGRES.BERKELEY.EDU!dillon From: dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga.tech Subject: Re: Unsupported Programming Practices Message-ID: <8901090852.AA22302@postgres.Berkeley.EDU> Date: 9 Jan 89 08:52:33 GMT Sender: usenet@ucbvax.BERKELEY.EDU Lines: 43 Linear address space, Linear address space, Linear address space. A Linear address space is the only possible way to switch to a MMU environ without rewriting the entire OS from scratch. At least that way the trillions upon trillions of memory violations that will occur for the first 3 years can be made non-lethal... as in "warning this is wrong but it'll still run" type of thing, whereas with a non-linear address space you will be forced to 'kill the task'. That isn't the only reason of course, but it's pretty big. -Matt :Now, down the future road, there is this dream of a protected task version :of the Amiga OS. :It seems clear to me that moving to protected tasks on an Amiga will be an :evolutionary effort. No existing program will work, I'd expect, so we'll need :to find a way to support the existing programming model side-by-side with new, :protected tasks. At that time, there will be new rules and procedures for making :protected tasks. Things like AddTask() (instead of a system CreateTask()) will :probably have to go, anyway, so there will probably be a whole new paradigm. : >If we are to move beyond protection into separate, overlapping logical :address spaces for tasks, this whole "pointers to gadgets hanging off of :windows" and "linked lists of menu items" business has to go, anyway. : :I strongly believe that a clear line should be drawn between practices which will :break real soon and those, such as the traditional MEMF_PUBLIC lip service, :which target some very long range, foggy future. MEMF_PUBLIC will have to go completely ... as in be ignored completely. Create a new MEMF_ flag for the purpose after figure out the specific guidelines. Again, with a linear address space you can make everything work. Consider the difficulty of writing a library otherwise? Consider even attempting to rewrite the OS? It just won't happen with distinct address spaces, too much code relies on the linearity and damn it! It is a thousand times easier to write things for a linear address space! (I'm trying to drill this into people now so it'll get implemented this way because I just *KNOW* that if it doesn't the Amiga will go down the tubes!) -Matt