From: Jacob Bachmeyer <jcb62281@gmail.com>
To: user-mode-linux-devel@lists.sourceforge.net
Cc: jcb62281@gmail.com
Subject: [uml-devel] SKAS4 design question
Date: Mon, 16 Jan 2006 13:34:10 -0600 [thread overview]
Message-ID: <43CBF532.8020103@gmail.com> (raw)
Has any thought been given to making SKAS4 suitably generic that it
could be used for more than just UML?
I'm thinking of some arrangement where one process can handle multiple
address spaces for multiple other processes.
This would have greater application than merely UML--for example, Wine
could also be adapted to use SKAS, potentially a killer app, as this
could make Wine more secure than Windows. (Running all Wine code in its
own address space, separate from the apps Wine runs, could insulate
against some application buffer overruns. (due to the way the Win32 API
is accessed))
Hmm, what would we need for this to work?
--ability to create/release "remote" address spaces
--read/write in those "remote" address spaces
-- possibly even capability to map a section of a "remote" address space
into the control process, do something, then release it
--ability to configure pages in a "remote" address space such that
accesses trap to the control process
--ability to trap all possible syscalls from such an address space
for the big bonus:
--ability to use either the host scheduler or some code from the
not-yet-developed libUML to run threads in the "remote" address spaces
Hmm, with a little more effort, this could become a generic
compatibility layer for non-Linux programs--for each foreign platform,
one would need only a control program that manages the foreign processes
and implements the foreign syscalls.
{Contemplates HURD on Linux :-)}
As I understand it, the Linux mm system is internally moving in this
kind of direction already. SKAS would become primarily a system by
which pages can have backing store implemented in userspace and "remote"
address spaces managed.
This direction would certainly help push SKAS into the stock kernel.
PS: If I understand correctly, UML with the current SKAS3 works by
swapping processes into and out of a single "user" address space. I
propose a system where many distinct "user" address spaces are
maintained by the kernel and execution is placed whereever the user-mode
scheduler says.
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next reply other threads:[~2006-01-16 19:33 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-16 19:34 Jacob Bachmeyer [this message]
2006-01-18 11:58 ` [uml-devel] SKAS4 design question Blaisorblade
2006-01-18 23:52 ` Jacob Bachmeyer
2006-01-19 0:37 ` Blaisorblade
2006-01-19 22:23 ` Jacob Bachmeyer
2006-01-20 16:41 ` Blaisorblade
2006-01-23 19:59 ` Jacob Bachmeyer
2006-01-30 11:09 ` Blaisorblade
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=43CBF532.8020103@gmail.com \
--to=jcb62281@gmail.com \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.