国科大2025操作系统高级教程期末回忆版

一共七个大题,试卷上会给源代码。

1、setup程序的最后是jmpi 0,8 ,为什么这个8不能简单的当作阿拉伯数字8看待,究竟有什么内涵?

2、copy_process函数的参数最后五项是:long eip,long cs,long eflags,long esp,long ss。查看栈结构确实有这五个参数,奇怪的是其他参数的压栈代码都能找得到,确找不到这五个参数的压栈代码,反汇编代码中也查不到,请解释原因。

3、进程0开始创建进程1,调用fork(),跟踪代码时我们发现,fork代码执行了两次,第一次,执行fork代码后,跳过init()直接执行了for(;;) pause(),第二次执行fork代码后,执行了init()。奇怪的是,我们在代码中并没有看到向转向fork的goto语句,也没有看到循环语句,是什么原因导致fork反复执行?请说明理由(可以图示),并给出代码证据。

4、逐行注释代码,分析copy_page_tables()函数的代码

5、详细分析进程调度scheduler()的全过程

6、逐行分析make_request()、add_reques()代码,并给出图示。

7、逐行注释代码,分析sys_mount()函数,并给出图示。

(老师还说闭卷会降低难度,俺真不中勒✋😭✋)

相关推荐
小此方21 分钟前
Re:Linux系统篇(十三)特别篇: 实现Linux第⼀个系统程序−进度条
linux·运维·服务器
夏日听雨眠8 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
qq_5425154110 小时前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
火车叼位10 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
小麦嵌入式10 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发
皮卡蛋炒饭.11 小时前
传输层协议UDP
linux·网络协议·udp
syagain_zsx12 小时前
Linux指令初识(实用篇)
linux·运维·服务器
王木风12 小时前
终端里的编程副驾:DeepSeek-TUI-项目深度拆解,实测与原理分析
linux·运维·人工智能·rust·node.js
槑槑紫12 小时前
windows系统装轻量版linux开发
linux·运维·服务器
齐潇宇13 小时前
k8s-Helm管理器
linux·运维·云原生·容器·kubernetes