摘要:
1 物理内存初始化——引导分配器memblock Linux内核启动时,先要初始化物理内存,这个阶段的作用主要是确定物理内存大小,哪些是可用的?哪些是预留的?完成这一阶段工作的是memblock引导分配器。 内核启动时初始化物理内存的处理函数调用路径大概是(基于Linux 5.10.1源码查看): 阅读全文
摘要:
1 Linux任务调度基本概念 1.1 task_struct Linux系统上执行很多进程、线程,但在内核中这些都被称为“任务”,而内核调度的单位也是“任务”,即线程。 进程和线程的差别在于进程有单独的内存,而线程要和其他线程共享内存。一个进程可以包含很多个线程,所以进程可以理解为线程组。内核代码 阅读全文