一、进程的等待与唤醒
1.进程等待结构
需要设计一种数据结构,用于挂载等待的进程。
2、进程等待
让进程进入等待状态就是调用函数,在这个函数中会设置进程状态为等待状态,让进程从调度系统数据结构中脱离,最后让进程加入到kwlst_t等待数据结构中。一个进程想要进入等待状态,只需要调用这个函数。
3.进程唤醒
进程唤醒是进程等待的反向操作行为,即从等待数据结构中获取进程,然后设置进程的状态为运行状态,最后将这个进程加入到进程调度系统数据结构中。
4.空转进程
空转进程是我们系统下第一个进程,空转进程是操作系统在没有任何进程可以调度运行的时候,就可以选择调度空转进程来运行,空转进程是进程调度器的最后的选择。(多CPU的情况下,每个CPU都有一个空转进程)。
5.建立空转进程
Cosmos空转进程是个内核进程,但是他不加入调度系统,有一个专用的指针指向它。
6.空转进程运行
空转进程是第一进程,没法用调度器来调度它,需要手动启动。