Re: single-address-space UNIX?



In article <4a66ca90$0$290$7a628cd7@xxxxxxxxxxxxxxxxxxxxx>,
Boon <root@localhost> wrote:
blmblm wrote:

I'm not sure I'm asking in the right place, so suggestions for
better places to ask are welcome...

I'm not sure. A generic OS design newsgroup maybe? (If such a beast exists.)
Or an active SASOS mailing list.

Good idea .... comp.os.research sounds promising but is inactive
as far as I can tell. Mailing lists may be a better bet, but I may
not be quite curious enough to investigate that option.

In another venue I've been arguing about the feasibility of
a UNIX-like system in which all processes share a single address
space, rather than each process having its own (as is the case
with all the UNIX-like systems I know about). To me it seems so
much more sensible to stay with the "each process has its own
address space" scheme, especially with 32-bit addresses, but
having a single address space might have some advantages, and
with 64-bit addresses *might* be feasible.

There is much research in this area.
cf. http://en.wikipedia.org/wiki/Single_address_space_operating_system
for links to several such projects.

Thanks ....

Following a few of these links led me to a paper that describes
what I *think* is a workable if not very efficient approach
to implementing UNIX fork() in a SAS system -- basically, all
pointers are relative to a "start of data segment" register,
and this is implemented via compiler modifications. Here's a URL
that links to a couple of versions (PDF, PostScript) of the paper:

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.7790

Intel's IA-64 architecture has explicit support for SAS operating systems.
http://www.intel.com/design/itanium/documentation.htm?=Itanium+tab_technical_docs
http://www.intel.com/design/itanium/manuals/iiasdmanual.htm

"""
The following key features are supported by the virtual memory model.
o Protection Domain mechanisms support the Single Address Space (SAS) model,
where processes co-exist within the same virtual address space.
[...]
Protection Keys
The Itanium architecture provides two mechanisms for applying protection to
pages. The first mechanism is the access rights bits associated with each
translation. These bits provide privilege level-granular access to a page. The
second mechanism is the protection keys. Protection keys permit domain-granular
access to a page. These are especially useful for mapping shared code and data
segments in a globally shared region, and for implementing domains in a single
address space (SAS) operating system.
"""

Oh my -- shades of the distant past? I used to work on IBM-370-class
machines, and if I remember right they enforced memory protection using
per-page keys. !!

--
B. L. Massingill
ObDisclaimer: I don't speak for my employers; they return the favor.
.



Relevant Pages

  • Re: single-address-space UNIX?
    ... a UNIX-like system in which all processes share a single address ... Intel's IA-64 architecture has explicit support for SAS operating systems. ... The Itanium architecture provides two mechanisms for applying protection to ... second mechanism is the protection keys. ...
    (comp.unix.programmer)
  • Re: Protecting ones genome from invasion?
    ... mechanisms specific for particular subgroups of eukaryotes? ... and one of them is the presence of two nuclei within each cell. ... Such protection systems are ... but I am not aware of similar systems in eukaryotes. ...
    (talk.origins)
  • Re: How do I protect a form, but allow for fill in
    ... Protection for forms is intended to be used with fields from the Forms ... not with ones from the Control Toolbox. ... mechanisms. ... Use text fields from the Forms toolbar instead. ...
    (microsoft.public.word.docmanagement)
  • Re: Mpd-4.2 released.
    ... mechanisms against it. ... It's a pity but ng_pppoe originally implements ... protocol in a way which does not allow this protection to be effectively ...
    (freebsd-net)
  • Re: Copy protection software for Mac OS X?
    ... I know this is not what you want to hear, but IMO the popular way to ... do (I may well use a program that has more stringent copy protection, ... I think it often would be better, from a profits standpoint, to do ... If the OP asked about mechanisms popular by software publishers, ...
    (comp.sys.mac.programmer.misc)