2.3 操作系统:内存与文件

2.32026-11-03 11:46:00

本篇定位:计算机系统基础篇的操作系统下篇。本章(内存管理 + 文件系统 + 运维命令)与 2.2 进程并发生成操作系统全貌:内存管理(页式/段式、虚拟存储、页面置换)是操作系统计算题重镇(LRU 置换 2024 年考);文件系统(结构、权限、功能)考概念辨析;运维命令(regedit/hosts/net user/安全日志)2021 起成稳定场景化考点。2027 预测 2–3 题。 数据依据:01-真题/考点汇总/ 9 份计算机考点汇总;答案以专业判断为准。 阅读提示:文件权限与信息安全(DAC,7.3 身份认证)衔接;虚拟存储的地址变换是数据库/网络场景的底层概念。


一、考点定位(本章真题统计)

考点真题锚点频次考法
虚拟存储与页面置换2020 单35、2021 单26、2024 单263 年页面失效地址变换、虚拟容量由地址结构决定、LRU 淘汰
文件系统2019 单64、2022 多822 年连续结构不利动态增长、文件系统功能
文件权限2020 单24/36、2021 单252 年 3 题文件夹-文件权限交集、chmod 744、DAC
运维命令与日志2021 单21/23/24、2023 单24、2026 单763 年 5 题regedit、/etc/hosts、shutdown、net user、安全日志

命题规律:内存管理 3 年 3 题(含 1 道 LRU 计算)、文件系统 2 年、权限 2 年 3 题、命令 3 年 5 题——运维命令是最大考点群(场景化趋势)。2027 预测:虚拟存储/页面置换(LRU/FIFO)、文件权限(chmod/权限交集)、Linux 命令。


二、知识框架(先搭骨架)

操作系统:内存与文件
├── 内存管理
│   ├── 地址:逻辑地址(程序视角)vs 物理地址(内存实际)
│   ├── 分配方式:连续分配 / 分页 / 分段 / 段页式
│   ├── 页式:页表、页号+页内偏移;页面失效→虚地址到辅存变换
│   └── 虚拟存储:容量由地址结构(CPU 地址长度)决定
│       └── 页面置换:LRU(最久未用)/FIFO/OPT
├── 文件系统
│   ├── 功能:按名存取、逻辑结构→物理结构转换、文件操作(多选)
│   ├── 物理结构:连续(不利动态增长)/链接/索引
│   ├── 目录:树形结构、路径
│   └── 权限:DAC(自主访问控制)、chmod 数字(4读2写1执行)、
│       文件夹-文件权限取交集
└── 运维命令与日志(场景化)
    ├── Windows:regedit(注册表)、net user(用户)、安全日志(管理员)
    ├── Linux:/etc/hosts(主机名映射)、shutdown -r now(重启写盘)
    └── 日志:系统/应用/安全日志(安全日志仅管理员可读)

一句话记忆:内存(逻辑物理/页式/虚拟/LRU)→ 文件(按名存取/结构/权限 chmod)→ 命令(regedit/net user/hosts/shutdown)。


三、考点详解

3.1 内存管理基础

先分清四个词(本节后面全靠它):主存=内存=主存储器(RAM/ROM 芯片,CPU 可直接访问、断电丢失);辅存=外存=辅助存储器(硬盘/SSD/U 盘/光盘/磁带,CPU 不能直接访问,必须先调入主存)。

  • 判据一句:CPU 能不能直接读——能,是主存侧(寄存器/Cache/内存);不能,是辅存侧(硬盘等)。
  • ⚠️ "外置硬盘"不是定义:内置硬盘同样是辅存,"外置"只是接口/位置形态;U 盘、SSD、光盘、磁带、NAS/SAN 全属辅存。
  • ⚠️ 日常用语的坑:手机"128G 内存"、商家口中的"内存"其实指闪存(辅存);教材里"内存"一律=RAM(主存)。
  • ⚠️ 虚拟存储只是"拿辅存当后备":辅存不是主存的一部分;缺页时搬的是"辅存→主存"(见 §3.2、2020 单35)。

精确定义:

  • 逻辑地址:程序中使用的地址(相对程序起点);物理地址:内存单元的实际地址。
  • 地址变换(重定位):逻辑地址 → 物理地址(由 MMU/OS 完成)。

分页存储:把内存分成大小相同的页框(物理块),程序按页装入不连续页框;页表记录逻辑页号→物理页框映射;地址 = 页号 + 页内偏移。

地址切分(页号 P / 页内偏移 W):页大小 = 2^k ⇒ 低 k 位是页内偏移 W,高位是页号 P。

  • 两种等价算法:①十进制 P = 地址 ÷ 页大小(整除)、W = 地址 mod 页大小;②位运算 W = 地址 &(页大小 − 1)、P = 地址 >> k。
  • 十六进制捷径(只在页大小是 16 的整数次幂时成立):4KB = 16^3 ⇒ 右起 3 个十六进制位就是 W,其余是 P;64KB = 16^4 ⇒ 4 位;1MB = 16^5 ⇒ 5 位。⚠️ 1KB(2^10)、2KB(2^11)、8KB(2^13)不是 16 的整数次幂,不能"数位",只能整除或位运算。
  • 例(4KB 页、逻辑地址 0x2A5F):0x2A5F = 0010 1010 0101 1111 ⇒ 低 12 位 1010 0101 1111 = W = 0xA5F(2655)、高 4 位 0010 = P = 2;验算 2×4096+2655 = 10847 = 0x2A5F ✓(右起 3 位 A5F 是偏移、剩下的 2 是页号,数 3 位即可)。
  • 物理地址 = 页框号 × 页大小 + W(页框号 = 页表[P]);⚠️ W 原样保留,只换页框号。
  • 页号位数 = 地址总位数 − k(如 32 位地址 + 4KB 页 ⇒ 页号 20 位、页表最多 2^20 = 1M 项)。

分段存储:按程序的逻辑单位(段)划分,段长可变;段表记录段基址+段长(越界检查)。

3.2 虚拟存储

精确定义:虚拟存储器=利用局部性原理,只装入部分页面即可运行,其余在辅存(外存),需要时换入主存——"扩大"了逻辑内存。

页面失效(缺页中断)(2020 单35):访问的页不在内存 → 缺页中断 → 需进行虚地址到辅存物理地址的变换(从外存换入主存)。坑:不是"虚地址到主存地址"(主存里没有才缺页——查找方向去辅存,目的地回主存,两件事别混)。

缺页处理五步(把"去哪儿找"和"放回哪儿"分开,别混成一步):

  1. 访问某页 → 页表有效位=0 → 触发缺页中断(由该指令执行引起,属内部异常)。
  2. 查页表得该页在辅存的位置——即"虚地址 → 辅存物理地址"的变换(2020 单35 考的就是这一步)。
  3. 找空闲页框;无空闲则按置换算法(LRU/FIFO/OPT)淘汰一页,若被淘汰页是脏页,先写回辅存。
  4. 从辅存把该页调入选定的页框(主存)——⚠️ 目的地是主存,不是 CPU:CPU 只有主存地址这一条取值通路、没有外存地址线;一页 4KB 也不是"搬进 CPU"的粒度。
  5. 更新页表(有效位=1、填页框号)→ 重新执行被中断的那条指令 → 这次命中,CPU 按物理地址从主存正常取数。

一句话判据:CPU 只能直接读主存(§3.1)⇒ "调入主存"是缺页的必经一步。缺页链 = 辅存 → 主存页框 → CPU 寄存器,中间那一跳不能省。

虚拟存储器最大容量(2021 单26):由**计算机地址结构(CPU 地址长度/字长)**决定——n 位地址可寻址 2^n 个单元;不是由内存大小、不是由外存大小决定(外存只影响能否装入,容量上限看地址位数)。

页面置换算法(2024 单26,LRU 计算):

  • LRU(最近最久未用):淘汰最长时间未被访问的页。
  • FIFO(先进先出):淘汰最早进入的页。
  • OPT(最佳):淘汰未来最久不用的页(理论最优,不可实现)。

例:3 个页框,访问序列 …7,8,9,8,下一次访问 6 时——当前内存 7,8,9(8 刚被访问),7 最久未用 → 淘汰 7(LRU)。

3.3 文件系统

精确定义:文件系统=负责文件的组织、存储、存取、保护的系统软件。

文件系统功能(2022 多82):按名存取、文件的逻辑结构→物理结构转换、实现文件的各种操作(创建/读/写/删)——均为文件系统功能。

文件物理结构(2019 单64):

结构特点
连续结构文件占连续盘块;最不利于文件长度动态增长(增删需移动/搬迁)
链接结构(链式)盘块用指针链接;便于增长,但访问慢(需顺链)
索引结构建索引表;便于随机访问与增长(UNIX 混合索引)

坑:连续结构"存取快"但"动态增长难"——2019 单64 考"最不利于长度动态增长"。

3.4 文件权限

DAC 自主访问控制(2021 单25):Windows、Unix 对文件/资源的访问采用自主访问控制(DAC)——资源属主可自主决定授权;区分 MAC(强制访问控制,安全标签)——详见 7.3 身份认证与访问控制。

chmod 数字权限(2020 单36):读=4、写=2、执行=1;chmod 744 → 所有者 7(读+写+执行)、组 4(只读)、其他 4(只读)。口诀:r=4、w=2、x=1,三位数=所有者/组/其他。

文件夹与文件权限交集(2020 单24):对文件有读+写权限、但对所在文件夹只有读权限 → 最终对文件只有读权限(取权限交集——文件访问受所在文件夹权限限制)。

3.5 运维命令与日志(场景化)

命令/项用途锚点
regedit编辑 Windows 注册表2021 单21
/etc/hostsLinux 主机名↔IP 映射文件2021 单23
shutdown -r nowLinux 重启(同步数据并重启)2021 单24
net user student 1234 /addWindows 添加用户(用户名 student 密码 1234)2023 单24
Windows 安全日志仅系统管理员可读的日志(系统/应用/性能日志普通用户可读)2026 单76

日志三兄弟(2026 单76):Windows 事件日志分系统日志、应用程序日志、安全日志——只有安全日志(登录/权限审计)仅管理员可访问。

Linux 命令补充表(2020 单23 考 history):

命令用途备注
history查看历史命令2020 单23;!n 重跑第 n 条
ps -ef / top进程快照 / 实时资源占用排查"谁在占 CPU"
kill -9 PID / kill -15 PID强制终止(SIGKILL)/ 默认终止(TERM)-STOP 为暂停
who / last / w在线用户 / 登录历史 / 当前活动审计常用
df -h / du -sh磁盘剩余 / 目录占用空间排查
free -m / uptime内存 / 系统负载性能排查
ss -lntp / netstat -an端口监听与连接与 5.8 网络命令呼应
systemctl start/stop/enable服务管理老写法为 service
sync把缓存刷入磁盘关机前必做

Windows/Linux 系统管理工具族(补强:2026-11-03,覆盖 2021 单21、2023 单24/多91 同族):

用途WindowsLinux
注册表 / 策略regedit.exe(注册表)/gpedit.msc(组策略)/etc/ 下配置文件
用户与组net user 用户名 密码 /add、net localgroupuseradd/usermod/passwd/groupadd
服务services.mscsystemctl
日志eventvwr.msc(安全日志仅管理员可读)/var/log/、journalctl
磁盘diskmgmt.mscfdisk、df、du
计划任务taskschd.msccrontab
综合管理compmgmt.msc—
  • 账户锁定策略(连续失败 N 次锁定)防的是暴力破解,不是木马、不是 IP 欺骗、不是缓冲区溢出。
  • 人员变更(离职/换岗/交接)⇒ 立即改口令并停用账号(不是"一周内""一月内")。
  • 坑:regedit 改注册表、gpedit 改组策略,两者别混(2021 单21 考的就是 regedit);net user … /add 是添加用户(2023 单24)。

shutdown 家族边界(2021 单24 同族,易错):- shutdown -h now=关机(halt,不断电);shutdown -r now=重启;shutdown -c=取消已计划的关机。

  • halt=停机不断电;poweroff=停机并断电;reboot=重启。
  • now=立即执行(不等待预定时间),不等于强制断电(强制断电是 -f 或直接断电)。
  • 关机流程:通知用户 → 停服务 → sync 落盘 → 卸载文件系统 → 断电。

3.6 地址变换与文件分配计算(补强·计算题)

分页地址变换(三步):

  1. 用页大小 2^k 切分逻辑地址:低 k 位=页内偏移 W、其余=页号 P;
  2. 查页表得页框号 F;
  3. 物理地址 = F × 页大小 + W。
  • 例:页大小 4 KB(2^12)、逻辑地址 0x2A5F ⇒ P=2、W=0xA5F;页表[2]=5 ⇒ 物理地址=5×4096+0xA5F。
  • 多级页表访存次数 = 级数 + 1(最后一次取数据);单级页表 = 2 次(查页表 + 取数)。
  • 分段:按逻辑单位切分,段长可变,地址=段号+段内偏移;段页式=先分段再分页。

文件分配三型对比:

方式优点缺点
连续分配顺序访问最快外部碎片、难增长
链接分配无外部碎片、易增长只能顺序访问、指针占空间
索引分配支持随机访问索引块开销

混合(多级)索引最大文件:设块大小 B 字节、每个地址 4 字节、直接地址 n 个 ⇒ 最大块数 = n + B/4 + (B/4)² + (B/4)³(含一/二/三级间接),再乘块大小。

  • 访盘次数:直接地址 1 次、一级间接 2 次、二级 3 次、三级 4 次。

位示图(空闲空间管理):字号 = 块号 ÷ 字长(取整)、位号 = 块号 mod 字长;反算:块号 = 字号×字长+位号;总字数 = ⌈总块数 ÷ 字长⌉。


四、易错坑汇总(命题人惯用陷阱)

  1. 缺页中断 → 虚地址到辅存变换,不是到主存(主存无该页才缺页)(2020 单35);但找到后调入的是主存页框,不是 CPU——方向与目的地是两件事。
  2. 虚拟存储器容量由地址结构(CPU 地址位数)决定,不是内存或外存大小(2021 单26)。
  3. LRU 淘汰最久未用,不是最早进入(那是 FIFO)(2024 单26)。
  4. 连续结构最不利文件长度动态增长(2019 单64);索引结构便于随机访问。
  5. chmod 数字:r=4、w=2、x=1,744=所有者 7 组 4 其他 4(2020 单36)。
  6. 文件夹权限限制文件权限:取交集(2020 单24)。
  7. Windows/Unix 文件权限 = DAC(自主),不是 MAC(2021 单25)。
  8. 安全日志仅管理员可读;系统/应用日志普通用户可读(2026 单76)。
  9. /etc/hosts 是主机名映射(不是 DNS 配置文件 /etc/resolv.conf)(2021 单23)。
  10. shutdown -r now 是重启并同步写盘(-r=reboot)(2021 单24)。
  11. "主存/辅存"与"内置/外置"不是一回事:内置硬盘也是辅存;CPU 不能直接访问辅存,外存数据必须先调入主存;日常口中的"手机 128G 内存"其实指闪存(辅存)。

五、横向扩展(防漏网:本章边界内、真题尚未考但可能补考的点)

说明:横向扩展覆盖"大纲范围内但 9 年真题未考过"的知识,标注【新增概率】供取舍。

  1. FIFO 与 LRU 置换对比计算【高】:给定访问序列计算缺页次数——2024 考了 LRU 淘汰,缺页率计算是 2027 高概率(含 Belady 异常:FIFO 增加页框反而缺页增多)。
  2. 页表项与地址变换计算【中】:页大小、页表、逻辑地址→物理地址(页号查表+偏移)——数据库/网络场景底层,可能出计算。
  3. 分页 vs 分段对比【高】:分页(固定大小、无逻辑意义、无外部碎片)vs 分段(可变、按逻辑单位、有外部碎片)——概念对比题高概率。
  4. 内存分配算法【低】:首次适应/最佳适应/最差适应——碎片相关。
  5. 文件目录与路径【中】:树形目录、绝对路径 vs 相对路径、当前目录——命令场景题。
  6. 文件保护与加密【中】:文件加密、访问控制列表(ACL)——与信息安全衔接(ACL 见 5.9 网络)。
  7. Linux 常用命令【高】:ls/cd/mkdir/rm/cp/mv/ps/kill/chmod——2021/2023 已考 regedit/hosts/net user,Linux 命令是 2027 重点(ps 查看进程、kill 终止进程、chmod 改权限)。
  8. Windows 任务管理器与性能【低】:进程/CPU/内存监控——运维场景。
  9. 磁盘调度算法【中】:FCFS、SSTF(最短寻道)、SCAN(电梯算法)——磁盘 I/O 优化,可能补考(衔接 2.1 磁盘)。
  10. 日志审计与等保【中】:日志留存(≥6 个月,衔接 7.8 网安法)、审计策略——合规场景题。

六、真题演练(代表性真题 + 解析)

例 1(2024 单26) 系统为某进程分配了 3 个页框,该进程已访问的页号序列为 1,0,2,3,2,4,5,3,7,8,9,8。若使用 LRU 算法,下一个要访问的页号为 6,此时应淘汰的页号为(口径已核)。 A. 2 B. 3 C. 7 D. 8

答案:C。逐格追踪(LRU 淘汰"上次使用"最早的页;命中会刷新该页): 1、0、2 缺页装满 {1,0,2};3 缺→淘汰 1;2 命中(刷新);4 缺→淘汰 0;5 缺→淘汰 3;3 缺→淘汰 2;7 缺→淘汰 4;8 缺→淘汰 5;9 缺→淘汰 3;8 命中(刷新)。 此时内存 {7,8,9}:8 刚用(第 12 步)、9 次之(第 11 步)、7 最久未用(第 9 步) → 访问 6 时淘汰 7,选 C。 ⚠️ 干扰项设计:A(2)、B(3)早已不在内存(分别于第 6、8 步被换出),专坑不追踪到底的人;D(8)刚命中过,恰是"最不该淘汰"的页。 ⚠️ 文本勘误:初稿误用 Silberschatz 教材经典序列 7,0,1,2,0,3,0,4 且误标答案 A(按该假题演算"访问 3 时"确实淘汰 1)——已按真题原文恢复题干与选项(1,0,2,3,2,4,5,3,7,8,9,8),答案重推为 C(淘汰 7)。

例 2(2021 单26) 虚拟存储器的最大容量取决于(口径已核)。 A. 主存容量 B. 外存容量 C. 计算机地址结构 D. CPU 速度

答案:C。虚拟存储器容量上限由**地址结构(CPU 地址位数)**决定(n 位地址可寻址 2^n);主存/外存只影响实际可用量。口诀:虚拟多大看地址、实际多少看内外存。

例 3(2020 单35) 虚拟存储中页面失效时需要(口径已核)。 A. 进行虚地址到主存物理地址的变换 B. 进行虚地址到辅存物理地址的变换 C. 重新启动系统 D. 增加内存容量

答案:B。缺页(页面失效)时目标页在辅存(外存),需进行虚地址到辅存物理地址的变换(找到外存位置换入)。口诀:缺页找外存。

例 4(2022 多82) 文件系统的主要功能包括(口径已核)。 A. 按名存取 B. 文件的逻辑结构到物理结构的转换 C. 实现对文件的各种操作 D. 直接控制硬件设备

答案:ABC。文件系统功能=按名存取 + 逻辑↔物理结构转换 + 文件操作(创建/读写/删除);D 直接控制硬件设备是设备管理(I/O 系统)的职责。口诀:文件系统管文件,不直接管硬件。

例 5(2020 单36) chmod 744 file 的权限含义是(口径已核)。 A. 所有者读+写+执行,组读+写,其他读 B. 所有者读+写+执行,组只读,其他只读 C. 所有者只读,组读+执行,其他读 D. 所有者读+写,组读+执行,其他读

答案:B。7=4+2+1(读+写+执行)、4=只读 → 所有者 7、组 4、其他 4。口诀:r=4、w=2、x=1,三位数顺序=所有者/组/其他。

例 6(2020 单24) 用户对某文件有读+写权限,但对其所在文件夹只有读权限,则用户对该文件最终(口径已核)。 A. 只有读权限 B. 有读+写权限 C. 只有执行权限 D. 无任何权限

答案:A。文件访问受所在文件夹权限限制——取权限交集(读+写 ∩ 读 = 读)。口诀:文件夹卡文件,取交集。

例 7(2026 单76) 只允许系统管理员访问的 Windows 日志是(口径已核)。 A. 系统日志 B. 应用程序日志 C. 安全日志 D. 性能日志

答案:C。安全日志(登录、权限审计等安全事件)仅管理员可读;系统/应用程序/性能日志普通用户可读。口诀:安全日志门槛高。

例 8(2023 单24) net user student 1234 /add 命令的作用是(口径已核)。 A. 删除用户 student B. 添加用户 student 并设置密码 1234 C. 修改用户 student 的密码 D. 查看用户 student 的信息

答案:B。net user 用户名 密码 /add = 添加用户并设置密码。场景题:识别 Windows 命令功能。


七、本章小结

  • 一条主线:内存(逻辑物理/页式/虚拟/LRU)→ 文件(按名存取/结构/权限 chmod)→ 命令(regedit/net user/hosts/shutdown/日志)。
  • 必背口诀:缺页找外存、虚拟看地址、LRU 淘汰最久未用、r=4 w=2 x=1、文件夹卡文件取交集、安全日志管理员专属。
  • 必背区分:连续(不便增长)vs 链接(便增长慢访问)vs 索引(随机访问);分页(定长无外部碎片)vs 分段(变长按逻辑)。
  • 衔接预告:文件权限(DAC)与 7.3 身份认证衔接;日志留存与 7.8 网安法衔接;磁盘调度与 2.1 存储衔接。