Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!pasteur!helios.ee.lbl.gov!ucsd!ucsbcsl!dougp@sbphy.ucsb.edu From: dougp@sbphy.ucsb.edu Newsgroups: comp.sys.amiga Subject: Re: OS/2 vs AmigaDOS Message-ID: <1587@hub.ucsb.edu> Date: 2 May 89 03:35:53 GMT Sender: news@hub.ucsb.edu Organization: UC, Santa Barbara. Physics Computer Services Lines: 29 In article <6728@cbmvax.UUCP>, jesup@cbmvax.UUCP (Randell Jesup) writes... > The exact same capability exists in AmigaDos: overlays. They aren't ^^^^^ Not quite. > Another way of getting the same results is to use loaded libraries. ^^^^^^^^^^^^^^^^ This is closer, but still different. I unfortunately have to program in windows at work. Windows allows segments of code to be loaded when functions in that segment is called, in that much it is like overlays. Unlike overlays, this does not necessarily force out another block of code. This code, like unused libraries on the Amiga only gets kicked out when the system is low on memory (all too often in windows). So a program in windows may if there is sufficient memory, be entirely loaded in memory, or it may act like an overlaed program if memory is tight. To do this, windows takes advantage of the nasty segmented architechture which allows them to move code arround in memory while the program is running by only messing with a few segment variables. The tradeoff is that code and data segments are limited to 64K and the CPU is constantly wasting cycles shuffling the memory arround. I believe that something similar to what windows does could be done using LoadSegment, but this would be complicated, and I don't see how segments could be discarded when another program was attempting to get more memory. This is the kind of thing that might be good to add in version 2 of the OS, but I hope it can be done without the compromises in windows. >Randell Jesup, Commodore Engineering {uunet|rutgers|allegra}!cbmvax!jesup Douglas Peale