Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!uwmcsd1!ig!agate!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga.tech Subject: Re: Need info on exceptions Message-ID: <8808272322.AA03740@cory.Berkeley.EDU> Date: 27 Aug 88 23:22:28 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 35 :available amiga device driver. What you will begin to see :is that the amiga rom kernel is built around the idea of your :basic message-passing model. But what is passed in the messages? :data structures with pointers in them! An idea central to the Amiga :is that an address in any tasks address space is not a virtual :address but a physical memory address. That means that you can hand :a pointer off to another task and it will be valid in THAT tasks's address :space. There is a nice term for this- which i have just forgotten, :damn it- but the Sprite machine being built at Berkeley uses this idea. :It is nice. Yes, this *IS* a nice idea. For instance, with a 68020 one has a 4 gig address space. After all, even for virtual machines (for example, UNIX) the swap space is usually no where near that size. There are SOME machines out there with >4gig virtual memory but frankly these can be ignored for our purposes. A memory-managed linear address space of 4 gig for an entire machine is a nice concept that works well in most of today's computers. It simplifies design of the OS, sharing memory... everything. Any ever try to count the number of calls to the Virtual->Physical address conversion subroutine there are in UNIX? And for tomorrow? Tomorrow's microprocessors will have more than 32 bits addressing so we still have no problem... a 16gig or 32gig address space instead of 4, etc... For the Amiga and todays computers there are two disadvantages to such a scheme. For a virtual process in the UNIX scheme, data can be placed starting at low (<64K) addresses and thus the word absolute addressing mode can be used. Also, fork()ing would be more difficult (but fork()ing is a UNIX concept and frankly I've never been held up by the Amiga's inability to fork()). Most people use the small memory model anyway which means the word addressing mode isn't much of an advantage. Gosh, I just shot down the two disadvantages! -Matt