Virtual-to-Physical Address Translation: Pages, Frames, Segments, and Blocks

Virtual-to-Physical Address Translation: Pages, Frames, Segments, and Blocks

Verified Sources
Nov 3, 2026

To convert a virtual address into a physical address the operating system and hardware use a memory management unit (MMU) strategy. In the most common scheme called paging, the program’s virtual address is interpreted as a (page number, offset) pair, then mapped via a page table to produce (frame number, offset), yielding the physical address. This mapping is naturally described as dividing addresses into pages (virtual) and frames (physical), not segments or blocks. (The “blocks” term is sometimes used in other contexts, e.g., disk blocks, but not as the standard named unit for virtual-to-physical translation.)
A block-diagram view:

Virtual Memory Paging: How Virtual Addresses Map to Physical Addresses

Key terminology (what each choice means)

  • pages are the virtual units a program refers to.
  • frames are where pages reside in RAM.
  • segments are used in segmentation, which can also translate virtual addresses but uses segment tables.
  • blocks is not the canonical unit-name for virtual-to-physical translation in the classic textbook question.

Because the question asks specifically “programs are divided into” for virtual-to-physical conversion, the expected textbook answer aligns with paging, where programs are divided into pages and the physical memory is partitioned into frames.

How to spot the correct option

If the question is about MMU translation via page tables and fixed-size units, the correct pairing is pages (virtual) and frames (physical).

What happens in paging (page + frame translation)

In paging, a virtual address is split into:

  1. a page number
  2. an offset

The page number is used to index the page table. The entry returns the physical frame number. The offset is appended unchanged to form the physical address.

Mermaid flow:

Virtual Address → Physical Address using paging

  1. 1
    Step 1

    Extract the page number (VPN) and the offset within the page.

  2. 2
    Step 2

    Use VPN to fetch the corresponding frame number (PFN) from the page table.

  3. 3
    Step 3

    Concatenate PFN with the same offset to produce the physical address.

  4. 4
    Step 4

    Use the physical address to read/write the RAM location.

Why the other options are not the expected answer

Segments

With segmentation, the address is typically (segment number, offset). Translation uses a segment table rather than a page table, and segments are logical regions (code, data, stack, etc.). So if the question said “segments and segment tables,” then “segments” could be appropriate; but the classic “virtual-to-physical” pairing asked here points to paging’s “pages/frames” model.

Blocks

“Blocks” are commonly used for disk blocks or filesystem allocation units, which is different from the standard virtual memory translation granularity used by MMUs.

Quick comparison: Pages/Frames vs Segments

ConceptUnit sizeVirtual componentPhysical componentTypical translation structure
PagingFixed-sizePageFramePage table
SegmentationVariable-sizeSegmentMapped segment locationsSegment table

How address translation fits into a typical system

Virtual view

1) Program generates VA

The program uses virtual addresses without knowing physical RAM layout."

Hardware translation

2) MMU translates

MMU splits VA and consults the page table (paging) or segment table (segmentation)."

RAM access

3) Physical access

Result is a physical address used to access memory."

Caching translation

4) Optional: TLB assists

A TLB can speed up repeated translations."

Common exam interpretations

Knowledge Check

Question 1 of 4
Q1Single choice

In the paging method, how is a virtual address converted to a physical address?