In explaining how select(2)[solaris] is used, I talked
about multiplexing I/O in applications such as the X server and the
apache web server.
Since some of you didn't know the networking system calls, we went on a
diversion on socket(2)[solaris],
bind(2)[solaris],
listen(2)[solaris],
accept(2)[solaris], and
connect(2)[solaris] and
I gave a brief overview of the one-child-per-client service model
versus the apache many-clients-per-child model. Apache chose the more
complex model to amortize the fork[solaris] overhead over many
clients -- but retained the use of subprocesses to be able to run even
when the system libraries leak memory and cause long running processes
to become excessively large when certain library routines are
frequently used.
In response to a question, I also explained the notion of
``record boundaries'' for UDP datagrams as opposed to TCP streams.