Answers:
简短的答案:
初始化只是第一步。它不管理任何进程或线程。它确实使用内核syscalls fork()和exec创建了一些对象。
我认为您对流程是什么有一个模糊的想法。这不仅意味着要执行一些代码。是的,内核在初始化之前执行(甚至在启动加载程序之前执行)。但是“过程”具有以下特定定义:
因此,一旦内核初始化,它将运行init,然后产生其配置所说明的其他进程。
就#2而言,所有内核内容都在内核中。将内核视为大范围的代码。同样,这不是一个过程,而是一个很大的代码blob。内核的一部分用于内存管理,一部分用于调度自身的部分(如驱动程序等),一部分用于调度过程。
上下文切换
❖进程由称为内核的OS代码共享块管理
▪ The kernel is not a separate process, but rather runs as part of a user process
❖上下文切换将控制流从一个进程传递到另一个进程,并使用内核代码执行
资料来源:https : //courses.cs.washington.edu/courses/cse351/19su/lectures/18/CSE351-L18-processes_19su.pdf,第36页