考研 408 计算机学科专业基础(二):操作系统(进程同步PV操作、死锁、虚拟内存页面置换、文件系统)与计算机网络(OSI/TCP-IP五层协议、路由算法、拥塞控制)

全面覆盖408统考《操作系统》(占35分)与《计算机网络》(占25分)核心考点:进程状态转换与调度、信号量PV操作经典同步问题、银行家算法、虚拟内存请求分页与磁盘调度、Inode混合索引,以及数据链路层滑动窗口/CSMA、IP子网划分/RIP/OSPF/BGP、TCP三次握手与拥塞控制。

Level
basic
Languages
zh → zh
Cards
32
Markdown
考研 408 计算机学科专业基础(二):操作系统(进程同步PV操作、死锁、虚拟内存页面置换、文件系统)与计算机网络(OSI/TCP-IP五层协议、路由算法、拥塞控制) (.md)

Flashcards (32)

#Front (Term / Question)Back (Definition / Answer)ExampleMultiple-Choice Options
1在408综合题中,如何区分数据传输率(发送速率/带宽)、传播速率、发送时延(传输时延)与传播时延?1)发送时延(传输时延) = 数据帧长度(bit) / 发送速率(bps),发生在网卡发送器内部,与信道距离无关,可通过提高网卡带宽缩短;2)传播时延 = 信道长度(m) / 电磁波在信道中的传播速率(m/s,光纤约 2×10⁸ m/s,铜线约 2.3×10⁸ m/s),发生在物理信道链路上,与带宽无关。总时延 = 发送时延 + 传播时延 + 排队时延 + 处理时延;时延带宽积 = 传播时延 × 带宽,表示信道上正在传播的比特总数。
2进程(Process)与线程(Thread)在资源分配和处理机调度上的本质区别是什么?同一进程内的多个线程共享哪些资源、独享哪些资源?进程是除 CPU 外系统【资源分配】的基本单位,拥有独立的虚拟地址空间;线程是【处理机调度和分派】的基本单位。同一进程内的各线程共享进程的地址空间、全局变量、打开的文件描述符和信号处理函数;但每个线程独享自己的线程控制块(TCB)、程序计数器(PC)、寄存器上下文和独立的运行栈(用户栈与内核栈)。
3万维网 HTTP/1.0(非持续连接)与 HTTP/1.1(持续连接:非流水线与流水线方式)在请求一个含 N 个引用对象的 HTML 页面时所需的时间(RTT)是多少?首先 DNS 解析需相应时间(若未缓存),建立 TCP 三次握手需 1 个 RTT(第三步可捎带 HTTP 请求):1)HTTP/1.0 非持续连接:每请求一个对象都需重新建立 TCP 连接,每个对象耗时 2 RTT(1 RTT 握手 + 1 RTT 请求响应),共需 2 × (1 + N) 个 RTT;2)HTTP/1.1 持续非流水线:TCP 连接复用,需 1 RTT(握手)+ 1 RTT(HTML)+ N × 1 RTT(逐个请求 N 个对象)= (2 + N) 个 RTT;3)HTTP/1.1 持续流水线:客户端收到 HTML 后可连续并行发出全部 N 个对象的请求,共仅需 1 + 1 + 1 = 3 个 RTT。
4在《计算机网络》中,OSI 七层模型、TCP/IP 四层模型与五层教学体系结构各层的名称及数据协议单元(PDU)是什么?五层结构自下而上:1)物理层(PDU:比特流 Bit,设备:集线器 Hub/中继器,隔离距离但不隔冲突域);2)数据链路层(PDU:帧 Frame,设备:网桥/交换机 Switch,隔离冲突域但不隔广播域);3)网络层(PDU:IP数据报/分组 Packet,设备:路由器 Router,隔离冲突域和广播域);4)传输层(PDU:TCP报文段 Segment / UDP用户数据报 Datagram,端到端进程通信);5)应用层(PDU:报文 Message)。OSI 七层在传输层与应用层之间多了会话层和表示层。
5CIDR(无类别域间路由)与路由聚合(构成超网)中的“最长前缀匹配原则”是什么?NAT(网络地址转换)工作在哪几层、修改什么字段?在 CIDR 路由表中,同一目的 IP 地址可能同时匹配多条不同前缀长度的路由表项,路由器必须选择具有【最长网络前缀(即掩码中 1 的个数最多、子网范围最具体)】的路由项进行转发(默认路由 0.0.0.0/0 前缀最短,仅在无其他匹配时兜底)。NAPT(网络地址端口转换)路由器不仅修改 IP 首部的源/目的 IP 地址,还必须查看并修改传输层 TCP/UDP 首部的源/目的【端口号】,实现多个私有 IP 共享一个公网 IP。
6TCP 拥塞控制的四个算法(慢开始、拥塞避免、快重传、快恢复)中,cwnd 和慢开始门限 ssthresh 在超时和收到 3 个重复 ACK 时如何变化?1)慢开始与拥塞避免:当 cwnd < ssthresh 时执行慢开始,每经过一个传输轮次(RTT)cwnd 按指数规律翻倍(×2);当 cwnd ≥ ssthresh 时执行拥塞避免,每经过一个 RTT 使 cwnd 线性加 1。2)若发生【超时重传】:判定网络严重拥塞,将 ssthresh 设为当前 cwnd 的一半(min(cwnd/2, 2)),并将 cwnd 直接重置为 1,重新进入慢开始。3)若收到【3 个重复的 ACK】:执行快重传(立即重传丢失报文而不等超时)与快恢复,将 ssthresh 设为当前 cwnd 的一半,并将 cwnd 也直接设为新的 ssthresh 值,直接执行拥塞避免(线性加1)。
7进程五状态模型中,哪三种状态转换是绝对不可能直接发生的?为什么?1)阻塞态 → 运行态(不可能:阻塞进程获得等待的事件后只能先进入就绪队列,等待调度器分派 CPU 后才能运行);2)就绪态 → 阻塞态(不可能:处于就绪态的进程并未占用 CPU 执行指令,不可能主动发起等待某事件的请求);3)新建态/创建态 → 运行态(必须先进入就绪队列接受调度)。
8物理层奈奎斯特定理(无噪声理想信道)与香农定理(有高斯白噪声信道)的极限数据传输率计算公式分别是什么?1)奈氏准则:理想低通信道最高码元传输速率为 2W Baud,若每个码元携带 V 种离散状态(log₂V 比特),则极限数据率 C_max = 2W log₂V (bps);2)香农定理:受限高斯白噪声信道的极限信息传输速率 C_max = W log₂(1 + S/N) (bps),其中 W 为信道带宽(Hz),S/N 为信噪比无量纲真值,若题目给出分贝值 dB = 10 log₁₀(S/N),需先换算 S/N = 10^(dB/10)。当两条件同时给出时,实际最大数据率取两者的【较小值 min】。
9什么是虚拟内存中的“抖动(Thrashing / 颠簸)”现象?产生抖动的根本原因与工作集(Working Set)模型的作用是什么?刚刚换出的页面马上又要换入主存,刚刚换入的页面马上又要换出,导致系统大部分时间都花在页面的换入/换出磁盘 I/O 上,CPU 利用率急剧暴跌的现象称为抖动。根本原因是系统中同时运行的进程太多,分配给每个进程的物理页面数小于其当前所需的【工作集(在某段时间窗口 Δ 内进程实际访问的页面集合)】大小。操作系统通过跟踪工作集大小来动态调整驻留集或挂起部分进程。
10应用层 DNS(域名系统)的递归查询与迭代查询分别用在什么环节?DNS 报文使用什么传输层协议和端口号?主机向本地域名服务器的查询通常采用【递归查询】(本地域名服务器替主机去查到底并返回最终结果);本地域名服务器向根域名服务器、顶级域名服务器、权限域名服务器的查询通常采用【迭代查询】(各级服务器只告诉本地域名服务器下一步该去查哪个服务器)。DNS 标准查询与响应使用【UDP 53 端口】(速度快、开销小),仅在主辅域名服务器进行区域传送(Zone Transfer)或响应超过 512 字节时使用 TCP 53 端口。
11分页存储管理中,二级或多级页表如何解决单级页表占用连续大内存的问题?构建多级页表的黄金原则是什么?单级页表要求整个页表常驻内存且连续存放(如32位系统4KB页需 2²⁰ 个页表项,占4MB连续空间)。多级页表对页表再次分页,仅顶级页表(页目录表,占1页)常驻内存,下级页表可离散存放甚至调出到外存。408 黄金设计原则:各级页表的大小通常不能超过一个物理页面的大小,因此若页面大小为 4KB(2¹²B)、页表项大小为 4B,则每页最多容纳 4KB / 4B = 1024 = 2¹⁰ 个页表项,即每级页表索引占 10 位虚拟地址。
12以太网交换机(Switch)的“自学习与转发帧”算法流程是什么?VLAN(虚拟局域网 802.1Q)在以太网帧中插入了什么字段?交换机收到一帧后:1)自学习:读取【源 MAC 地址】和入接口,写入或更新交换表(MAC地址表,含老化时间);2)转发:查找【目的 MAC 地址】,若表中找到对应接口且与入接口不同则单播转发;若与入接口相同则丢弃(过滤);若表中未找到或目的地址是广播地址(FF-FF-FF-FF-FF-FF),则向除入接口外的所有其他接口【泛洪(Flooding)】广播。IEEE 802.1Q 在源 MAC 地址后插入 4 字节 VLAN 标签(含 12 位 VID,支持 4094 个 VLAN)以在交换机上隔离广播域。
13TCP 四次挥手释放连接时,为什么客户端在发送最后一个 ACK 后必须等待 2MSL(最长报文段寿命,处于 TIME-WAIT 状态)才能进入 CLOSED 状态?两个原因:1)保证客户端发送的最后一个 ACK 报文段能够到达服务器——若该 ACK 丢失,服务器会超时重传 FIN+ACK,客户端在 2MSL 时间内收到重传的 FIN 后可再次发送 ACK 并重启 2MSL 计时器,确保服务器能正常关闭;2)防止“已失效的连接请求报文段”出现在新连接中——等待 2MSL 可使本连接持续时间内所产生的所有报文段都从网络中彻底消失。
14文件传输协议 FTP 的控制连接与数据连接分别使用什么端口号?主动模式(PORT)与被动模式(PASV)有何区别?FTP 基于 TCP,使用两个并行的 TCP 连接:1)【控制连接(服务器端口 21)】在整个会话期间一直保持打开,仅用于传输 FTP 控制命令和响应,不传文件数据(即带外控制);2)【数据连接(主动模式使用服务器端口 20)】按需建立、传完即关。主动模式由服务器主动从 20 端口向客户端发起连接(易被客户端防火墙拦截);被动模式由客户端主动向服务器临时开放的高端口发起数据连接。
15ARP(地址解析协议)、DHCP(动态主机配置协议)和 ICMP(网际控制报文协议)分别工作在什么层次,使用广播还是单播?1)ARP 将本网段 IP 地址解析为 MAC 地址:ARP 请求是【广播帧】(目的 MAC 全 F),ARP 响应是【单播帧】;跨网段通信时每经过一个路由器,数据报的源/目的 IP 不变(除非 NAT),但源/目的 MAC 地址每一跳都会通过 ARP 重新更换。2)DHCP 基于应用层 UDP(客户端口 68,服务器端口 67),发现/请求/提供/确认四步全过程均使用【广播】。3)ICMP 封装在 IP 数据报内部,Ping 使用 ICMP 回送请求/回答报文,Traceroute 利用 IP 首部 TTL 从 1 递增触发【ICMP 时间超过(终点不可达)】差错报文。
16生产者-消费者问题、读者-写者问题(读者优先与写者优先)、哲学家进餐问题的 PV 操作设计核心要点分别是什么?1)生产者-消费者:必须【先执行同步 P 操作(P(empty) 或 P(full)),后执行互斥 P 操作(P(mutex))】,若颠倒会导致死锁;V 操作顺序无所谓。2)读者-写者:读者优先中,仅第一个读者(count==0)执行 P(rw) 锁住写者,最后一个读者(count==0)执行 V(rw),需用 mutex 保护计数器 count;若要实现读写公平(防止写者饥饿),外层再加一个排队信号量 w。3)哲学家进餐:通过限制最多 n-1 人同时拿筷子、奇偶编号不同顺序拿筷子或对拿两只筷子加互斥锁来破坏死锁。
17电子邮件系统中,SMTP、POP3 和 IMAP 协议分别用于邮件传递的哪个阶段,基于什么传输层协议和端口?全部基于可靠的【TCP 协议】:1)SMTP(端口 25,采用“推 Push”方式):用于发件人用户代理向发送方邮件服务器发送邮件,以及发送方邮件服务器向接收方邮件服务器转发邮件(仅能传 7 位 ASCII 码,传二进制附件需 MIME 编码转换);2)POP3(端口 110)与 IMAP(端口 143,均采用“拉 Pull”方式):用于收件人从接收方邮件服务器读取邮件,IMAP 支持在服务器上管理文件夹及只下载邮件首部或部分内容。
18用户态(目态)切换到内核态(管态)的唯一途径是什么?异常(Exception/内中断)与中断(Interrupt/外中断)有何本质区别?从用户态进入内核态必须通过【中断或异常】(包括系统调用执行的访管指令 Trap)由硬件自动完成状态切换;而从内核态返回用户态通过执行特权指令(如 iret)修改 PSW 状态字即可。区别:中断(外中断)与当前 CPU 执行的指令无关,来自 CPU 外部(如时钟中断、I/O 完成中断);异常(内中断)与当前执行的指令直接同步相关,如除零故障、缺页异常(Fault)、系统调用自愿陷入(Trap)等。
19IPv4 首部固定长度是多少?首部中“总长度”、“片偏移(Fragment Offset)”和“首部长度(IHL)”三个字段的计数单位分别是什么(口诀“一八四”)?IPv4 首部固定部分为 20 字节(最大 60 字节)。三个长度字段的单位口诀【总一、片八、首四】:1)总长度(16位):以【1 字节】为单位,包含首部+数据;2)片偏移(13位):以【8 字节】为单位,因此除最后一个分片外,前面每个 IP 分片的数据部分长度必须是 8 字节的整数倍;3)首部长度(4位):以【4 字节(32位字)】为单位,最小值为 5(即 20 字节)。
20在信号量机制中,整型信号量与记录型信号量的区别是什么?为什么记录型信号量的 P(wait) 和 V(signal) 操作满足“让权等待”?整型信号量在 wait(S) 中若 S ≤ 0 则循环测试(忙等,违背让权等待);记录型信号量由代表资源数目的整型变量 value 和阻塞进程链表 L 组成:执行 P(S) 时 value--,若 value < 0,进程主动调用 block() 自我阻塞并挂入等待队列 L(让出 CPU,实现让权等待),此时 |value| 即为等待该资源的阻塞进程数;执行 V(S) 时 value++,若 value ≤ 0,则调用 wakeup() 从 L 中唤醒一个进程移入就绪队列。
21局域网介质访问控制中,传统以太网的 CSMA/CD(载波监听多路访问/碰撞检测)与无线局域网 802.11 的 CSMA/CA(碰撞避免)有何不同?1)CSMA/CD(用于半双工有线以太网,先听后发、边发边听、冲突停发、随机重发):要求帧的发送时延 T_t ≥ 争用期 2τ(故以太网最短有效帧长为 64 字节 = 512 bit),采用截断二进制指数退避算法(从 {0, ..., 2^k - 1} 中随机选 r,k=min(重传次数, 10),重传16次失败则丢弃);2)CSMA/CA(用于无线 Wi-Fi,因无线信号衰减大及存在隐蔽站问题无法边发边听检测碰撞):采用帧间间隔 IFS(SIFS < PIFS < DIFS)、二进制指数退避倒计时及可选的 RTS/CTS 信道预约机制(虚拟载波监听 NAV)并引入链路层 ACK 确认。
22内部网关协议 RIP、OSPF 与外部网关协议 BGP 在路由算法、封装协议、度量指标和适用规模上有何核心区别?1)RIP(距离向量算法):封装在【应用层 UDP(端口520)】中,按跳数(最大15跳,16表示不可达)度量,每30秒仅与相邻路由器交换【整张路由表】,收敛慢且存在“好消息传得快,坏消息传得慢(无穷计数)”问题;2)OSPF(链路状态算法 Dijkstra):直接封装在【IP 数据报(协议号89)】中,以带宽/时延等代价为度量,在洪泛发生链路状态变化时向自治系统(AS)内所有路由器发送本路由器的局部链路状态(LSA),收敛快且无环路;3)BGP(路径向量协议):封装在【应用层 TCP(端口179)】中,在不同 AS 之间寻找一条能到达且较好的无环路由(非最佳路由)。
23请求分页管理中,OPT(最佳置换)、FIFO(先进先出)、LRU(最近最久未使用)和 Clock(时钟/最近未用 NRU)算法的特点是什么?哪种算法会出现 Belady 异常?1)OPT:淘汰未来最长时间不再访问的页面,缺页率最低但无法实际实现,用作评价基准;2)FIFO:淘汰最早进入内存的页面,仅【FIFO 算法】会出现 Belady 异常(即分配的物理块数增加,缺页次数反而增加);3)LRU:淘汰过去最长时间未被访问的页面,性能接近 OPT 且属于栈类算法绝无 Belady 异常,但需寄存器或栈支持,硬件开销大;4)改进型 Clock 算法:利用(访问位 A,修改位 M)构成四类页面,优先淘汰 (0,0) 未访问未修改页,其次淘汰 (0,1) 未访问已修改页。
24传输层 UDP 与 TCP 的核心区别是什么?为什么 UDP 首部只有 8 个字节且计算检验和时要添加 12 字节“伪首部”?UDP 无连接、不可靠、面向报文(不合并也不拆分应用层报文,保留报文边界)、无拥塞控制,支持一对一/一对多/多对多通信,首部仅 8 字节(源端口、目的端口、长度、检验和各 2 字节),开销极小,适合 DNS、DHCP、RIP、实时音视频;TCP 面向连接、可靠、面向字节流、全双工点对点,首部固定 20 字节。UDP/TCP 计算检验和时临时在前面加上 12 字节伪首部(含源IP、目的IP、协议号、TCP/UDP长度),仅用于二进制反码求和校验传输层及IP地址是否正确,既不向下传送也不向上递交。
25文件系统中,外存分配方式(连续分配、链接分配 FAT、索引分配 Inode)各有何优缺点?UNIX/Linux 混合索引如何计算最大文件长度?1)连续分配:顺序和随机访问都极快,但易产生外部碎片且文件不便动态增长;2)显式链接分配(FAT表):整个磁盘一张 FAT 表且常驻内存,支持随机访问且无外部碎片,但 FAT 表占用内存较大;3)混合索引分配(Inode):设 Inode 含 10 个直接地址项、1 个一次间接、1 个二次间接、1 个三次间接,磁盘块大小为 B 字节,每个盘块地址占 d 字节(每块可存 k = B/d 个地址),则文件最大块数为 10 + k + k² + k³,最大文件字节数为 (10 + k + k² + k³) × B。
26假设主机通过浏览器输入网址 `http://www.example.com/index.html` 到页面显示出来,依次会用到哪些网络协议?1)若主机刚开机无 IP:先用【DHCP(封装在 UDP→IP→以太网广播帧)】动态获取本机 IP、子网掩码、默认网关 IP 和 DNS 服务器 IP;2)解析默认网关 MAC:用【ARP 协议】广播请求网关路由器的 MAC 地址;3)域名解析:用【DNS(封装在 UDP 53 端口)】向 DNS 服务器查询 `www.example.com` 的 IP 地址;4)建立连接:与 Web 服务器【TCP 80 端口(HTTPS 为 443)】进行三次握手,沿途路由器用【IP 及 OSPF/BGP 路由表】转发;5)请求与渲染:通过【HTTP】发送 GET 请求报文并接收响应渲染页面。
27数据链路层滑动窗口协议中:停止-等待协议、后退 N 帧协议(GBN)与选择重传协议(SR)的发送窗口 W_T 与接收窗口 W_R 取值限制是什么?设帧序号采用 n 比特编码(共有 2ⁿ 个序号):1)停止-等待协议:W_T = 1,W_R = 1;2)GBN 协议(累积确认,接收方丢弃乱序帧):W_R = 1,发送窗口 1 < W_T ≤ 2ⁿ - 1(若 W_T = 2ⁿ 会无法区分新帧与重传旧帧);3)SR 协议(逐帧单独确认,缓存乱序帧):W_T + W_R ≤ 2ⁿ 且 W_R ≤ W_T,通常取最大值 W_T = W_R = 2^(n-1)。信道利用率 U = (发送窗口内帧总发送时间) / (一个往返发送周期 T_D + RTT + T_A),且 U ≤ 1。
28磁盘调度算法 FCFS、SSTF(最短寻道时间优先)、SCAN(电梯算法)、LOOK、C-SCAN、C-LOOK 的磁头移动规律与饥饿问题是什么?1)FCFS:公平但平均寻道长度长;2)SSTF:每次选离当前磁头最近的磁道,平均寻道短但会产生【饥饿现象】(远离磁头的磁道长期得不到服务);3)SCAN / LOOK:磁头单向移动直到磁盘最边缘(SCAN)或该方向最远请求处(LOOK)再掉头反向扫描,消除了饥饿但对刚扫过的磁道不公平;4)C-SCAN / C-LOOK(循环扫描):单向移动提供服务,到最远端后直接快速拉回起始端而不沿途服务,各磁道响应机会最均匀。
29TCP 三次握手建立连接的过程中,各报文段的控制位(SYN、ACK)、序号(seq)、确认号(ack)是什么?为什么不能采用两次握手?1)第一次握手(客户端→服务器):SYN=1,seq=x(不能携带数据,但消耗1个序号),客户端进入 SYN-SENT;2)第二次握手(服务器→客户端):SYN=1,ACK=1,seq=y,ack=x+1(不携数据,消耗1个序号),服务器进入 SYN-RCVD;3)第三次握手(客户端→服务器):ACK=1,seq=x+1,ack=y+1(可携带数据,不携数据则不消耗序号),双方进入 ESTABLISHED。采用三次握手的核心原因是为了【防止已失效的连接请求报文段突然又传送到了服务端】,导致服务端错误地单方面分配资源并一直等待客户端发数据。
30产生死锁(Deadlock)的四个必要条件是什么?死锁预防、死锁避免(银行家算法)与死锁检测有何不同?四个必要条件:互斥条件、不可剥夺条件、请求并保持条件、循环等待条件。1)死锁预防:通过静态破坏后三个条件之一(如一次性静态分配或按序分配资源),资源利用率低;2)死锁避免:在动态分配资源前用【银行家算法】检查分配后系统是否处于安全状态(是否存在安全序列使所有进程满足 Need_i ≤ Work),若安全才分配;3)死锁检测与解除:不限制分配,定期用资源分配图化简检测死锁并通过剥夺资源或撤销进程解除。注意:银行家算法判出“不安全状态”不等于已经发生死锁,只是有可能进入死锁。
31TCP 的流量控制与拥塞控制有何区别?发送方的实际发送窗口上限公式是什么?流量控制是点对点的通信量控制,通过接收方在 TCP 首部通告【接收窗口 rwnd】大小,抑制发送方速率使接收方来得及接收;拥塞控制是全局性的过程,防止过多数据注入网络导致路由器和链路过载,发送方维护【拥塞窗口 cwnd】。发送方的实际发送窗口上限值 = min(接收窗口 rwnd, 拥塞窗口 cwnd)。
32文件的硬链接(Hard Link)与软链接(符号链接 Symbolic Link)在 Inode 和删除行为上有何本质区别?1)硬链接:多个目录项直接指向同一个物理 Inode 编号,Inode 中的引用计数器 count 加 1;删除某硬链接仅将目录项移除且 count 减 1,只有当 count 减为 0 时才真正释放 Inode 和磁盘数据块;硬链接不能跨文件系统且不能对目录创建。2)软链接:创建一个拥有独立新 Inode 的特殊文件,其数据块中存放的是目标文件的路径名字符串;若删除原目标文件,软链接将失效变成悬空链接(但若在原路径新建同名文件可恢复生效)。