学习Linux内核的方法小结zz
假定你会C语言,而且明白C语言面向对象编程的schme,对操作系统(包括调度,内存分配,分页,同步,etc)比较了解。那么你可以按照如下顺序学习Linux 内核。
1.看Linux Device Driver这本书。这是为了让你懂得编译内核模块的方法。还有为Linux各种设备留下一些印象。同时一遍看书一边看某些设备的源代码,推荐看如下几个 设备的源代码:mem,raw,hidmouse。看mem是为了了解字符设备的基本编写方法和概念。比如如何利用dev_t,如何利用不同的Minor 部分确定该Device的功能,等等。看raw是为了了解如何利用Linux的Device Model。hidmouse是为了了解如何利用interrupt方式与usb hub通信,以及usb设备驱动的基本架构。至于PCI我还没研究。其实第一次看的时候可以忽略PCI Driver后面的所有章节。自己写一个只有逻辑的字符设备驱动即可进行下一步。
2.看Understanding the Linux Kernel这本书。这本书没什么好说的,经典。适合从头看到尾一次,选感兴趣章节再看N次。为什么我不支持大家第一次就看这本书?这是因为里面描述了许多内核的数据结构,不自己写一些设备驱动,很难熟悉他们。
3.好了,现在看了N次Understanding the Linux Kernel了。再看一次Linux Device Driver吧。然后什么设备驱动,内核rookit,你都可以畅通无阻了。
相关文档:
MYSQL安装
//解压编译安装
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.conf文件修改
# vi my.cnf
修改前:
port &nb ......
今天读了本书的第一章.这一章初步介绍了Linux内核的总体布局,也就是总体上来看有哪些模块组成.从上到下主要是:glidc->系统调用->(VFS,Schedular,Soft ISR,ISR,FILE Sytem,Task Manager,Memory Manager,IP Stack)括号里面的各个模块都是并列存在的.目前对于这其中的许多名词我还不熟悉,不禁感到惭愧,要学 ......
序 言
由于开发环境需要在linux-2.6内核上进行,于是准备对我的虚拟机上的Linux系统升级。没想到这一弄就花了两天时间(反复装系统,辛苦啊~~),总算把Linux系统从2.4.20-8内核成功升级到了2.6.18内核。
网上虽然有很多介绍Linux内核升级的文章,不过要么过时,下载链接失效;要么表达不清,不知所云;更可气的 ......
管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别。
有名管道叫named pipe或者FIFO(先进先出),可以用函数mkfifo()创建。
Linux管道的实现机制
在Linux中,管道是一种 ......
查看发行版信息:
lsb_release -a 这个最详细
查看内核和操作系统位数:
uname -a
64位操作系统有类似信息:.... x86_64 x86_64 x86_64...
32位操作系统有类似信息:.... i686 i686 i386...
查看cpu信息:
more /proc/cpuinfo
查看和控制系统服务(如 iptables防火墙的开和关):
chkconfig 查看和设定服务在不同 ......