| Xinu | x-kernel | |
| purpose: | education | research |
| OS: | primary goal | marginal |
| layers: | few | many |
| upcalls: | UPD, ICMP | pervasive |
| (very limited) | ||
| receive: | queues, downcalls | upcalls |
| context switches | ||
| threads: | long-lived | packet lifetime |
| messages: | contiguous | gather-write |
| proj life: | decade+ | half decade |
int dd = open(TCP, "128.171.10.1:333",
ANYLPORT);
write(dd, buf, sizeof(buf));
read(dd, buf, sizeof(buf));
close(dd);
int dd = open(TCP, ANYFPORT, MYPORT);
control(dd, TCPCLISTENQ, size);
while(1) {
dd2 = control(dd, TCPCACCEPT);
write(dd2, buf, sizeof(buf));
read(dd2, buf, sizeof(buf));
close(dd2);
}