lab6

interrupt

  • 先设置初始化中断,在每个cpu运行进程时启用该cpu的中断。当需要向设备写入或读取数据时,调用函数判断该是否有缓冲区写入数据,如果有,则发生数据;如果没有,则该进程休眠,进行上下文切换,执行其他进程。

  • cpu接受到中断,由用户模式切换为监督者模式,进入usertrap()函数,判断为哪类中断。跳转到对应中断处理函数。

  • 对于以太网等能以极高频率产生中断的程序(极大的中断开销),通常采用轮询(polling)的方式来处理中断。

Implement copy-on write (hard)

//TODO