Table 1 lists the file types and tells you whether they are fast or slow. Fast Pipe Slow Socket Slow Regular Fast Directory Fast Character device Varies Unfortunately, character devices can go either way. These calls will always perform complete operations on fast files, and will return as soon as possible from operations on slow files. Reading 500 bytes from a 100 byte file will only return 100 bytes, for example. In every other case with fast files, you'll get as many bytes read or written as you requested, or an error returned.
Slow files work differently.
Similarly, most programs which read data from a network socket will want to get that data as soon as possible rather than in discretely sized chunks.