Re: segmented addressing, was New assembly language instructions

George Neuner <gneuner2@comcast.net>
Tue, 16 Dec 2008 12:57:14 -0500

          From comp.compilers

Related articles
Re: New assembly language instructions to support OO languages? gneuner2@comcast.net (George Neuner) (2008-12-09)
Re: segmented addression, was New assembly language instructions jgd@cix.compulink.co.uk (2008-12-13)
Re: segmented addressing, was New assembly language instructions gneuner2@comcast.net (George Neuner) (2008-12-16)
| List of all articles for this month |

From: George Neuner <gneuner2@comcast.net>
Newsgroups: comp.arch,comp.compilers
Date: Tue, 16 Dec 2008 12:57:14 -0500
Organization: A noiseless patient Spider
References: 08-12-055 08-12-080
Keywords: architecture, design
Posted-Date: 18 Dec 2008 16:47:24 EST

On Sat, 13 Dec 2008 07:03:30 -0600, jgd@cix.compulink.co.uk wrote:


>gneuner2@comcast.net (George Neuner) wrote:
>
>> I spent some quality time in the early 90's hacking the MINIX VMM to
>> behave like an experimental segmented 386 OS I had read a paper about
>> (I don't recall the name of the paper, if I can find it again I'll
>> post an update).
>
>That would be of some interest. Application code, especially
>applications that need a lot of memory and manage it in reasonably
>sophisticated ways, can have a very different experience.
>
>> Unfortunately I never got the process swapping mechanism to work
>> reliably.
>
>This somewhat detracts from the credibility of the idea.


I prefer to think that my skills in 1991 were not up to the task. I
don't think there is any fundamental problem with the idea.




>> A lot of people think back to the 80286 and knock the requirement for
>> consecutive virtual addresses, but 32-bit segments are a lot more fun
>> to work with. For one thing, unless you go crazy, you don't need to
>> change segment registers very often so almost all your pointers are
>> just the 32-bit offset - comparable to "flat" mode.
>
>"Go crazy" would involve "using more than 4GB of data"?


No. IMO, "go crazy" refers to having lots of allocations be separate
segments. This was prevalent in 16-bit code.




>Adapting code that uses flat addressing to segments is
>quite hard work, and it seems to lack practical advantages in a world
>with 64-bit available.


I still think segmentation is a useful addition at the OS level.
Obviously 32-bits is too small now, but 64-bit segments would be good.
Or even more. The distributed Amoeba OS (circa 1995?) skipped over
64-bits and went to 128-bits for many functions.


George


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.