DragonFly kernel List (threaded) for 2003-11
Re: Am I way off base here?
:I'd also note that some of my ideas are based on mainframe
:operating systems that I worked on more than twenty years
:ago. I am not a kernel-level programmer in Unix land, but
:I was basically that level on a 370 mainframe OS. We used
:to run hundreds of users on hardware that was much smaller
:than the cheapest-shit PC that you can buy today. There are
:plenty of performance-ideas which Unix has not yet explored.
:But it never will explore them if there's so much hostility
:to *trying* some alternate ideas, and then *measuring* how
:they work out.
:One of the things I have liked about some of the work that
:Matt has done in the past is that he's good at testing and
:measuring things, to make sure a change has had the effect
:that he expected it to have. That's the way to keep moving
:forward, instead of constant shouting matches where each
:side tries to yell louder than the other side.
:Garance Alistair Drosehn = gad@xxxxxxxxxxxxxxxxxxxx
Anyone remember resident executables on the Amiga?
In anycase, I think the best thing to do is for me to move forward on
developing a kernel interface for the IPC rendezvous and message passing,
and base message notification on the upcall code that I have already
committed. The nice thing about using the upcall interface is that it
will work in both a threaded and non-threaded environment, which means
that the API will work seemlessly in both a threaded and non-threaded
The UNIX domain sockets are a good mock up, but we need to be able to
handle things like fork(), seemless service replacement, and failsafe
services to deal with failures.
Funny thought... call me crazy, but it occurs to me that /sbin/init
might be the best place to implement the failsafe services (e.g. for
passwd and group lookups and such), for the case when the main service
daemon is out for the count. The only other issue is making sure
that when a boot-failure drops into /bin/sh, that you actually get a
useable shell despite not having a working /etc/groups or master.passwd
(say, if 'init' is dead too and the service lookups fail entirely).