系统调用、阻塞与异步 I/O
约 45 分钟
本课针对 408 全真卷中的 系统调用、阻塞与异步 I/O。目标是既能在两分单选中快速排除,也能在十分综合题中保留完整过程。
考纲模型
用户程序通过陷入指令进入内核;阻塞系统调用可能把线程从运行态转为阻塞态,并调度其他线程。
先定义变量、单位、初始状态与不变量。遇到结构题画字段,遇到时序题画时间线,遇到算法题写输入输出和终止条件。结论必须由题设推出,不能依赖背过的某一道题。
综合推演
read 若数据未就绪,内核可登记等待事件并阻塞调用者;设备完成后中断唤醒线程,线程先回到就绪态。
书写顺序固定为:规则或公式、参数代入、中间状态、最终结论。计算完成后做数量级与边界检查;代码实现还要验证空图、不可达、重复访问和最小规模。
高频失分点
被唤醒不等于立即运行;从阻塞到就绪后还需等待调度。系统调用也不等于普通函数调用。
全真训练中,选择题最多用反例与量词检查;综合题即使最后数值错误,也要保留可评分的中间式、状态表和复杂度。代码题必须真运行,不接受只覆盖样例的硬编码。
课后验收
完成本课单选、多选和综合应用题。单选解释三个错误项,多选不得漏选;计算保留单位,文本按要点作答,代码必须通过四个独立测试。次日遮住答案重做,并记录耗时。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。