strobl@gmdzi.UUCP (Wolfgang Strobl) (07/14/90)
[I am posting this on behalf of Ken, so please reply to him, not me!]
Over the past several weeks (since about may 23), there has been a
series of Mac vs. Windows arguments posted on this group. Many of
these posting have had a very argumentative tone to them while a few
have been quite informative.
I would like to see more comparitive peices explaining the differences
between the Mac OS and Windows. (I am a Windows programmer who works
next to the Macintosh development group at a university where
(almost) every students has a Mac.) The Mac development people and I
have compared various components of System 6 and 7 with Windows 2 and 3.
However, while it would probably be benificial to continue to see how
both major GUI (I hate that term!) developers for micros approach common
problems, it is _not_ conducive to continue to attach each other and
the platforms.
I would suggest that mail subject lines begin with something like
"Mac & Win: Use of resources" or "Mac & Win: User interface differences"
rather than "Loss of 20%," "Flame War," or "What it can't do".
And another thing, would those of you who keep comparing the Mac OS to
DOS (you know who you are) stop doing so. While Windows does rely on
DOS for file management services, graphics, keyboard, and mouse services
are provided in Windows. The fact that one (Windows) is invoked from
another (DOS) does not mean that one (Windows) cannot be better than the
other (DOS). In fact, you would expect that the add-on product would
provide a fuller or somehow better set of services or users would not
choose to invoke it.
One more thing, while I'm on a roll (role?). I agree that the press
got carried away telling people that Windows 3.0 was the cure for all
of the earth's ills. It is much better than DOS, better than Windows
2.0, and in some ways, better than the Mac. Microsoft has in no way
made Windows the best OS around -- they would, I suspect, suggest OS/2
with Presentation Manager for that role.
To get the ball rolling, I have some questions about Mac memory management
at System 6 and 7.
In Windows, applications do not (should not) hold pointers to data in the
global heap. They instead hold handles which can be dereferenced to find
the pointer. This allows the OS to move blocks to produce a larger contig-
uous space when it needs one.
If I understand the Mac model (sys 6 w/MultiFinder), the applications are
given a workspace or contiguous memory and that workspace does not move at
all during the life of the invocation.
Is my understanding of the Mac way correct? What if an app needs more
memory, can it request that its partition be increased in size? Is there
any way to unfragment memory? Does system 7 change this? Would a PMMU
help?
_______________________________________________________________________________
Kenneth S. Blackney
Phone: (215) 895-1505 Drexel University
Internet: Ken_Blackney@DUPR.OCS.Drexel.EDU Computing Services
Bitnet: BLACKNEY@DUPR.BITNET Philadelphia, PA 19104philip@pescadero.Stanford.EDU (Philip Machanick) (07/15/90)
In article <3102@gmdzi.UUCP>, strobl@gmdzi.UUCP (Wolfgang Strobl) writes: > [I am posting this on behalf of Ken, so please reply to him, not me!] [request for Windows/Mac discussion] > To get the ball rolling, I have some questions about Mac memory management > at System 6 and 7. > > In Windows, applications do not (should not) hold pointers to data in the > global heap. They instead hold handles which can be dereferenced to find > the pointer. This allows the OS to move blocks to produce a larger contig- > uous space when it needs one. > > If I understand the Mac model (sys 6 w/MultiFinder), the applications are > given a workspace or contiguous memory and that workspace does not move at > all during the life of the invocation. > > Is my understanding of the Mac way correct? What if an app needs more > memory, can it request that its partition be increased in size? Is there > any way to unfragment memory? Does system 7 change this? Would a PMMU > help? I don't know about System 7 (but have a strong feeling there's no radical change). Because of its origin as a single application at a time system, the Mac allocates a fixed partition for each application. This partition contains the application's heap (called a "zone"). It's possible to create a additional zones, if you have complex memory mangement requirements. In addition, there is a system heap, and free space not yet allocated. It's possible for a program to ask for a chunk out of this free space (e.g., as temporary space for a buffer). The heap contains two kinds of data objects: pointer-referenced and handle-referenced. Handles - as in Windows - allow defragmentation. However, this is _within_ a specific heap. Global memory can be fragmented; however this is only a problem if you frequently launch/quit applications. The only solution if you run out of space to launch a new application (if there's enough free space total, but not in biggest free block) is to kill (and maybe relaunch) applications. In practice, this works reasonably well for users; memory management is a big headache for programmers, especially beginners who are used to more forgiving systems. Adding a PMMU does not radically change the picture, because all programs are still running in the same (potentially fragmentable) address space. > Kenneth S. Blackney > Phone: (215) 895-1505 Drexel University > Internet: Ken_Blackney@DUPR.OCS.Drexel.EDU Computing Services > Bitnet: BLACKNEY@DUPR.BITNET Philadelphia, PA 19104 Philip Machanick philip@pescadero.stanford.edu
rad@genco.uucp (Bob Daniel) (07/19/90)
In article <3102@gmdzi.UUCP> strobl@gmdzi.UUCP (Wolfgang Strobl) writes: > >Is my understanding of the Mac way correct? What if an app needs more >memory, can it request that its partition be increased in size? Under MultiFinder, each application allocates its own "heap". It is possible to access a temporary handle outside of the heap using MFTempHandle. >Is there >any way to unfragment memory? Does system 7 change this? Would a PMMU >help? You can unfragment the memory within a heap but not all heaps. I do not know about Sys7.