分类: Linux内核

3 篇文章

thumbnail
Linux内核-0.1版本的中断流程
0.1版本的中断流程 Linux中断工作流程 中断处理过程: 将所有寄存器的值入栈 将异常码(中断号)入栈 将当前的函数返回值入栈(为了能够在中断执行完成后恢复到被中断的地方) 中断执行过程:调用对应的中断执行函数 中断恢复过程 函数返回值出栈 寄存器值出栈 Linux0.11的内核版本还没有中断上下半部的产生,内核代码非常精简,其设计哲学就是简单…
thumbnail
Linux内核-进程初始化与创建
进程初始化与创建 Linux进程表示 Linux内核对于进程的表示使用的是task_struct结构体,它的定义在<include/sched.h>中,每一个进程都被抽象为一个task_struct结构体 而所有进程是用一个task_struct链表来管理 struct task_struct * task[NR_TASKS] …
thumbnail
Linux内核-进程运转方式
进程运转方式 系统时间 Linux 0.11 的系统当前时间计算方式是: 当前 Unix 时间 = 启动时的 Unix 时间 + 开机后的运行秒数 = startup_time + jiffies / HZ 开机时间获取 CPU内部有一个系统时间RTC(cmos),会在上电的时候调用mktime函数计算出从1970年1月1日0时到当前开机时间经过的…