Re: single-address-space UNIX?
- From: blmblm@xxxxxxxxxxxxx <blmblm@xxxxxxxxxxxxx>
- Date: 24 Jul 2009 23:27:59 GMT
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.
.
- References:
- single-address-space UNIX?
- From: blmblm
- Re: single-address-space UNIX?
- From: Boon
- single-address-space UNIX?
- Prev by Date: Re: single-address-space UNIX?
- Next by Date: Re: single-address-space UNIX?
- Previous by thread: Re: single-address-space UNIX?
- Next by thread: Re: single-address-space UNIX?
- Index(es):
Relevant Pages
|