Noko's right about this stuff, however the drive for ultra low latency has caused people to try and reduce the round trip through the stack of O/S and N/W layers to an absolute minimum, and that means they haven been putting more of what you might as well call "application code" into lower levels of the O/S, and of course into hardware itself which means that some HFT requires that you can work at kernel level to drive the H/W properly.