From mboxrd@z Thu Jan 1 00:00:00 1970 From: jnc@mercury.lcs.mit.edu (Noel Chiappa) Date: Tue, 21 Feb 2017 11:25:30 -0500 (EST) Subject: [TUHS] Mach for i386 / Mt Xinu or other Message-ID: <20170221162530.79EAB18C116@mercury.lcs.mit.edu> > From: Diomidis Spinelli > Arguably, the same can also be claimed for the networking system calls. Well, it depends on exactly what you mean by "networking system calls". If you mean networking a la BSD, perhaps. However, I can state (from personal experience :-) that the I/O architecture circa V6/V7 was not very suitable for TCP/IP internetworking (with its emphasis on an un-reliable network, and smart endpoints). The reason is that such networking doesn't really fit well into the 'start one I/O operation and then block the process until it completes' model. Yes, if you have an application running on top of a reliable stream, you might be able to coerce that into the 'uni-directional, blocking' I/O model (if the reliable stream implementation is in, or routed through, the kernel), but lots of other thing don't work so well. (Think, e.g. an interface with asynchronous, un-predictable, RPC calls in both directions.) Noel