Как производится запись при помощи системного вызова write
Добрый день, правильно ли я понимаю, что при вызове системного вызова write,данные из программы сперва попадают в такую структуру как буфер операционной системы, а потом в буфер блочного устройства (например hdd), потом возможно в кэш этого диска и только потом уже на диск. Сам write возвращает кол-во байт записанных именно в буфер ОС? Затем по flush этот буфер сбрасывается на устройство. Мне непонятно, после какого вызова я могу быть твердо уверен, что данные записаны не в буфер HDD, а непосредственно на сам HDD. Да и в общем хотел уточнить правильно ли я понимаю процесс записи или где про это можно почитать детально.