Я сам пытался выяснить размер атомарной записи в Linux, и наиболее полезным было чтение этого ответа Unix Stack Exchange
Но в итоге
Это из man 7 pipe .
POSIX.1-2001 говорит, что write (2) размером меньше PIPE_BUF байтов должны быть атомарно: выходные данные записываются в конвейер как непрерывный последовательность. Запись более чем PIPE_BUF байтов может быть неатомарной: ядро может чередовать данные с данными, записанными другими процессами. POSIX.1-2001 требует, чтобы PIPE_BUF был не менее 512 байт. (В Linux PIPE_BUF составляет 4096 байт.)
Итак, в Linux размер атомарной записи составляет 4096 байт.
Вы можете найти красивую таблицу размера PIPE_BUF для разных ОС здесь http://ar.to/notes/posix#pipe-buf .