操作系统是一系列程序的集合,其中最重要的部分构成了内核
单内核/微内核
单内核是一个很大的进程,内部可以分为若干模块,运行时是一个独立的二进制文件,模块间通讯通过直接调用函数实现
微内核中大部分内核作为独立的进程在特权下运行,通过消息传递进行通讯
Linux内核的能力
内存管理,文件系统,进程管理,多线程支持,抢占式,多处理支持
Linux内核区别于其他UNIX商业内核的优点
单内核,模块支持
免费/开源
支持多种CPU,硬件支持能力非常强大
Linux开发者都是非常出色的程序员
通过学习Linux内核的源码可以了解现代操作系统的实现原理
层次结构
许多常见驱动的源代码集成在内核源码里
也有第三方开发的驱动,可以单独编译成 模块.ko
insmod
rmmod
2)高层命令
modprobe
modprobe -r
内核编程和外围程序的差别。(主观题,要能写出一段) 重点!
内核编程的注意点
不能使用C库来开发驱动程序
没有内存保护机制
小内核栈
并发上的考虑
4.
内核模块的一个简单例子(要能看懂)
#include <linux/module.h>
#include <linux/init.h>
static int __init hello_init(void)
{
printk(KERN_INFO "Hello world\n");
return 0;
}
static void __exit hello_exit(void)
{
printk(KERN_INFO "Goodbye world\n");
}
module_init(hello_init);
module_exit(hello_exit);
上一篇:Linux复习(七)