版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一周:计算机是如何工作的?第二周:操作系统是如何工作的?第三周:构造一个简单的Linux系统MenuOS第四周:扒开系统调用的三层皮(上)第五周:扒开系统调用的三层皮(下)第六周:进程的描述和进程的创建第七周:可执行程序的装载第八周:进程的切换和系统的一般执行过程期末考试第一周:计算机是如何工作的?第1题对于x86指令集来讲,大多数指令都可以直接访问内存?()正确答案:√第2题IP,EIP,RIP可被以下哪些指令修改?()ACALLBRETCJMPDConditionalJMP正确答案:ABCD第3题下列哪一个是32位x86CPU通用寄存器中的的累加器?()AAXBBXCEAXDRAX正确答案:C第4题x86CPU中,下列哪些是关于堆栈的32位寄存器?()AEBPBEAXCEBXDESP正确答案:AD第5题下列哪些是段寄存器?()ACSBDSCESDSS正确答案:ABCD第6题CPU在实际取指令时根据CS:eip代码段地址来准确定位一个指令()正确答案:√第7题32位CPU上的InstructionPointer是什么寄存器,从内存代码段中取指令?()AIPBEIPCRIPDIIP正确答案:B232位X86汇编基础--作业单元测验--作业第1题冯诺依曼体系结构的核心思想是存储程序计算机。正确答案:√第2题下面哪条指令的寻址方式是直接寻址方式?Amovb0x12,%ahBmovw$0x123,%axCmovl(%ebx),%edxDmovl%eax,%edx正确答案:A第3题在32位x86CPU中,我们使用pushl和popl指令实现入栈和出栈,popl指令可以使得esp寄存器的值增加4。正确答案:√第4题32位x86CPU中,cs:eip指向要执行的指令地址,所以想执行0x123处的代码,我们可以通过mov$0x123,%eip指令来跳转。正确答案:×第5题与下面两条指令等价的指令是():pushl%ebpmovl%esp,%ebpAenterBleaveCretDpopl正确答案:A随堂小测--作业第1题32位CPU上的InstructionPointer是什么寄存器,从内存代码段中取指令?()A.IP;B.EIP;C.RIP;D.IIP;正确答案:B第2题下列哪一个是32位x86CPU通用寄存器中的的累加器?()A.AX;B.BX;C.EAX;D.RAX;正确答案:C第3题下面哪条指令的寻址方式是直接寻址方式?A.movb0x12,%ahB.movw$0x123,%axC.movl(%ebx),%edxD.movl%eax,%edx正确答案:A第4题下面哪条指令的寻址方式是间接寻址方式?A.movb0x12,%ahB.movw$0x123,%axC.movl(%ebx),%edxD.movl%eax,%edx正确答案:C第5题下面哪条指令的寻址方式是寄存器寻址方式?A.movb0x12,%ahB.movw$0x123,%axC.movl(%ebx),%edxD.movl%eax,%edx正确答案:D第6题下面哪条指令的寻址方式是变址寻址方式?A.movb4(%ebx),%ahB.movw$0x123,%axC.movl(%ebx),%edxD.movl%eax,%edx正确答案:A第7题下面哪条指令的寻址方式是立即寻址方式?A.movb0x12,%ahB.movw$0x123,%axC.movl(%ebx),%edxD.movl%eax,%edx正确答案:B第8题指令movl%eax,%edx与下列哪个表达式是等价的?()A.edx=eax;B.eax=edx;C.eax+edx;D.eax*edx正确答案:A第9题与下面两条指令等价的指令是():pushl%ebpmovl%esp,%ebpA.enter;B.leave;C.ret;D.popl正确答案:A第10题指令subl$4,%espmovl%eax,(%esp)可以用一下列哪一个指令表示?()A.pushl%eax;B.pop%eax;C.push%esp;D.pop%esp正确答案:A第11题指令movl(%esp),%eaxaddl$4,%esp可以用一下列哪一个指令表示?()A.pushl%eax;B.popl%eax;C.pushl%esp;D.popl%esp正确答案:B第12题要实现伪指令pushl%eipmovl$0x12345,%eip可以用一下列哪一个指令实现?()A.pushl%eip;B.popl%eip;C.call0x12345;D.ret正确答案:C第13题要实现伪指令popl%eip可以用一下列哪一个指令实现?()A.pushl%eip;B.popl%eip;C.call0x12345;D.ret正确答案:D第14题指令subl4,movl8,(%esp)可以用一下列哪一个指令表示?()A.pushl$4;B.popl$4;C.pushl$8;D.popl$8;正确答案:C第15题哪个寄存器指向栈顶?()A.%esp;B.%ebp;C.%eax;D.%ebx;正确答案:A第16题哪个寄存器指向栈底?()A.%esp;B.%ebp;C.%eax;D.%ebx;正确答案:B第17题在空栈状态下,以下代码执行完成后,esp指向哪里?()pushl8movlpushlpushl8addl$4,%esppopl%espA.起始位置-2;B.起始位置-4;C.起始位置+4;D.起始位置;正确答案:D第18题vi中的:wq指令完成什么功能?()A.不保存文件,强制退出vi;B.强制保存文件,并退出vi;C.保存文件并退出vi;D.保存文件但不退出vi;正确答案:C第19题使用指令gccmain.c编译会得到什么文件?()A.a.out;B.a.s;C.main.out;D.main.s;正确答案:A第20题使用下列哪条指令,可以生成main.s汇编代码?()A.gcc-S-omain.smain.c;B.gcc-omain.smain.c;C.gcc-Smain.c;D.gccmain.c;正确答案:A第21题eip寄存器的功能是哪个?()A.CPU取指;B.CPU取指后自动指向下一条指令;C.call指令可以修改eip寄存器的值;D.以上说法都正确;正确答案:D第22题对于x86指令集来讲,大多数指令都可以直接访问内存?()正确答案:√第23题CPU在实际取指令时根据CS:eip代码段地址来准确定位一个指令()正确答案:√第24题对立即数的操作不涉及内存读写?()正确答案:√第25题冯诺依曼体系结构的核心思想是存储程序计算机。正确答案:√第26题在32位x86CPU中,我们使用pushl和popl指令实现入栈和出栈,popl指令可以使得esp寄存器的值增加4。正确答案:√第27题32位x86CPU中,cs:eip指向要执行的指令地址,所以想执行0x123处的代码,我们可以通过mov$0x123,%eip指令来跳转。正确答案:×第28题堆栈是向下增长的?()正确答案:√第29题esp寄存器指向栈顶时,是指向栈顶的第一个元素?()正确答案:√第30题eip寄存器不能被直接修改,只能通过call,ret等特殊指令间接修改?()正确答案:√第31题当实验环境为64位时,使用指令gcc-S-omain.smain.c-m32可以生成32位的main.s汇编代码?()正确答案:√第32题enter指令负责建立当前函数堆栈,等价于以下两条指令:pushl%ebpmovl%esp,%ebp正确答案:√第33题leave指令用于撤销函数调用堆栈,等价于以下两条指令:movl%ebp,%esppopl%ebp正确答案:√第34题IP,EIP,RIP可被以下哪些指令修改?()A.CALL;B.RET;C.JMP;D.ConditionalJMP;正确答案:ABCD第35题x86CPU中,下列哪些是关于堆栈的32位寄存器?()A.EBP;B.EAX;C.EBX;D.ESP;正确答案:AD第36题下列哪些是段寄存器?()A.CS;B.DS;C.ES;D.SS;正确答案:ABCD4单元测验--作业第1题32位x86计算机中,cs:eip总是指向地址连续的下一条指令.正确答案:×第2题我们课程内容提到的计算机工作的三个法宝不包含下面哪一项:A存储程序计算机B函数调用堆栈C中断机制DCPU指令正确答案:D第3题Linux中,可以使用objdump工具进行反汇编。正确答案:√第4题中断信号产生后,保存现场和恢复现场由CPU硬件单独完成。正确答案:×第5题movl0xc(%ebp),%eax这条指令的作用等价于eax=*(int32_t*)(ebp+12).正确答案:√第6题mykernel实验中,时钟中断处理函数是voidmy_timer_handler(void)。正确答案:√随堂小测--作业第1题本课程中总结的三个法宝是下列哪三个()?A.存储程序计算机;B.堆栈;C.中断;D.汇编语言;正确答案:ABC第2题堆栈机制的功能有哪些?()A.函数调用框架;B.传递参数;C.保存返回地址;D.提供局部变量空间;正确答案:ABCD第3题计算机是如何工作的章节总结——计算机硬件的三个法宝,指的是下列哪三个?()A.中断;B.存储程序计算机;C.函数调用堆栈;D.汇编语言;正确答案:ABC第4题本课程总结的操作系统的两把剑是什么()?:A.中断上下文;B.进程上下文切换;C.存储程序计算机;D.函数调用堆栈;正确答案:AB第5题堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间正确答案:√第6题堆栈是高级语言的起点,堆栈用于高级语言的函数调用()正确答案:√第7题32位x86计算机中,cs:eip总是指向地址连续的下一条指令.正确答案:×第8题C语言编译器对堆栈的使用有一套的规则。在不同的机器上反汇编同一段代码得到的汇编代码可能不同。正确答案:√第9题enter指令和leave指令操作函数调用栈,而call和ret则对系统eip压栈和出栈()正确答案:√第10题在中断发生后,由CPU和内核代码共同实现保存现场和恢复现场的工作。正确答案:√第11题Linux中,可以使用objdump工具进行反汇编。正确答案:√第12题中断信号产生后,保存现场和恢复现场由CPU硬件单独完成。正确答案:×第13题movl0xc(%ebp),%eax这条指令的作用等价于eax=*(int32_t*)(ebp+12).正确答案:√第14题mykernel实验中,时钟中断处理函数是voidmy_timer_handler(void)。正确答案:√第15题堆栈指针(stackpointer)是哪个?()A.esp;B.ebp;C.eax;D.ebx;正确答案:A第16题基址指针(basepointer)是哪个?()A.esp;B.ebp;C.eax;D.ebx;正确答案:B第17题rintf("%d=%d+%d\n",z,x,y);的汇编代码中,参数入栈的顺序是如下哪一个?()A.z,x,y,常量字符串地址;B.常量字符串地址,x,z,y;C.常量字符串地址,y,x,z;D.y,x,z,常量字符串地址;正确答案:D第18题函数调用时,入栈顺序及入栈元素以下哪个是正确的?()以调用b(x,y)函数为例A.y,x,eip,b的堆栈;B.x,y,eip,b的堆栈;C.eip,y,x,b的堆栈;D.eip,x,y,b的堆栈;正确答案:A第19题C代码中嵌入汇编代码的方法是插入()?A.__init;B.__asm__(...);C.static;D.void;正确答案:B第20题C代码中内嵌汇编代码表示eax寄存器清零操作,如下哪一句没有语法错误?()A.movl$0,%%eax;B.movl$0,%eax;C.movl0,%%eax;D.movl0,%eax;正确答案:A第21题下列代码的输出为哪个?()#include<stdio.h>intmain(){/*val1+val2=val3*/unsignedintval1=2;unsignedintval2=3;unsignedintval3=0;asmvolatile("movl$0,%%eax\n\t""addl%1,%%eax\n\t""addl%2,%%eax\n\t""movl%%eax,%0\n\t":"=m"(val3):"c"(val1),"d"(val2));printf("%d\n",,val3);return0;}A.3;B.4;C.5;D.0;正确答案:C第22题下列代码的输出为哪个?()intmain(void){intinput,output,temp;input=1;__asm____volatile__("movl$0,%%eax;\n\t""movl%%eax,%1;\n\t""movl%2,%%eax;\n\t""movl%%eax,%0;\n\t":"=m"(output),"=m"(temp):"r"(input):"eax");printf("%d%d\n",temp,output);return0;}A.01;B.00;C.10;D.11;正确答案:A4单元测验--作业第1题Linux源码start_kernel函数中调用进程调度初始化的是哪个函数?Atrap_initBmm_initCsched_initDrest_init正确答案:C第2题老师总结的操作系统的“两把宝剑”指中断上下文的切换和进程上下文的切换。正确答案:√第3题Linux源码结构中,和进程间通信相关的目录是:AarchBipcCfsDinit正确答案:B第4题MenuOS系统的文件系统不支持的命令是:AlsBhelpCquitDversion正确答案:A第5题Linux启动中的第一个用户态进程是idle进程,即0号进程。正确答案:×随堂小测--作业第1题命令qemu-kernellinux-3.18.6/arch/x86/boot/bzImage-initrdrootfs.img-s-S中的符号-S-s分别表示什么?()A.freezeCPUatstartup;B.freezeCPUatinit;C.shorthandfor-gdbtcp::4321;D.shorthandfor-gdbtcp::1234;正确答案:AD第2题下列命令完成什么功能?()(gdb)breakstart_kernelA.在start_kernel设置断点;B.freezeCPUatinit;C.建立gdb和gdbserver之间的连接;D.加载符号表;正确答案:A第3题以下内核启动过程中的函数执行顺序是什么?()A.start_kernel,rest_init,kernel_init,kthreadd,cpu_idle;B.start_kernel,kthreadd,cpu_idle,rest_init,kernel_init;C.start_kernel,kernel_init,kthreadd,rest_init,cpu_idle;D.start_kernel,kernel_init,rest_init,kthreadd,cpu_idle;正确答案:A第4题Linux源码start_kernel函数中调用进程调度初始化的是哪个函数?A.trap_init;B.sched_init;C.mm_init;D.rest_init;正确答案:B第5题Linux源码结构中,和进程间通信相关的目录是:A.fs;B.init;C.ipc;D.arch;正确答案:C第6题MenuOS系统的文件系统不支持的命令是:A.help;B.ls;C.quit;D.version;正确答案:B第7题不管分析内核的哪一部分都会涉及到start_kernel,因为各个部分的初始化都在start_kernel函数中完成()正确答案:√第8题当系统没有进程需要执行时就调度到idle进程正确答案:√第9题Linux启动中的第一个用户态进程是idle进程,即0号进程。正确答案:×单元测验--作业第1题在32位x86CPU的Linux中,内核态下只能访问0xc0000000以上的地址空间。正确答案:×第2题针对APIxyz,Linux中系统调用的三层皮指的是不包括哪一项AAPIxyzB中断向量system_callC中断服务程序sys_xyzD中断返回程序ret_from_sys_call正确答案:D第3题Linux中,用户态切换到内核态时,int指令不会保存下面哪项?A用户态堆栈顶地址B当时的状态字C当时的cs:eip值D当时的中断向量正确答案:D第4题Intelx86CPU有四种不同的执行级别,Linux使用3级表示内核态。正确答案:×第5题Linux中,系统调用号是使用哪个寄存器传递的?AeaxBebxCecxDedx正确答案:A第6题Linux中,为了方便程序员编程,API和系统调用是一一对应的。正确答案:×第7题Linux中可以通过执行int$128来执行系统调用。正确答案:×随堂小测--作业第1题Linux中,用户态切换到内核态时,中断/int指令会在堆栈上保存哪些寄存器的值?()A.用户态栈顶地址;B.当时的状态字;C.当时的cs:eip的值;D.用户态栈底地址;正确答案:ABC第2题Linux中提供的API与系统调用的区别在于()?A.API只是一个函数定义;B.系统调用通过软中断向内核发出一个明确的请求;C.API和系统调用没有区别;D.以上都是错误的;正确答案:AB第3题IP,EIP,RIP可被以下哪些指令修改?()A.CALL;B.RET;C.JMP;D.ConditionalJMP;正确答案:ABCD第4题Linux中,用户态切换到内核态时,int指令不会保存下面哪项?A.用户态堆栈顶地址;B.当时的状态字;C.当时的cs:eip值;D.当时的中断向量;正确答案:D第5题针对APIxyz,Linux中系统调用的三层皮指的是不包括哪一项A.APIxyz;B.中断向量system_call;C.中断服务程序sys_xyz;D.中断返回程序ret_from_sys_call;正确答案:D第6题Linux中,系统调用号是使用哪个寄存器传递的?A.eax;B.ebx;C.ecx;D.edx;正确答案:A第7题在linux系统调用中,time的系统调用号是多少?()A.11;B.12;C.13;D.14;正确答案:C第8题在32位x86CPU的Linux中,用户态下只能访问0xc0000000以下的地址空间。正确答案:√第9题在32位x86CPU的Linux中,内核态下只能访问0xc0000000以上的地址空间。正确答案:×第10题Intelx86CPU有四种不同的执行级别,Linux使用3级表示内核态。正确答案:×第11题中断发生后第一件事就是保存现场,中断处理结束前最后一件事是恢复现场正确答案:√第12题Linux中可以通过执行int$128来执行系统调用。正确答案:×第13题Linux中,为了方便程序员编程,API和系统调用是一一对应的。正确答案:×第14题在linux系统中,使用寄存器传递参数时,不包括系统调用号在内,参数的个数不能超过6个?()正确答案:√单元测验--作业第1题gdb中的单步跟踪命令有next和step,这两个命令的区别是next遇到函数调用时,会进入相关函数代码。正确答案:×第2题使用gdb调试MenuOS的time命令时,希望在time系统调用的内核处理函数处停下来,可以使用btime设定断点。正确答案:×随堂小测--作业第1题gdb中的单步跟踪命令有next和step,这两个命令的区别是next遇到函数调用时,会进入相关函数代码。正确答案:×第2题32位x86计算机中,cs:eip总是指向地址连续的下一条指令.正确答案:×第3题系统调用机制的初始化在\init\main.cstart_kernel函数中的trap_init()中实现正确答案:√第4题在system_Call执行过程中可能执行的系统调度函数schedule是在哪一个过程中被直接调度用的?()A.work_resched;B.work_pending;C.work_notifysig;D.syscall_exit_work;正确答案:A单元测验--作业第1题Linux中,PCBtask_struct中不包含哪个信息()?A进程状态B进程打开的文件C进程优先级信息D进程包含的线程列表信息正确答案:D第2题操作系统的三大管理功能包括A进程管理B内存管理C驱动管理D文件系统正确答案:ABD第3题Linux内核通过唯一的进程标识PID来区别每个进程。正确答案:√第4题Linux中,fork()系统调用具有“一次调用,两次返回”的特点,两次返回都是在调用fork的父进程中返回。正确答案:×第5题MenuOS中,使用gdb调试fork命令时,在内核中需要在sys_fork处设置一个断点。正确答案:×第6题Linux中,fork、vfork和clone三个系统调用都是通过调用do_fork来实现进程的创建。正确答案:√第7题Linux中,1号进程是所有用户态进程的祖先,0号进程是所有内核线程的祖先正确答案:√随堂小测--作业第1题内核中的操作系统三大功能是什么?()A.进程管理;B.内存管理;C.文件系统;D.中断管理;正确答案:ABC第2题linux系统调用,执行int0x80后需要压入哪些信息?()A.用户ss;B.用户esp;C.cs;D.eip;正确答案:ABCD第3题僵尸进程是由什么状态的进程调用do_exit()函数后所处的状态?()A.Task_ZOMBIE;B.TASK_RUNNING正在运行;C.TASK_RUNNING就绪态;D.Task_INTERRUPTIBLE;正确答案:B第4题进程父子关系是通过什么数据结构连接起来的?()A.单向链表;B.数组;C.双向链表;D.队列;正确答案:C第5题在linux源代码中进程控制块使用什么数据结构来表示()?A.structtask_struct;B.structtcb;C.structpcb;D.structtask;正确答案:A第6题linux系统调用system_call的SAVE_ALL对输入参数寄存器压栈,其中下列哪一个不是SAVE_ALL压栈的寄存器?()A.%es;B.%eax;C.%ebp;D.%esp;正确答案:D第7题父进程调用fork系统调用后,fork系统调用在父进程和子进程各返回一次。正确答案:√第8题下面的代码,只会有一个判断输出,要么是子进程,要么是父进程:#include<stdio.h>#include<stdlib.h>#include<unistd.h>intmain(intargc,char*argv[]){intpid;/*forkanotherprocess*/pid=fork();if(pid<0){/*erroroccurred*/fprintf(stderr,"ForkFailed!");exit(-1);}elseif(pid==0){/*childprocess*/printf("ThisisChildProcess!\n");}else{/*parentprocess*/printf("ThisisParentProcess!\n");/*parentwillwaitforthechildtocomplete*/wait(NULL);printf("ChildComplete!\n");}}正确答案:×第9题linux系统中调用fork系统调用后,在子进程中fork的返回值为0。正确答案:√单元测验--作业第1题Linux下,hello.c生成hello可执行程序的过程中,gcc-Shello.cpp-ohello.s是哪个过程()?A预处理B编译C汇编D链接正确答案:B第2题Linux下有三种目标文件格式,它们是()A汇编文件格式B共享目标文件格式C可执行文件格式D可重定位文件格式正确答案:BCD第3题一般系统调用库函数API的参数传递过程,比如execve系统调用,先进行函数调用参数传递,然后系统调用参数传递,最后又进行函数调用参数传递。正确答案:√第4题下面代码生成的可执行程序运行结果中不会出现after:正确答案:√第5题execve系统调用加载需要动态链接的可执行文件前要先加载其依赖的动态链接库(共享库)。正确答案:×第6题运行时动态装载链接至少需要用到以下哪些函数()AdlopenBdlcloseCdlsymDdlload正确答案:AC第7题execve执行静态链接程序时,通过修改内核堆栈中保存的eip的值作为新进程的起点。正确答案:√随堂小测--作业第1题ELF的三种主要的目标文件是哪三个?()A.可重定位文件;B.可执行文件;C.共享object文件;D.可链接文件;正确答案:ABC第2题运行时动态装载链接至少需要用到以下哪些函数()A.dlopen;B.dlclose;C.dlsym;D.dlload;正确答案:AC第3题下列指令完成什么功能:gcc-E-ohello.cpphello.c-m32A.预处理生成cpp预处理中间文件;B.编译成.cpp可执行文件;C.编译成.s的汇编代码;D.编译成.o目标代码;正确答案:A第4题下列指令完成什么功能:gcc-xcpp-output-S-ohello.shello.cpp-m32A.预处理生成cpp预处理中间文件;B.编译成.cpp可执行文件;C.编译成.s的汇编代码;D.链接成可执行文件;正确答案:C第5题下列指令完成什么功能:gcc-xassembler-chello.s-ohello.o-m32A.预处理生成cpp预处理中间文件;B.编译成.cpp可执行文件;C.编译成.s的汇编代码;D.编译成.o目标代码;正确答案:D第6题下列指令完成什么功能:gcc-ohellohello.o-m32A.链接成可执行文件;B.编译成.cpp可执行文件;C.编译成.s的汇编代码;D.编译成.o目标代码;正确答案:A第7题下列指令完成什么功能:gcc-ohello.statichello.o-m32-staticA.静态链接成可执行文件;B.编译成.cpp可执行文件;C.编译成.s的汇编代码;D.编译成.o目标代码;正确答案:A第8题hello.o是一个可执行文件正确答案:×第9题目标文件格式,windows上一般为PE,linux上一般为ELF正确答案:√第10题命令行参数和环境串都放在用户态堆栈中正确答案:√第11题一般系统调用库函数API的参数传递过程,比如execve系统调用,先进行函数调用参数传递,然后系统调用参数传递,最后又进行函数调用参数传递。正确答案:√第12题由内核负责加载可执行程序依赖的动态链接库。正确答案:×单元测验--作业第1题内核可以看作各种中断处理过程和内核线程的集合。正确答案:√第2题Linux中,进程主动调度的时机可以在中断处理过程中、内核线程中和用户态进程中。正确答案:×第3题Linux系统的一般执行过程可以抽象成正在运行的用户态进程X切换到运行用户态进程Y的过程。正确答案:√第4题Linux中,内核线程可以主动调度,主动调度时不需要中断上下文的切换。正确答案:√第5题Linux进程调度是基于分时和优先级的。正确答案:√第6题Linux中,内核线程是只有内核态没有用户态的特殊进程。正确答案:×随堂小测--作业第1题Linux中,进程主动调度的时机可以在中断处理过程中、内核线程中和用户态进程中。正确答案:×第2题linux中schedule函数也是一个系统调用。正确答案:×第3题Linux中,内核线程是只有内核态没有用户态的特殊进程。正确答案:×第4题挂起正在CPU上执行的进程,与中断时保存现场是相同的正确答案:×第5题Linux系统的一般执行过程可以抽象成正在运行的用户态进程X切换到运行用户态进程Y的过程。正确答案:√第6题Linux中,内核线程可以主动调度,主动调度时不需要中断上下文的切换。正确答案:√第7题内核可以看作各种中断处理过程和内核线程的集合。正确答案:√第8题在Linux中,物理内存总是被映射到进程地址空间中的3G以上的空间中。正确答案:√客观题部分--作业第1题在Linux系统的一般执行过程中,即用户态进程X切换到用户态进程Y的过程中,分析如下进程切换的关键汇编代码,请问系统执行到标号1(即第50行代码)时CPU的寄存器esp指向哪里?Anext进程的内核堆栈的栈顶Bprev进程的内核堆栈的栈顶Cnext进程的用户堆栈的栈顶Dprev进程的用户堆栈的栈顶正确答案:A第2题在Linux系统的一般执行过程中,即用户态进程X切换到用户态进程Y的过程中,分析如下进程切换的关键汇编代码,请问系统执行到标号1(即第50行代码)时CPU的寄存器ebp指向哪里?Aprev进程中调用switch_to宏的函数的函数调用堆栈的基址Bnext进程的内核堆栈栈底Cprev进程的内核堆栈栈底D__switch_to函数的函数调用堆栈的基址Enext进程中调用switch_to宏的函数的函数调用堆栈的基址正确答案:A第3题在Linux系统的一般执行过程中,即用户态进程X切换到用户态进程Y的过程中,分析如下进程切换的关键汇编代码,请问系统执行到标号1(即第50行代码)时prev进程的内核堆栈栈顶存储单元存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程总承包服务内容详解方案
- 高校科研项目财务管理实务指南
- 中考语文综合性学习材料探究训练
- 企业文化建设中的员工激励方法
- 高校医务室设备采购与维护计划
- 中小微企业融资方案设计
- 废旧塑料回收项目商业计划书范本
- 高考生物实验题目解析及答题技巧
- 医院感染控制护士岗位职责
- 销售团队招聘标准与画像分析
- 内蒙古:行业用水定额(DB15-T 385-2020)
- 2025年人力资源管理考试题及答案电大
- 2025全球汽车供应链核心企业竞争力白皮书
- 双碳战略与绿色低碳经济-洞察及研究
- 写作教程(第4版)(中文专业版)课件 第三章 写作过程
- 货物运输合同诉状(3篇)
- 爆破保管员复训考试题及答案
- 数字经济概论(第二版)-课件全套 戚聿东 第1-13章 数据要素-数据垄断与算法滥用
- 2025年齐齐哈尔中考物理试卷真题及答案详解(精校打印)
- Rhino+KeyShot产品设计 课件 第6章 认识KeySho
- HDU病房管理规范与优化策略
评论
0/150
提交评论