johnc@rtmvax.UUCP (John Connin ) (02/19/89)
The subject of large memory models in various forms and disguises seems to be a subject that will not go away. Obviously, a need is being expressed that needs to be satisfied, and (in my humble opinion) if not satisfied will ultimately work to the detriment of Minix. On the other hand I totally support the view expressed by many informed people that the effort of supporting multiple memory models is just too huge and painful to justify the benefit. Which leads me to ask the question is there another (reasonable) way to achieve the objective? In the hope of stimulating discussion of alternatives and ideally someone into constructive action, consider the following: 1). Elle contains a library package which enables it (elle) to edit files up to 2^32 bytes in size. I am under the impression that this library (call SB for "String Block" or "String Buffer") is very general purpose and may be freely distributed. Basicly this package uses disk caching to achieve a huge data space. Can this or some other library package provide Minix applications with a 'official' method of dealing with large data objects -- just as the termcap provides a uniform 'supported' method of dealing with terminals ?? 2). Not long ago Don Libes posted a 'Common Memory System' library to comp.sources.unix (1). Basicly this package uses a common memory server that emulates shared or common memory at the user level. The package appears to be small and elegant. The package uses TCP-IP for inter-process communication/coordination, but it appears that amoeba could be substituted with little effort.. What needs could multiple tasks cooperating via shared memory solve ?? (1) v14i094-v14i098 titled "Shared memory emulation for 4.2BSD" and dated on or about 17 May 88. These are two areas that I have been meaning to investigate and have not had the time to pursue. I am sure that there are others as well. In any event I believe it would be highly beneficial if Minix could adopted an 'official' library mechanism(s) for supporting applications requiring an 'effective' code and/or data space greater than 64kbytes -- while at the same time retaining the "small is beautiful" philosophy. If you have any constructive ideas in this area please share it with the net. Ideally if something useful unfolds perhaps AST will lead us to a unified supported approach. John Connin {peora!rtmvax!johnc}