期末考试--客观题部分【含答案】 Linux操作系统分析

(1)单选题

在Linux系统的一般执行过程中,即用户态进程X切换到用户态进程Y的过程中,分析如下进程切换的关键汇编代码,请问系统执行到标号1(即第50行代码)时CPU的寄存器esp指向哪里?

A  next进程的内核堆栈的栈顶

B  prev进程的内核堆栈的栈顶

C  next进程的用户堆栈的栈顶

D  prev进程的用户堆栈的栈顶

(2)单选题

在Linux系统的一般执行过程中,即用户态进程X切换到用户态进程Y的过程中,分析如下进程切换的关键汇编代码,请问系统执行到标号1(即第50行代码)时CPU的寄存器ebp指向哪里?

A  prev进程中调用switch_to宏的函数的函数调用堆栈的基址

B  next进程的内核堆栈栈底

C  prev进程的内核堆栈栈底

D  __switch_to函数的函数调用堆栈的基址

E  next进程中调用switch_to宏的函数的函数调用堆栈的基址

(3)单选题

在Linux系统的一般执行过程中,即用户态进程X切换到用户态进程Y的过程中,分析如下进程切换的关键汇编代码,请问系统执行到标号1(即第50行代码)时prev进程的内核堆栈栈顶存储单元存放了什么内容?

A  ebp,即prev进程中调用switch_to宏的函数的函数调用堆栈的基址

B  ebp,即next进程中调用switch_to宏的函数的函数调用堆栈的基址

C  ebp,即next进程中__switch_to函数的函数调用堆栈的基址

D  ebp,即prev进程中__switch_to函数的函数调用堆栈的基址

E  eip,即$1f

(4)单选题

在Linux系统的一般执行过程中,即用户态进程X切换到用户态进程Y的过程中,分析如下进程切换的关键汇编代码,请问系统执行到标号1(即第50行代码)时next进程的内核堆栈栈顶存储单元存放了什么内容?

A  ebp,即next进程中调用switch_to宏的函数的函数调用堆栈的基址

B  ebp,即prev进程中调用switch_to宏的函数的函数调用堆栈的基址

C  ebp,即next进程中__switch_to函数的函数调用堆栈的基址

D  ebp,即prev进程中__switch_to函数的函数调用堆栈的基址

E  eip,即$1f

(5)多选题

从运行时的角度(执行视图)来看Linux系统,下列哪些属于Linux系统中的执行实体?

A  用户态进程

B  内核线程

C  中断处理过程

D  系统调用处理过程

E  I/O中断处理过程

F  时钟中断处理过程

(6)判断题

Linux 系统启动中创建的第一个用户态进程是idle进程,即0号进程从start_kernel开始。

(7)多选题

Linux系统中,用户态切换到内核态时,int指令或中断信号会触发CPU自动保存下面哪些信息到内核堆栈中?

A  用户态堆栈顶地址ss:esp

B  当时的状态字eflag

C  当时的cs:eip值

D  当时的中断向量

(8)多选题

针对系统调用API xyz(), Linux系统中系统调用的三层皮指的是如下哪三项

A  系统调用API xyz()函数

B  int 0x80 + 系统调用号—— system_call

C  中断服务程序sys_xyz()

D  中断返回程序ret_from_sys_call

(9)判断题

在Linux系统中可以通过执行int 0x80汇编指令来触发某个系统调用。

(10)判断题

Linux内核通过唯一的进程标识pid来区别每个进程。

(11)判断题

在Linux内核中,除了0号进程idle是通过手工代码创建的,所有其他进程都是通过调用do_fork函数来实现进程的创建。

(12)判断题

在Linux内核中,1号进程是所有用户态进程的祖先,2号进程是所有内核线程的祖先

(13)判断题

movl 0xc(%ebp), %eax 这条指令的作用等价于 eax = *(int32_t * )(ebp + 12).

(14)判断题

在32位CPU的Linux中,内核态下只能访问0xc0000000以上的地址空间。

(15)判断题

Linux中,fork()系统调用具有“一次调用,两次返回”的特点,两次返回分别是在调用fork的父进程和创建的子进程中返回。

(16)判断题

Linux中,内核线程是只有内核态没有用户态的特殊进程。

(17)判断题

Linux系统的一般执行过程 可以抽象成正在运行的用户态进程X切换到运行用户态进程Y的过程。

(18)判断题

Linux内核可以看作是各种中断处理过程和内核线程的集合。

获取标准答案请阅读全文

未经允许不得转载!期末考试--客观题部分【含答案】 Linux操作系统分析