Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9047025
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T11:48:04+00:00 2026-06-16T11:48:04+00:00

What forms of memory address spaces have been used? Today, a large flat virtual

  • 0

What forms of memory address spaces have been used?

Today, a large flat virtual address space is common. Historically, more complicated address spaces have been used, such as a pair of a base address and an offset, a pair of a segment number and an offset, a word address plus some index for a byte or other sub-object, and so on.

From time to time, various answers and comments assert that C (or C++) pointers are essentially integers. That is an incorrect model for C (or C++), since the variety of address spaces is undoubtedly the cause of some of the C (or C++) rules about pointer operations. For example, not defining pointer arithmetic beyond an array simplifies support for pointers in a base and offset model. Limits on pointer conversion simplify support for address-plus-extra-data models.

That recurring assertion motivates this question. I am looking for information about the variety of address spaces to illustrate that a C pointer is not necessarily a simple integer and that the C restrictions on pointer operations are sensible given the wide variety of machines to be supported.

Useful information may include:

  • Examples of computer architectures with various address spaces and descriptions of those spaces.
  • Examples of various address spaces still in use in machines currently being manufactured.
  • References to documentation or explanation, especially URLs.
  • Elaboration on how address spaces motivate C pointer rules.

This is a broad question, so I am open to suggestions on managing it. I would be happy to see collaborative editing on a single generally inclusive answer. However, that may fail to award reputation as deserved. I suggest up-voting multiple useful contributions.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T11:48:05+00:00Added an answer on June 16, 2026 at 11:48 am

    Just about anything you can imagine has probably been used. The
    first major division is between byte addressing (all modern
    architectures) and word addressing (pre-IBM 360/PDP-11, but
    I think modern Unisys mainframes are still word addressed). In
    word addressing, char* and void* would often be bigger than
    an int*; even if they were not bigger, the “byte selector”
    would be in the high order bits, which were required to be 0, or
    would be ignored for anything other than bytes. (On a PDP-10,
    for example, if p was a char*, (int)p < (int)(p+1) would
    often be false, even though int and char* had the same
    size.)

    Among byte addressed machines, the major variants are segmented
    and non-segmented architectures. Both are still wide spread
    today, although in the case of Intel 32bit (a segmented
    architecture with 48 bit addresses), some of the more widely
    used OSs (Windows and Linux) artificially restrict user
    processes to a single segment, simulating a flat addressing.

    Although I’ve no recent experience, I would expect even more
    variety in embedded processors. In particular, in the past, it
    was frequent for embedded processors to use a Harvard
    architecture, where code and data were in independent address
    spaces (so that a function pointer and a data pointer, cast to a
    large enough integral type, could compare equal).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have been trying to understand segmented memory and I came across this statement
I have a memory address pool with 1024 addresses. There are 16 threads running
I have a large .NET C# application with a memory leak. Using ants memory
Designing forms has always been fun, but getting them to send email on the
Windows Forms, VB. I have searched the web for the correct answer to this
Windows Forms and Navigation I have researched and read many different web articles and
In one of my forms I would like to have a dropdown (sfWidgetFormChoice) where
I hope someone may be able to help! We have a pretty large VB.Net
We have a Windows Forms application that uses a (third party) ActiveX control, and
I have 2 Forms in my app, Form1 and Form2 . I want to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.