国科大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()函数,并给出图示。

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

相关推荐
李小白杂货铺几秒前
网络测速脚本(MacOS和Linux平台可用)
linux·macos·脚本·curl·ping·网络测速·网络测速脚本
REDcker1 分钟前
libevent、libev 与 libuv:对比、演进与实现原理
linux·c++·后端·编程·c·高并发·服务端
123过去6 分钟前
impacket-mssqlclient使用教程
linux·测试工具·安全
Chase_______11 分钟前
【Linux精讲|第1章】Vi 编辑器核心三模式——命令、插入、尾行全解析
linux·运维·编辑器
大虾别跑25 分钟前
麒麟v10搭建rsync
linux·运维·服务器
桌面运维家28 分钟前
Nginx+Keepalived:Linux高可用负载均衡配置实战
linux·nginx·负载均衡
BullSmall33 分钟前
LVS与HAProxy高可用负载方案详解
linux·服务器·网络
docsz36 分钟前
Flink-1.20集群部署
linux·服务器·flink
坤坤藤椒牛肉面36 分钟前
常用知识点
linux
行思理39 分钟前
Linux查看网站访问IP的命令大全
linux·服务器·前端