DragonFly BSD
DragonFly kernel List (threaded) for 2003-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Annoucning DragonFly BSD!

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 17 Jul 2003 13:35:52 -0700 (PDT)

: I can give you a hint :).  I am sure you know the answer already.
:Copy-on-write for big messages... I think mach lets you hand the
:"memory object" over to the receiving process for a certain amount of time
:at which point the receiver should do some sort of copy.
:Not using the kernel as a userland message-passing data storage area
:seems to be a good goal.  Unix has all that icky virtual memory with address
:protection and mmap is butt-ugly to use for many communicating processes :).
:Anyway... that's what I would like to see.
:We can continue this on one of the dragonfly mailing lists :) I am signing up today.

    Well, I don't expect expect messages to ever get 'big' per say, auxillary
    data will still be passed with pointer references from user->kernel
    though anything that goes deeper into the kernel will likely be converted
    into an iovec-like array of VM Objects.

    Most messages will be declared on the stack... for example, most messages
    used in system calls, even in multi-threaded programs, would simply be
    declared on that thread's stack and the kernel would copy it in.
    Having a dedicated shared memory area might be more efficient on those
    architectures which do not map user and kernel space together in the
    same address space, but it creates some rather severe flexibility
    issues in a multi-threaded environment and it also creates security
    issues in regards to data integrity once the message has been handed off
    to the kernel.

					Matthew Dillon 

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