Samuel Thibault <samuel.thiba...@gnu.org> writes: > Hello, > > Joshua Branson, le ven. 02 nov. 2018 12:39:05 -0400, a ecrit: >> I guess I'm a visual learner. I hope some might find this graphic >> helpful. I'm making it it's own patch, because I'm not certain how >> accurate this "image" is. > > It's correct, but could be improved: I'd say rather take the example of > glibc's send(), which is an RPC handled by pfinet, which uses a > device_write RPC to actually emit an Ethernet frame, which is handled by > netdde, which pushes the hardware, and gets an interrupt from GNU Mach > when that's done.
I think the new attached patch shows that, but I'm not an expert.
>From 357b34510580104c023648aab6c726cc75a1b141 Mon Sep 17 00:00:00 2001 From: Joshua Branson <jbra...@fastmail.com> Date: Fri, 9 Nov 2018 11:53:30 -0500 Subject: [PATCH] I tweaked the image on the anantomy of a hurd system page. --- open_issues/anatomy_of_a_hurd_system.mdwn | 50 ++++++++++++++--------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/open_issues/anatomy_of_a_hurd_system.mdwn b/open_issues/anatomy_of_a_hurd_system.mdwn index 00720fbb..bd31bd89 100644 --- a/open_issues/anatomy_of_a_hurd_system.mdwn +++ b/open_issues/anatomy_of_a_hurd_system.mdwn @@ -27,28 +27,38 @@ TCP/IP stack, and others. The GNU/Hurd system implements POSIX with glibc. Man POSIX calls to glibc are re-routed to the Hurd servers. Some of the Hurd severs depend on GNU Mach, while other Hurd servers depend on other Hurd servers. +The graphic below demonstrates this. In the picture glibc's send(), which is an +RPC handled by pfinet, which uses a device_write RPC to actually emit an Ethernet +frame, which is handled by netdde, which pushes the hardware, and gets an interrupt +from GNU Mach when that's done. + + The Hurd - --------------------------- - | glibc | - | | - | read | - --------------------------- - \ - \ - \ - \ - --------------------------------------- - | \ Hurd Servers | - | ext2fs auth --- other servers | - | \ | - -------------------------------------- - \ - libdiskfs - \ / - \ / - \/ - GNU Mach + --------------------------------- + | glibc functions | + | | + | send() | + --------------------------------- + \ + \ + \ + --------------------------------------- + | \ Hurd Servers | + | | | + | | auth and other servers| + | | | + | pfinet -> device_write RPC | + | \ | | + | \ | | + | \ | | + -------------------------------------- + \ / + \ netdde + \ / + \ / + \ / + GNU Mach # Bootstrap -- 2.19.1
> > Samuel