[Prev][Next][Index][Thread]

Re: OSKit and processes



> From: "Geoff Humphreys" <xsaber0@hotmail.com>
> Subject: OSKit and processes
> 
> Hello. My name is Geoff Humphreys, and I am an undergraduate student at
> the Indiana University of Pennsylvania. I am interested in implementing
> processes under the OSKit, and I would like to know if you have done this
> already or if anyone is making any effort in that direction.

There is no conventional "process" abstraction in the oskit at this time
There has been some work in that direction though. There *is* a threading
system (see the pthreads chapter). The C/POSIX library operate via a set of
COM interfaces that provide all the external dependencies (like a syscall
layer does in a conventional OS). See the clientos chapter for information
on that. There is a dynamic linker/loader (see the RTLD chapter), and an
exec library for loading executables. There is no virtual memory support
for processes; one big virtual memory context is shared by all threads (See
the Simple Virtual Memory chapter).

At one point I started down the road of implementing a "spawn" routine that
would allow you to dynamically link/load an executable object (linked
against the oskit C library) into the oskit address space. The object would
run in its own thread context, using a set of COM interfaces (console,
filesystem, etc) provided to it when loaded. That effort sort died out, but
I can send you that code if you are interested. However, it might not be
what you are after. If you look in examples/dyntest/dyntext.c and look for
the NEWSTUFF ifdef, you can see what I was intending, although be
forewarned that it was a somewhat 1/2 baked plan :-)

Lbs

---------------------------------------------------------------------------
Leigh B. Stoller                     Computer Science - Flux Research Group
stoller@cs.utah.edu                  University of Utah
http://www.cs.utah.edu/~stoller      Salt Lake City, Utah 84112
Voice: (541) 758-6252                FAX: (801) 585-3743
---------------------------------------------------------------------------