Virtual Segmented systems
In simple segmented systems previously considered, all the segments of an active process were resident in real memory. In a virtual segmented scheme, the segments of a process are loaded independently and hence may be stored in any available memory positions or may not be in memory at all
Virtual segmented systems have certain advantages:
§ facilitates the handling of growing data structures. With segmented virtual memory, the data structure can be assigned its own segment and the OP system will expand and shrink the segment as needed.
§ It lends itself to protection and sharing.
§ logical structure of the process is reflected in the physical structure which reinforces the principle of locality.
The segmented address translation process shown below, is similar to the simple segmentation scheme, except that, firstly, the segment table entry, usually called a segment descriptor, must now have a number of additional bits (see below) and secondly, the logical address is now a virtual address typically much larger than the real address. The diagram also shows the presence of a segment table register which points to the start of the segment table for he current process. The segmentation virtual address consists of two components, (s, d). The value indexes the segment table for the appropriate descriptor, while the d value gives the displacement within the segment. The typical contents of a segment descriptor are listed below:
§ base address of segment
§ segment limit; ie size of segment, used to detect addressing errors.
§ segment in memory bit; indicates whether segment is currently in real memory
§ segment used bit; indicates whether segment has been accessed since previous reset of
§ this bit. Used to monitor usage of segment.
§ protection bits; specify read, write and execution access of segment.