> * performance overhead: app requesting data from a socket typically needs to > perform 2 system calls (select/read or alt/read) * lack of an "kernel > up-call API": which allows the kernel to inform an app each time network > data is available
there is a mechanism. user programs call read(2). when data is available, the read finishes.