实用标准文案精彩文档西北工业大学操作系统实验实验报告一、实验目的掌握在GeekOS系统用户态模式下加载并运行可执行程序的方法
二、实验要求1
按照实验讲义P127页中的设计要求,实现在用户态模式下加载并运行可执行程序的代码,给出关键函数的代码以及实验结果
三、实验过程及结果答:核心函数代码如下:==================user
c===============//产生一个进程(用户态)intSpawn(constchar*program,constchar*command,structKernel_Thread**pThread){//TODO("Spawnaprocessbyreadinganexecutablefromafilesystem");intrc;char*exeFileData=0;ulong_texeFileLength;structUser_Context*userContext=0;structKernel_Thread*process=0;structExe_FormatexeFormat;if((rc=Read_Fully(program,(void**)&exeFileData,&exeFileLength))
=0){Print("FailedtoReadFile%s
\n",program);gotofail;}if((rc=Parse_ELF_Executable(exeFileData,exeFileLength,&exeFormat))
=0){Print("FailedtoParseELFFile
\n");gotofail;}if((rc=Load_User_Program(exeFileData,exeFileLength,&exeFormat,command,&userContext))
=0){Print("Fai