bader+@andrew.cmu.edu (Miles Bader) (07/18/87)
> The `Segmented Address Space` architecture of Prime systems solves the > problem of multiple cached entries of the same data and doesn't require > the address map identifier in the cache. It works as follows: > > A specific number of segments in the virtual space are used for > sharing and are common to the address space of all processes in > the system. For example, if segment 1000 is a share segment then > multiple processes virtual segment 1000 will map to the same > physical segment in memory. Thus sharing is achieved, duplicate > cached entries of the same data is avoided and the mapping for > the shared data is maintained in one table. This also reduces flexibility. The case that comes immediately to mind is that of a copy-on-write implementation of fork in unix. In this case, the mapping of v->p changes dynamically on a page-by-page basis. Of course you don't have to have a copy-on-write fork, but it's an awful neat idea to miss out on... It would also seem that the segments also correspond vaguely to address map descriptors, except that a single process can easily address multiple instances. If this is the case, why is the set of segments used for sharing static? [I may be using the wrong concept of "segment"] -Miles