Some facts about "Segmented Paging"
1) Each process has one segment table.
2) There is one-page table per segment.
Fact about "Paged segmentation"
3) Contains page table of segment table.
Now consider following problem
In a paged segmented scheme of memory management, the segment table itself must have a page table because. (A) The segment table is often too large to fit in one page.
(B) Each segment is spread over a number of pages.
(C) Segment tables point to page tables and not to the physical locations of the segment.
(D) The processor’s description base register points to a page table
Given solution is:
Here option (A) is true , as segment table are sometimes too large to keep in one pages. So, segment table divided into pages. Thus page table for each Segment Table pages are created.
My Doubt
I believe a page can contain several hundreds of segment table entries of form
<segment base, limit>
I only came across code, data, stack and heap segments. I believe a process can have only these "four" segments. And also, we know each process has a segment table (Fact 1). Then how a segment table can grow so large that it cannot be fitted in a single page?