Segmentation with Paging in Operating System:
Segmentation can be combined with paging to provide the efficiency of paging
with protection and sharing capabilities of segmentation. Segmented paging is
helpful when the page table becomes very large. A large contiguous section of
the page table that is unused can be collapsed into a single segment table entry
with a page table address of 0. Page segmentation handles the case of having
very long segment that requires a lot of time for allocation. By paging the
segments, we reduce the wasted memory due to the external fragmentation as well
as simplify the allocation.
The logical address refers to the segment number and offset with the segment.
When paging is added, the segment offset is further divided into a page number
and a page offset. The segment table entry contains the address of the segment's
page table. The hardware adds the logical address's page number bits to the page
table address to locate the page table entry. The physical address is formed by
appending the page offset to the page frame number specified in the page table