操作系统基础:时间片轮转
林亮生 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程
http://mooc.study.163.com/course/USTC-1000029000
实验示例
1.安装Linux Kernel 3.9.4
sudo apt-get install qemu
sudo ln -s /usr/bin/qemu-system-i386 /usr/bin/qemu
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.4.tar.xz
wget https://raw.github.com/mengning/mykernel/master/mykernel_for_linux3.9.4sc.patch
xz -d linux-3.9.4.tar.xz
tar -xvf linux-3.9.4.tar
cd linux-3.9.4
2.安装mykernel补丁
patch -p1 < ../mykernel_for_linux3.9.4sc.patch
3.编译内核源码
make allnoconfig
make
4.运行kernel
qemu -kernel arch/x86/boot/bzImage
进程启动和进程切换机制
内核加载运行后会进入到my_start_kernel函数执行,这是一个死循环,每隔一段时间就会打印my_start_kernel here xxx
当产生系统时间中断的时候会调用my_timer_handler函数,然后打印一句>>>>>>>>>>>>>>>>>my_timer_handler here<<<<<<<<<<<<<<<<<<
操作系统工作
操作系统在中断和进程切换中循环有序的进行工作。