0

我有一个学生问题

我最近了解了诸如系统调用之类的如何read阻塞进程,并且这些进程将处于阻塞状态,直到数据在它所读取的任何内容中变得可用。或者waitpid可以阻塞一个进程,直到子进程状态发生变化。

更一般地说,维基百科说

如果没有外部状态变化或事件发生https://en.wikipedia.org/wiki/Process_state,它就无法继续进行时,进程将转换为阻塞状态

内核如何以最小化开销成本的方式监听这些状态变化或事件?我仍在学习,但肯定不能使用轮询,因为那太慢了,对吧?此外,“事件”似乎是抽象的,这意味着我不能假设这些是特定的硬件事件,在这种情况下可以使用硬件中断。

4

0 回答 0