Когда буферный кеш ядра пуст?Это не похоже на LINE Buffering.Если я пишу () строку без символа новой строки, она немедленно выводится в файл.
Кроме того, буферы ввода и вывода файла сокета также используют буферный кеш ядра, такой как Disk I / O?Кроме того, существуют ли входные и выходные буферы пространства ядра, используемого для read () и write () для каждого открытого файла (fd)?
#include <stdio.h>
#include <string.h>
#include <sys/fcntl.h>
#include <unistd.h>
int main()
{
int fd = open("text", O_RDWR | O_CREAT);
write(fd, "message", strlen("message"));
// I can check the string in the file without fsync(fd).
sleep(30);
close(fd);
return 0;
}