Linux内核分析 SMP启动.pptVIP

  • 20
  • 0
  • 约7.69千字
  • 约 30页
  • 2019-11-05 发布于浙江
  • 举报
* * * Smp的前提和注意点,照读 * 启动时只有一个进程,或者说上下文。 * 照读 照读 * * 结合后面叙述,来讲述此图 * BP先完成自身初始化,进入保护模式并开启页式存储管理机制,再完成系统特别是内存初始化 * 自旋——无限循环 * MTRR是一个存储类型及范围寄存器 MTRR并不是非用不可的,它的使用只是使管理更加精细而已,所以是否采用MTRR是个编译选择项. 以CPU号为下标的数组,用于逻辑号物理号的转换 * 调用do_boot_cpu()时除去BP * 1.前面讲过,每个CPU在运行中必须有自己的上下文即进程,否则就不会对整个系统的运行做出贡献,反而倒会造成损害.所以,必须为每个CPU都准备一个初始进程(线程).哪怕这个初始进程本身实际上并没有什么事要做,也得要有这么一个进程才能启动这个CPU.而CPU一旦开始了初始进程的运行,以后就可以通过进程调度从系统中挑选其他进程运行了. 3.Idle从就绪队列和杂凑队列被删除,只能根据CPU号来找到,不能用进程号来找,这个线程即为“空转”进程,进程号0。 * 讲解为何要这么做,分初级阶段,和高级阶段,实模式进入保护模式 (1)次CPU的初始化涉及内部寄存器的操作,因而只能由它自己完成,主CPU无法包办代替. (2)当主CPU启动一个次CPU的时候,这个次CPU一开始还处于实地址模式,根本就不能正确地执行start_seco

文档评论(0)

1亿VIP精品文档

相关文档