块引用
操作系统如何知道作家仍在写作。?...文件的EOF工作流程是什么(关闭文件句柄,如^D或^z)?如果 EOF 从未被写入会发生什么?
如果读者的阅读速度快于作家的写作速度会怎样?速率不匹配会导致死锁吗?
其他不需要的情况可能是什么?
操作系统在读取文件时如何计算 EOF?
-尼基尔
PS:当前的操作系统是 windows,但我也不介意在 unix 上学习有趣的功能。
块引用
有关问题的更多编辑和更多信息
现在我知道 EOF 不是字符,所以它不能写在文件的数据上。IF OS 使用 File_size 确定 EOF,就像 @saurabh 指出的那样。
(->)读取时的 EOF(可能由存储在相应文件系统的驱动器表中的文件大小确定)
- 进程也会不断轮询文件表的文件大小以确定 EOF,因为可能存在文件大小不固定的情况。
- 据我所知,当您阅读 超出EOF(在我们的案例中为文件大小)时会遇到 EOF。假设 writer 间歇性地写入而 reader 正在读取块的情况。所以如果读者试图阅读比可用块更多的内容,会抛出 EOF 吗?但是 Writer 还没有发出 EOF 信号吗?