Annoucning DragonFly BSD!

Matthew Dillon dillon at apollo.backplane.com
Thu Jul 17 13:36:42 PDT 2003


: 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 :).
:</tongue-in-cheek---well--sorta>
:
: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.
:
:Dave

    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.

					-Matt
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>





More information about the Kernel mailing list