CS355 Week 1-2

  1. Difference between trap, interrupt and system call.
    本文来看,一般是检测异常,根据interrupt vector去查表检查哪一个出问题,再对应表进行后续操作(interrupt handler),最后操作完了OS再重新安排工作。Interrupt是外部IO引起的,Trap是程序员类似于打断点故意设置从user mode到kernel mode完成操作的,Fault是程序无意中引发的软件异常,abort是特殊的fault指CPU遇上故障且无法恢复。以上四种都被认为是异常(Exception)。其中system call是一个流程化的方法来调用kernel service,其中TRAP步会从user space改为kernel space。根据教授说的system call的主管者是OS,而OS同时只能操作一个system call所以system call不能interrupt system call。拓展有硬中断和软中断的生活举例
posted @ 2021-09-08 00:39  一支随缘箭  阅读(30)  评论(0编辑  收藏  举报