2011年6月1日

摘要: 本文分析基于Linux 0.11内核,转载请标明出处,http://blog.csdn.net/yming0221/archive/2011/06/01/6459119.aspx在main.c的程序中,当设备初始化完毕后,程序将从内核模式切换到用户模式,也就是所说的任务0,执行fork()函数(该函数使用内嵌的汇编,防止函数调用弄乱堆栈,造成写时复制COPY_ON_WRITE)切换到用户堆栈并执行任务0使用iret指令,首先将有关的值压入堆栈,然后执行iret指令。将刚刚压入对堆栈的数据根据标志位弹入相应的寄存器。//// 切换到用户模式运行。// 该函数利用iret 指令实现从内核模式切换到 阅读全文
posted @ 2011-06-01 13:46 yming0221 阅读(303) 评论(0) 推荐(0)

导航