FileSystem
进程控制块中会维护一个打开文件表
如xv6
中的ofile
struct proc {
...
struct file *ofile[NOFILE]; // Open files
...
};
rCore ch6
中的fd_table
pub struct TaskControlBlockInner {
...
pub fd_table: Vec<Option<Arc<dyn File + Send + Sync>>>,
}
File Descriptor
按照约定,前三个fd会分配给STDIN(0)
, STDOUT(1)
, STDERR(2)