gilgalad@zip.eecs.umich.edu (Ralph Seguin) (10/09/90)
Hi. I am curious about how Commodore is going to accomplish resource tracking (so they can also accomplish a good virtual memory implementation). I think that this would be an interesting subject for discussion. Is Commodore going to stick with lightweight processes or going to go for heavyweight? I have an interesting idea: Consider the case where one process creates a screen for itself. It then passes a message to another process, to indicate that it has opened a screen. In this message is a pointer to the screen, so that the other process can do things with the screen as well. Clearly this is not a very good method of doing things. First, the OS doesn't realize that there are going to be 2 (or more) processes accessing the screen. Thus when the process that created the screen gets killed for some reason, or another, the OS will try to remove the screen. Then the other process is going to go haywire. A better method of going about this, would be to create system calls that allow, a duplicate screen pointer to be accessed by another process. GetPublicScreenPtr()? In this fashion, the OS can realize that there are going to be multiple processes accessing the screen, and thus not remove the screen immediately when process A terminates. This is VERY similar to links in UNIX. This scenario is obviously extendable to many other situations. There are also considerably more things that have to be dealt with in a VM implementation on the Amiga as far as resource tracking is concerned. I've just tossed out this hypothetical situation to stimulate conversation (and waste bandwidth 8-). I think that this should prove to be an interesting discussion. Thanks, Ralph gilgalad@dip.eecs.umich.edu gilgalad@zip.eecs.umich.edu gilgalad@caen.engin.umich.edu Ralph_Seguin@ub.cc.umich.edu gilgalad@sparky.eecs.umich.edu USER6TUN@UMICHUB.BITNET Ralph Seguin | "You mean THE Zaphod Beeblebrox?" 536 South Forest | Apartment 915 | "No. Haven't you heard, I come in six packs!" Ann Arbor, MI 48104 | (313) 662-4805