从 Java 应用程序读取的文件是否会调用系统调用?

sim*_*ico 5 java filesystems file-io operating-system file

我的理解是,请求文件系统路径(例如/aFile)的用户应用程序将调用文件系统并取回所请求文件的虚拟地址。然后应用程序将尝试使用该地址作为参数进行读/写操作,作为 CPU 指令?在执行读命令时,内存管理单元会将该地址转换为物理地址,并查看页表。如果用户无权访问该内存位置(该信息携带在哪里?),操作将中止。否则,如果在内存中找到物理地址页,则对其进行读/写操作,否则从磁盘带入该页并重复该操作。

所以,似乎根本没有系统调用。有人可以纠正上述程序细节中可能存在的错误吗?

enn*_*ler 2

在第一句话(调用文件系统)中,这意味着系统调用,因为它必须将控制器转移到内核......