🏷️ 知识点:进程文件管理
若多个进程共享同一个文件 F,则下列叙述中,正确的是( )。
A. 各进程只能用“读”方式打开文件 F B. 在系统打开文件表中仅有一个表项包含 F 的属性 C. 各进程的用户打开文件表中关于 F 的表项内容相同 D. 进程关闭 F 时,系统删除 F 在系统打开文件表中的表项
[tag_link]
正确答案:B
多个进程可同时以“读”或“写”方式打开文件,操作系统并不保证写操作的互斥性,进程可通过系统调用对文件加锁,保证互斥写(读者 - 写者问题),选项 A 错误。整个系统只有一个 系统文件打开表,同一个文件打开多次只需改变引用计数,选项 B 正确。用户进程的打开文件表关于同一个文件不一定相同,例如读写指针位置不一定相同,选项 C 错误。进程关闭文件时,文件的引用计数减 1 , 引用计数变为 0 时才删除系统打开文件表中的表项,选项 D 错误。
以下系统调用中,包含文件按名查找功能的系统调用是()。
A. open()
B. read()
C. write()
D. close()
[tag_link]
正确答案:A
A. open() 系统调用用于打开一个文件。它需要一个文件名作为参数,因此它包含了按名查找文件的功能。如果文件存在并且进程有足够的权限,open() 会成功打开文件并返回一个文件描述符,否则,它会返回一个错误。 B. read() 系统调用用于从已打开的文件中读取数据。 C. write() 系统调用用于向已打开的文件中写入数据。 D. close() 系统调用用于关闭已打开的文件。
某文件系统采用索引节点方式。用户在目录中新建文件 F 时,文件系统不会做的是( )。
A. 初始化文件 F 的索引节点 B. 在目录文件中写入 F 的索引节点号 C. 在目录文件中写入 F 的访问权限信息 D. 在目录文件中增加一条文件 F 对应的目录项
[tag_link]
正确答案:C
当用户在目录中新建文件 F 时,文件系统通常会执行以下操作: