西工大计算机学院计算机操作系统2022最新报告,报告中详细介绍了编写代码的步骤和相关的代码和最后的实验的截图, 供各位同学参考
下面给出部分的实验内容:
要实现系统用户态模式下加载运行可执行程序,需要在Project2的基础上,修改user.c、elf.c、userseg.c、kthread.c、sysall.c、main.c
makefile的修改部分内容:删除-Werror,因为它会把所有的warning当作报错进行处理,然后需要添加-fno-stack-protector
(1)修改“src/GeekOS/user.c”文件中的函数Spawn(),它的功能是生成一个新的用户级进程:
(2)修改“src/GeekOS/user.c”文件中的函数Switch_To_User_Context(),调度程序在执行一个新的进程前调用该函数以切换用户地址空间
(3)修改“src/GeekOS/elf.c”文件中的函数Parse_ELF_Executable()该函数的实现要求和project1相同,所以可以将project1中的elf.c直接使用
(4)“src/GeekOS/use
1