您的位置:首页 > 编程语言

【操作系统】用代码解释简单的时间片轮转

2015-03-15 14:34 162 查看
李景源 原创作品 转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

一、准备:

1、代码:mykernel
2、实验楼的环境:实验楼的虚拟机

二、进入实验楼的虚拟机后,打开LinuxKernel/linux-3.9.4文件夹,输入 qemu -kernel arch/x86/boot/bzImage可运行程序(执行后发现my_start_kernel中的代码和my_timer_handler中的代码交替执行)。为了查看该代码的如何运行的,进入到mykernel文件夹中。主要是这两个文件:myinterrupt.c和mymain.c。




三、首先用编辑器打开mymain.c文件。内核在运行时,首先会找到my_start_kernel方法作为入口。这里i是自增的,通过if判断来决定多少次后执行代码,我把值改成了5220。那就意味着i每增到5220的倍数时,就会输出这一行文字。



四、再用编辑器打开interrupt.c查看代码。这里my_timer_handler代码只有一句输出,它在每次被中断的时候会调用。

五、以上是虚拟机中原有的代码。

未完待续。(因工作较忙,需要再多点时间来搞懂运行过程)

本文出自 “sr5220” 博客,请务必保留此出处http://sr5220.blog.51cto.com/5282574/1620507
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: