Segmentation with paging is a memory management technique that combines both segmentation and paging to overcome their individual limitations. A program is first divided into logical segments, and each segment is further divided into fixed-size pages. This approach maintains the logical view of segmentation while reducing external fragmentation using paging.
- Combines segmentation and paging techniques
- Divides program into segments, then segments into pages
- Uses segment table and page tables for address translation
- Reduces external fragmentation while maintaining logical structure
Working of Segmentation
- A process is generally divided into four segments, namely - code, data, stack and heap.

- Each segment is then divided into fixed-size pages.
- Each segment has its own page table.
- The segment table stores the base address and limit of the segment’s page table.
- The CPU logical address is divided into:

- The memory management unit (MMU) first checks the segment table → finds the base of the page table → then uses the page number to locate the frame → finally combines with offset to form the physical address.

Below is a complete workflow diagram of Segmented Paging:

Advantages of Segmented Paging
- The page table size is reduced as pages are present only for data of segments, hence reducing the memory requirements.
- Gives a programmers view along with the advantages of paging.
- Reduces external fragmentation in comparison with segmentation.
Disadvantages of Segmented Paging
- Internal fragmentation still exists in pages.
- Extra hardware is required
- Translation becomes more sequential increasing the memory access time.
- External fragmentation occurs because of varying sizes of page tables and varying sizes of segment tables in today's systems.