一个简单的时间片轮转多道程序内核代码

mykernel实验指导

   1.使用实验楼的虚拟机打开shell(https://www.shiyanlou.com/courses/195)

     1.  shiyanlou:~/ $ cd LinuxKernel/linux-3.9.4                            [20:12:24]
     2.shiyanlou:linux-3.9.4/ $ qemu -kernel arch/x86/boot/bzImage          [20:12:48]

   

   2.然后cd mykernel您可以看到qemu窗口输出内容的代码mymain.c和interrupt.c.

  3.接着在shell中输入cd mymain.c。

void __init my_start_kernel(void)
{
    int i = 0;
    while(1)
    {
        i++;
        if(i%100000 == 0)
            printk(KERN_NOTICE "my_start_kernel here  %d \n",i);
            
    }
}
这是一个时间片轮转程序,my_start_kernel here轮转的速率与两个因素有关。一是cpu运行速率,二是求余的程度。 

拓展知识:vi命令的使用


引自:Linux命令大全;http://man.linuxde.net/vi
4.在linux shell中输入cd myinterrupt.c,获得中断处理函数
/*
 * Called by timer interrupt.
 */
void my_timer_handler(void)
{
	printk(KERN_NOTICE "\n>>>>>>>>>>>>>>>>>my_timer_handler here<<<<<<<<<<<<<<<<<<\n\n");
}
夏科 +Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000


 
  


你可能感兴趣的:(linux系统分析)