Skip to content

Latest commit

 

History

History
38 lines (23 loc) · 1.81 KB

02-1-spoc-discussion.md

File metadata and controls

38 lines (23 loc) · 1.81 KB

lec 3 SPOC Discussion

提前准备

(请在上课前完成)

  • 了解控制流,异常控制流,函数调用,中断,异常(故障),系统调用(陷阱),切换,用户态(用户模式),内核态(内核模式)等基本概念。思考一下这些基本概念在linux, ucore, v9-cpu中的os*.c中是如何具体体现的。
  • 思考为什么操作系统需要处理中断,异常,系统调用。这些是必须要有的吗?有哪些好处?有哪些不好的地方?

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

3.1 BIOS

  • 请描述在“计算机组成原理课”上,同学们做的RISC-V CPU是从按复位键开始到可以接收按键输入之间的启动过程。
  • 了解rcore中的RustSBI的基本功能。

3.2 系统启动流程

  • RV中RustSBI的启动过程大致包括哪些内容?

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

  • 什么是中断、异常和系统调用?
  • 中断、异常和系统调用的处理流程有什么异同?

3.4 linux系统调用分析

  • 通过分析lab1_ex0了解Linux应用的系统调用编写和含义。(仅实践,不用回答)
  • 通过调试lab1_ex1了解Linux应用的系统调用执行过程。(仅实践,不用回答)

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

  • 系统调用与函数调用的区别是什么?
  • 通过分析RV中函数调用规范以及ecalleretjaljalr的指令准确功能和调用代码。

课堂实践 (在课堂上根据老师安排完成,课后不用做)

练习一

通过静态代码分析,举例描述ucore/rcore系统调用过程,及调用参数和返回值的传递方法。