os_exercises

lec 3 SPOC Discussion

第三讲 启动、中断、异常和系统调用-思考题

3.1 BIOS

  1. 比较UEFI和BIOS的区别。
  2. 描述PXE的大致启动流程。

3.2 系统启动流程

  1. 了解NTLDR的启动流程。
  2. 了解GRUB的启动流程。
  3. 比较NTLDR和GRUB的功能有差异。
  4. 了解u-boot的功能。

3.3 中断、异常和系统调用比较

  1. 举例说明Linux中有哪些中断,哪些异常?
  2. Linux的系统调用有哪些?大致的功能分类有哪些? (w2l1)
  + 采分点:说明了Linux的大致数量(上百个),说明了Linux系统调用的主要分类(文件操作,进程管理,内存管理等)
  - 答案没有涉及上述两个要点;(0分)
  - 答案对上述两个要点中的某一个要点进行了正确阐述(1分)
  - 答案对上述两个要点进行了正确阐述(2分)
  - 答案除了对上述两个要点都进行了正确阐述外,还进行了扩展和更丰富的说明(3分)
  1. 以ucore lab8的answer为例,uCore的系统调用有哪些?大致的功能分类有哪些?(w2l1)

    + 采分点:说明了ucore的大致数量(二十几个),说明了ucore系统调用的主要分类(文件操作,进程管理,内存管理等)
    - 答案没有涉及上述两个要点;(0分)
    - 答案对上述两个要点中的某一个要点进行了正确阐述(1分)
    - 答案对上述两个要点进行了正确阐述(2分)
    - 答案除了对上述两个要点都进行了正确阐述外,还进行了扩展和更丰富的说明(3分)
    

3.4 linux系统调用分析

  1. 通过分析lab1_ex0了解Linux应用的系统调用编写和含义。(w2l1)
  + 采分点:说明了objdump,nm,file的大致用途,说明了系统调用的具体含义
  - 答案没有涉及上述两个要点;(0分)
  - 答案对上述两个要点中的某一个要点进行了正确阐述(1分)
  - 答案对上述两个要点进行了正确阐述(2分)
  - 答案除了对上述两个要点都进行了正确阐述外,还进行了扩展和更丰富的说明(3分)
  1. 通过调试lab1_ex1了解Linux应用的系统调用执行过程。(w2l1)
  + 采分点:说明了strace的大致用途,说明了系统调用的具体执行过程(包括应用,CPU硬件,操作系统的执行过程)
  - 答案没有涉及上述两个要点;(0分)
  - 答案对上述两个要点中的某一个要点进行了正确阐述(1分)
  - 答案对上述两个要点进行了正确阐述(2分)
  - 答案除了对上述两个要点都进行了正确阐述外,还进行了扩展和更丰富的说明(3分)

3.5 ucore系统调用分析

  1. ucore的系统调用中参数传递代码分析。
  2. ucore的系统调用中返回结果的传递代码分析。
  3. 以ucore lab8的answer为例,分析ucore 应用的系统调用编写和含义。
  4. 以ucore lab8的answer为例,尝试修改并运行ucore OS kernel代码,使其具有类似Linux应用工具strace的功能,即能够显示出应用程序发出的系统调用,从而可以分析ucore应用的系统调用执行过程。

3.6 请分析函数调用和系统调用的区别

  1. 请从代码编写和执行过程来说明。
    1. 说明intiretcallret的指令准确功能