Path: utzoo!attcan!uunet!seismo!sundc!pitstop!sun!chiba!khb From: khb%chiba@Sun.COM (Keith Bierman - Sun Tactical Engineering) Newsgroups: comp.society.futures Subject: Re: Memories... Message-ID: <83550@sun.uucp> Date: 4 Jan 89 00:45:58 GMT References: <8812301210.aa25361@note.nsf.gov> Sender: news@sun.uucp Reply-To: khb@sun.UUCP (Keith Bierman - Sun Tactical Engineering) Organization: Sun Microsystems, Mountain View Lines: 42 In article <8812301210.aa25361@note.nsf.gov> fbaube@NOTE.NSF.GOV ("F.Baube") writes: > >With the advent of cheap non-volatile RAMs (such as ferro- >electric), isn't there an operating system design issue relating >to whether the dichotomy of core memory versus device-based >storage isn't a bit artificial ? Is there an OS that can run a >program without first loading it, by applying (virtual) program >addresses directly to the device that has been determined to be >byte addressable ? To rephrase, why should an executable stored >in a RAM disk first have to be copied to main memory in order to >be executed ? > >Pardon me if this is an old question. Consider the IBM mainframe extended storage options, or the Cray solid state disk (common on XMP systems). Both these system's lack the hardware support for enough memory, so the RAMdisk is very different that real memory. Cray does not support any sort of VM, so the RAMDISK is really just that (albeit very, very fast). IBM does support VM (the OS and the memory system :>), there are several levels of memory (2 levels of cache on some) followed by real memory (RAM), followed by extended storage (which can only be spoken to in special ways) followed by actual disks (and often these are tiered w.r.t. performance). There is a large overhead in dealing with overhead memory, so fetching (or writing) byte by byte would be a very bad move. With today's machines the different memory systems have very different characteristics. Loading the program into system memory and then paging out what turns out to not be useful works out fairly well. Demand paged systems do pretty much what you suggest, in that "loading" is very short, execution begins, followed (in nearly all cases) a page fault, which results in some IO, followed by some exeuction, etc. There was a very cheap 16032 kit for the PC and z80 machines which used this form of demand paged memory, and it worked out fairly well. Keith H. Bierman It's Not My Fault ---- I Voted for Bill & Opus