Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!mintaka!bloom-beacon!eru!hagbard!sunic!isgate!krafla!adamd From: adamd@rhi.hi.is (Adam David) Newsgroups: comp.os.minix Subject: Re: Shared libraries with minix Message-ID: <3186@krafla.rhi.hi.is> Date: 25 May 91 16:25:08 GMT References: <1991May24.015516.5698@watserv1.waterloo.edu> Organization: University of Iceland Lines: 41 hbetel@watserv1.uwaterloo.ca (Heather [actually Richard] Betel) writes: > b) How do parameters get passed? The library MUST have >access to all processes' data space (can you feel your stomach >churn?) On an MMU, this means all dataspaces for all processes >are mapped into the lib server's dataspace! The library must have access to the dataspace of the current process. This is essentially the same as if the library routine is included in the codespace of the process like we use now. > d) where do you draw the line between what is put in >these libraries, and what isn't? The pascal runtime library is >just as important as the C libraries. Are you going to put in >both? How about the LISP, FORTH, ADA, etc libraries. How about C >libraries that aren't in libc.a? (eg:curses) The list could go on >forever... What about a general purpose standard library which various language libraries then use. Most of the primitives and other general operations could be shared between different language libraries. Libraries can be categorised: system, application, user libraries. It is a good idea to standardise the interface to the libraries so that people can write custom libraries for their own use or for distribution which use the same library handling routines as the system does. > e) The original suggestion talks about putting in another >trap. Why do that when messages work? It is a question of efficiency. It is not desireable for a library routine which is called often in a tight inner loop to require a message rendevous each time it is called. It is only the first time, if the library section is not already present, that a message call is necessary so that the library section can be brought in from disk. -- Adam David. adamd@rhi.hi.is