Path: utzoo!attcan!cmtl01!matrox!uvm-gen!uunet!lll-winken!ames!mailrus!tut.cis.ohio-state.edu!rutgers!paul.rutgers.edu!chain From: chain@paul.rutgers.edu (Chain Lee) Newsgroups: comp.os.minix Subject: Using shared library in minix/PC Keywords: minix,library,shared Message-ID: Date: 26 Jan 89 06:02:38 GMT Organization: Rutgers Univ., New Brunswick, N.J. Lines: 34 I am suggesting that we use shared library subroutines in PC version of minix. This can be justified by the following advantages. 1. Instead of having copies of same library subroutine in every executable disk file, and in every code segment of processes, we can put only a single copy in the kernel (or a process served as shared library host), to be called by all processes using it. This will save disk and especially memory space in a PC minix where there is a 64K/code limitation. Larger programs s.a. fully functioned kermit can be made able to run and, # processes that can run at the same time can be increased. It may also be able to make the future window manager more usable. 2. Whenever a change is made on a subroutine, there is no need to recompile the entire system software, instead, only the kernel needs to be rebuilt. 3. There is no compatibility problem. Commands compiled under original system can still run under the system with shared library. Although shared codes usually need address translation hardware to support, shared library subroutines can be implemented in 8088 or 286/386 real mode in software. e.g. a software interrupt instruction can be used to call a shared subroutine, as we did to a system call. The problem is to decide which subroutine is to be present in the shared library and which is not, such that the system can benefit the most (the kernel is not too large but commonly used subroutines will be present). Candidates may include C runtime, curses, and probably the ones found in runtime library of the window manager which we are expecting. The only disadvantage is that a few more instructions need to be executed for each shared subroutine call. But if most of the subroutines we chosed are long enough, the negative effect can be neglected. Chain Lee