作业六:《网络与设备》

截止时间: 2021年5月21号23时59分

提交方式: 好大学在线 《操作系统》 2021年春- ->第十章- ->本章练习

注意: 我们已经将选课的同学名单导入到好大学在线的操作系统课程中,大家可以在“我的课程”栏目中看到《操作系统》课程,请注意课程的学期是2021春。本门课程的作业均使用好大学在线的方式进行提交,本次作业无互评环节,同学们完成作业后不需要再对其他同学的作业进行批改。

  1. Linux设备驱动的主要抽象是那些?请列举sysfs文件系统中子项,并且指出他们之间的关系。
  2. ARM 通用中断控制器(GIC)指出了中断完成需要经过两个阶段:优先级下陷(priority dropping)以及中断未激活(interrupt deactive)?他们和Linux中的中断机制有什么关系(上半部和下半部)。
  3. 在数据传输的场景中,如果接受者(receiver)无法跟上发送者(sender)发送数据包的速度,接受者需要如何处理?(提示选择轮询或者中断的方式)
  4. 简单描述当接受者(receiver)从网卡接受到了网络包之后的数据传输流程。在真实情况下,Linux中会发生几次上下文的切换,ChCore中呢?
  5. Linux是如何使用skb机制在内核中实现零拷贝的?skb拷贝在什么时候会发生?请同时考虑浅拷贝(skb_clone)以及深拷贝(skb_copy)。
  6. Intel DPDK使用了哪一种技术来提升网络性能?如果你是ChCore团队的网络设计者,你会选者什么方式来优化ChCore为内核的网络服务,你可以通过学习"Snap: a microkernel approach to host networking", Marty et al., SOSP’19来回答该问题