[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Questions about translators
Re: Questions about translators
Mon, 24 Mar 2003 14:06:24 -0500
If this is a repeat email, I apologize, but I think I forgot to actually
send the reply before (I accidentally signed out of Hotmail...oops). Anyway,
I'm still not sure though what happens when the end-user app sends a message
on a port. Does the message get sent to the kernel which then sends it to
the server? Or does the message get sent directly to the server? Also, if
the message gets sent directly to the server, then what does the kernel do,
since a program will get (upon startup) the port of the root filesystem, and
then any calls made that require other servers will be handled by the root
filesystem server? Thanks again.
From: "M. Gerards" <email@example.com>
To: Hiran Watson <firstname.lastname@example.org>
CC: email@example.com, firstname.lastname@example.org
Subject: Re: Questions about translators
Date: Mon, 24 Mar 2003 10:58:37 +0100
Received: from mail-cn.han.nl ([18.104.22.168]) by mc6-f3.law1.hotmail.com
with Microsoft SMTPSVC(5.0.2195.5600); Mon, 24 Mar 2003 01:58:40 -0800
Received: from vscan-cn.han.nl (charlie.han.nl [22.214.171.124])by
mail-cn.han.nl (Postfix) with ESMTPid AC6FF80A1; Mon, 24 Mar 2003 10:58:39
Received: from mail-cn.han.nl (mail-cn.han.nl [126.96.36.199])by
vscan-cn.han.nl (Postfix) with ESMTPid 4146917808; Mon, 24 Mar 2003 10:58:39
Received: from mail.han.nl (mail.han.nl [188.8.131.52])by mail-cn.han.nl
(Postfix) with ESMTPid EA267807F; Mon, 24 Mar 2003 10:58:38 +0100 (CET)
Received: from india.han.nl (india.han.nl [184.108.40.206])by mail.han.nl
(Postfix) with ESMTPid D9F8CC045; Mon, 24 Mar 2003 10:58:38 +0100 (CET)
Received: by india.han.nl (Postfix, from userid 48)id 95AAD7871; Mon, 24 Mar
2003 10:58:38 +0100 (CET)
Received: from 220.127.116.11 ( [18.104.22.168])as user
email@example.com by webmail.han.nl with HTTP;Mon, 24 Mar 2003 10:58:37
User-Agent: Internet Messaging Program (IMP) 3.1
X-Virus-Scanned: by AMaViS firstname.lastname@example.org
X-OriginalArrivalTime: 24 Mar 2003 09:58:41.0225 (UTC)
> Secondly, what happens when an end-user app makes a system call (ie, open
> some file, or read, or write, etc.)? Does the call get caught by the
> which passes it onto the appropriate server? If so, then the layers would
> end-user apps on top; they're connected to the kernel; and the kernel is
> connected to the servers; and finally the servers are connected to
> hardware? If so, what about servers that don't actually mess with
Mach is used for communication with the server. Ports are used for IPC and
messages can be passed around using systemcalls. So the kernel is only used
communication, it does not understand what is in the messages.
When a program is started it gets a few portright from its parent, for
the port of the root filesystem. This port can be used to access files and
other stuff like the socket servers.
The interface for the filesystem is defined here:
The routine dir_lookup is used to lookup a file. A port right is returned by
this routine to access the file.
The interface for IO is defined here:
All these operations can be implemented for files, for example io_read.
Every server can implement more interfaces. This is used for sockets, the
password server, etc.
If the filesystem wants to read a block from disk currently mach is used.
has interfaces that can be used for hardware access. In the future, when L4
used instead of Mach this will be done in userspace too :)
Perhaps I made some mistakes(like mach terminoligy), but this is how it
generally works :). I don't implement servers directly on mach, the Hurd has
some cool libraries that made me lazy ;). Feel free to ask more questions if
something is not clear yet.
Help STOP SPAM with the new MSN 8 and get 2 months FREE*
Re: Questions about translators, Hiran Watson, 2003/03/23
Re: Questions about translators,
Hiran Watson <=
- Re: Questions about translators, (continued)