Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!uunet!auspex!guy From: guy@auspex.auspex.com (Guy Harris) Newsgroups: comp.os.misc Subject: Re: Call Gates vs. traps Message-ID: <7099@auspex.auspex.com> Date: 9 Apr 91 23:42:23 GMT References: <1991Apr3.073617.1167@ibmpcug.co.uk> <22184.27fcc472@cluster@ukc.ac.uk> Organization: Auspex Systems, Santa Clara Lines: 16 >With call gates, the calling code doesn't need to know if it is calling >a library routine or a system call. This gives opportunities for implementing >a call in different ways on different systems. With dynamic linking, the calling module doesn't need to know if it's calling a routine that's just a tiny kludge module that generates a trap, or a routine that does more. This gives opportunities for implementing a call in different ways on different systems, and having the same executable images run on those different systems (if you're willing to require people to relink their programs, you don't even need dynamic linking, much less call gates, so I assume you meant that you can implement calls in different ways and have the same binaries work). You don't *need* call gates for that (which is nice, given that many of the processors upon which systems supporting those flavors of dynamic linking are implemented don't *have* call gates).