Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.folklore.computers > #234567

Re: segments, was Self-hosting and the 6502

From John Levine <johnl@taugh.com>
Newsgroups alt.folklore.computers
Subject Re: segments, was Self-hosting and the 6502
Date 2026-04-02 03:07 +0000
Organization Taughannock Networks
Message-ID <10qkmi4$13ne$1@gal.iecc.com> (permalink)
References <10qf16a$2t7c2$1@dont-email.me> <10qf1h8$2t6ig$3@dont-email.me> <10qjid9$4i72$1@paganini.bofh.team>

Show all headers | View raw


According to Waldek Hebisch <antispam@fricas.org>:
>> Don’t confuse x86 segmentation with Multics/Burroughs segmentation.
>> The former was a pain in the bum, the latter was an elegant solution
>> to programs being bigger than available physical memory.
>
>"Elegant" depends on point of view.  Other people would call
>it "wasteful".  Multics segmentation worked well because there
>was large number of large segments.  But that had its costs:
>general pointers were twice as large as on comparative non
>segmented machine.  For prgrams that just use arrays this is
>not a problem, but if you have interesting dynamic data
>structures you will have a lot of pointers.  Pointers may be
>hidden by langage machinery, but you still pay cost of them.

Nonetheless one of the reasons Multics died was that it ran out of
address bits. An 18 bit word offset was about a megabyte which wasn't
big enough, and kludges to try and spread larger data objects across
multiple segments are always ugly.

The 286 segment scheme always impressed me as deeply passive
aggressive. The low three bits of the segment number were status bits
so if you wanted to use bigger than 64K things, you had to do just as
much kludgy shifting as on the 8086. There was no good reason for
that, the bits would have worked equally well as the high three bits but
I get the impression the designers thought "that'll FORCE them to use 
the segments the way we want them to.".

It also didn't help that loading a segment register was extremely
slow, and the hardware didn't even check for the fairly common case of
loading the same segment number that was already there.

Also, segmentation without paging causes memory fragmentation and the
operating system has to shuffle segments around to get contiguous free
space.  That didn't help either.  The 386 cheaped out by mapping all the
segments into one paged address space rather than paging the segments
like Multics did, but by that time it was clear that segments were a
dead end.

>x86 was born in/for penny pinching world and you see consequences
>in the design.

My understanding was that 8086 was intended to be close enough to the 8085
to allow mechanical translation of assembler source, while still having
a path to the future.  I agree the faux segments by shifting the segment
number was pretty gross, but I never saw any sort of address extension
to use bigger than 16 bit addresses in a 16 bit machine that wasn't.

-- 
Regards,
John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly

Back to alt.folklore.computers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Self-hosting and the 6502 Lev <thresh3@fastmail.com> - 2026-03-30 23:32 +0000
  Re: Self-hosting and the 6502 snipeco.2@gmail.com (Sn!pe) - 2026-03-31 00:36 +0100
    Re: Self-hosting and the 6502 Lev <thresh3@fastmail.com> - 2026-03-31 03:08 +0000
      Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-03-31 07:45 -0700
        Re: Self-hosting and the 6502 Bob Eager <news0009@eager.cx> - 2026-03-31 14:56 +0000
  Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-03-30 23:38 +0000
    Re: Self-hosting and the 6502 antispam@fricas.org (Waldek Hebisch) - 2026-04-01 16:50 +0000
      Re: segments, was Self-hosting and the 6502 John Levine <johnl@taugh.com> - 2026-04-02 03:07 +0000
        Re: segments, was Self-hosting and the 6502 scott@slp53.sl.home (Scott Lurndal) - 2026-04-02 16:21 +0000
          segments and architectural experimentation (was Re: segments, was Self-hosting and the 6502) Kragen Javier Sitaker <kragen@canonical.org> - 2026-09-11 08:13 -0300
            Re: segments and architectural experimentation (was Re: segments, was Self-hosting and the 6502) Peter Flass <Peter@Iron-Spring.com> - 2026-09-11 07:29 -0700
            Re: segments and architectural experimentation (was Re: segments, was Self-hosting and the 6502) john larkin <jl@glen--canyon.com> - 2026-09-11 07:55 -0700
              Re: segments and architectural experimentation (was Re: segments, was Self-hosting and the 6502) David Schultz <david.schultz@earthlink.net> - 2026-09-11 13:06 -0500
            Re: segments and architectural experimentation (was Re: segments, was Self-hosting and the 6502) someone <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com> - 2026-09-14 16:45 +0000
  Re: Self-hosting and the 6502 David Wade <g4ugm@dave.invalid> - 2026-03-31 09:01 +0100
    Re: Self-hosting and the 6502 Bob Eager <news0009@eager.cx> - 2026-03-31 09:49 +0000
  Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-03-31 07:31 -0700
    Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-31 23:45 +0000
      Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-03-31 17:15 -0700
        Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-01 01:27 +0000
          Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-03-31 19:24 -0700
            Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-01 03:01 +0000
              Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-04-01 07:26 -0700
                Re: Self-hosting and the 6502 "Kerr-Mudd, John" <admin@127.0.0.1> - 2026-04-01 15:54 +0100
                Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-01 20:35 +0000
                Re: Self-hosting and the 6502 snipeco.2@gmail.com (Sn!pe) - 2026-04-01 21:49 +0100
                Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-01 16:08 +0000
                Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-01 20:34 +0000
                Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-04-01 14:29 -0700
                Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-01 22:37 +0000
                Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-04-01 22:52 +0000
        Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-01 13:54 +0000
        Re: Self-hosting and the 6502 antispam@fricas.org (Waldek Hebisch) - 2026-04-01 17:31 +0000
  Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-31 22:23 +0000

csiph-web