Skip to content

2010年 408 操作系统 第 31 题

操作系统2010年选择题2分

题目

设置当前工作目录的的主要目的是( )。

错因

A

外存空间节省跟"路径用什么"完全没关系——文件存在哪里、用多少磁盘块,是文件系统的物理布局决定的,不会因为引入"当前工作目录"概念而改变。把"路径优化"和"存储节省"混了。

B

内存里目录项的大小、PCB 字段也不会因为有了 cwd 概念而变小——cwd 本身就是 PCB 里多存的一个字段(cwd 字符串或 inode 指针),反而多用一点内存,谈不上节省。

D

读写速度由磁盘 I/O 性能、块大小、缓存命中率决定,跟"路径形式"无关。read/write 走的是 fd——文件已经 open 完了,cwd 路径解析在 open 时早就用过了,read/write 阶段已经不沾路径。

总解析

当前工作目录(cwd)的作用:让用户能用相对路径而不是每次都写完整的绝对路径。

绝对路径 vs 相对路径检索对比

类型例子检索过程
绝对路径/home/user/project/src/main.c根目录开始:根 → home → user → project → src → main.c(5 层目录搜索)
相对路径(cwd = /home/user/projectsrc/main.ccwd开始:project → src → main.c(2 层目录搜索)

收益点

  1. 目录搜索次数减少——不用每次从根目录走,直接从 cwd 开始
  2. 每层目录搜索都需要一次磁盘读(或缓存命中)——少几层就少几次访问
  3. 用户输入也省力(命令行不用打长路径)

主要目的加快文件检索速度——通过缩短解析路径需要遍历的目录数。

选项描述判定
A节省外存✗ 跟物理存储无关
B节省内存✗ 不影响内存占用
C加快检索速度 —— 目录搜索路径缩短
D加快读写速度✗ 读写跟路径无关,只跟 fd 和磁盘 I/O 有关

速记:cwd 优化的是"找到文件"那一步(path resolution),不是"打开后读写"那一步

最终答案是 C

最后更新:

⚠️ 这道题暂未配可视化,欢迎在 CodeBrick 反馈区告诉我们你想看哪道题