![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux内核分析
wangjianxin199003
这个作者很懒,什么都没留下…
展开
-
cpu的工作原理及程序调用过程中栈的变化
计算机在执行过程中,最重要的寄存器就是eip,eip指向哪里,cpu就从哪里取指执行,所以要想让程序执行某一个指令,只需要让eip寄存器指向该指令的内存地址即可。但是程序员是不能直接操作eip寄存器的,即不能通过movl指令直接给eip寄存器赋值。eip寄存器的值在顺序执行过程中,执行一条指令后会自动变化指向下一条指令,这是程序员无需操心的。要想不按顺序执行,则可通过call、ret、jmp、pop原创 2017-02-22 10:05:47 · 926 阅读 · 0 评论 -
多任务操作系统是如何切换进程
多任务操作系统在并行执行多任务时,实际上是不断地在任务间进行切换的,也就是切换上文。首先要保存前一个进程的上下文,然后调度一个就绪的进程,并载入该进程的上下文,cpu开始执行该进程的代码。在切换上下文时,最重要的就是切换eip寄存器的值和esp寄存器的值,eip寄存器指向的指令即时cpu即将执行的指令,esp寄存器指向栈顶。下面我们通过一段比较简单的代码来演示一下cpu是如何切换进程的。这是修原创 2017-03-05 21:08:34 · 4120 阅读 · 0 评论