Segmentation with Paging

Last Updated : 15 Apr, 2026

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.
Segments of a process
  • 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.
Segmented Paging

Below is a complete workflow diagram of Segmented Paging:

Segmented_paging
Workflow of Segmented Paging

Advantages of Segmented Paging

  1. The page table size is reduced as pages are present only for data of segments, hence reducing the memory requirements.
  2. Gives a programmers view along with the advantages of paging.
  3. Reduces external fragmentation in comparison with segmentation.

Disadvantages of Segmented Paging

  1. Internal fragmentation still exists in pages.
  2. Extra hardware is required
  3. Translation becomes more sequential increasing the memory access time.
  4. External fragmentation occurs because of varying sizes of page tables and varying sizes of segment tables in today's systems.
Comment