On 12/22/12 9:52 PM, Daiyu Hurst wrote:
> On Dec 22, 5:46 pm, Shmuel (Seymour J.) Metz
> <spamt...@library.lspace.org.invalid> wrote:
>> Was the Binder part of the original Multics design? If not, when was
>> it introduced. Is there an online reference containing those data?
>
> It's described in "Introduction and Overview of the Multics System" by
>
> F. J. Corbat�
> Massachusetts Institute of Technology
> Cambridge, Massachusetts
> and
> V. A. Vyssotsky
> Bell Telephone Laboratories, Inc.
> Murray Hill, New Jersey
>
> as presented at the 1965 Fall Joint Computer Conference.
>
> You can see that paper here:
>
>
http://www.multicians.org/fjcc1.html
>
> The source for bind_.pl1 includes the comments:
>
> Designed and initially coded by Michael J. Spier, August 19, 1970,
> Completely revised by Michael J. Spier, December 23, 1971 */
>
> and was revised as recently as 1986 (I'm looking at the sources from
> MR11
> and MR12.3).
>
> -dai
>
In the early days of Multics: 1967 - 1969 there was no binder and that was a
huge cause of a slow system. Many more linkage faults were needed of course
during initialization of the supervisor and every time a new command was used.
Also many more page faults, particularly since many procedures were much smaller
than one page so binding a few things together reduced memory usage and page
faults. Also for each procedure segment there were two segments since the
linkage data had to be in a different segment than the procedure since it wasn't
pure. Another big change was the "combined linkage segment" so that all the
linkage (and static storage) for a process was combined into one segment. This
essentially divided the number of segments needed by 2. This was done before the
binder was created.