Linux Kernel学习笔记
Linux Kernel学习笔记
Table of Contents
1. 存储器寻址
2. 设备驱动程序开发
3. 字符设备驱动程序
3.1. 设备号
3.2. 设备号的分配和释放
3.3. 重要的数据结构
3.4. 读和写
4. PCI设备
5. 内核初始化优化宏
6. 访问内核参数的接口
7. 内核初始化选项
8. 内核模块编程
8.1. 入门
8.2. 为模块添加描述信息
8.3. 内核模块处理命令介绍
9. 网络子系统
9.1. sk_buff结构
9.2. sk_buff结构操作函数
9.3. net_device结构
9.4. 网络设备初始化
9.5. 网络设备与内核的沟通方式
9.6. 网络设备操作层的初始化
9.7. 内核模块加载器
9.8. 虚拟设备
9.9. 8139too.c源码分析
9.10. 内核网络数据流
10. 备忘录
Chapter 1. 存储器寻址
在80x86微处理器中,有三种存储器地址:
· 逻辑地址(logical address),包含在机器语言指令中用来指定一个操作数或一条指令的地址。每个逻辑地址都由一个段(segment)和一个偏移量(offset)组成。偏移量指明了从段的开始到实际地址之间的距离。
· 线性地址(linear address)(也称为虚拟地址,virtual address),它是一个32位无符号整数,可用以表达高达4G的地址(2的32次方)。通常以十六进制数表示,值的范围从0X00000000到0Xffffffff。
· 物理地址(physical address),用于存储器芯片级存储单元寻址,它们与从微处理器的地址引脚发送到存储器总线上的电信号相对应。物理地址由32位无符号整数表示。
CPU控制单元通过一种称为分段单元(segmentation unit)的硬件电路把一个逻辑地址转换成线性地址;线性地址又通过一个分页单元(paging unit)的硬件电路把一个线性地址转换成物理地址。
逻辑地址由两部份组成,一个段标识符和一个指定段由相对地址的偏移量。段标识符是一个16位长的字段,称为段选择符(segment selector),偏移量是一个32位长的字段。
处理器提供专门的段寄存器以快速处理段选择符,段寄存器的唯一目的就是存放段选择符。共有6个段寄存器,分别是cs、ss、ds、es、fs和gs。其中cs、ss、ds寄存器有专门的用途。
· cs是代码段寄存器,指向包含程序指令的段。
· ss是栈寄存器,指向包含当前程序栈的段。
· ds是数据段寄存器,指向包含静态数据或者外部数据的段。
cs寄存器有一个重要功能,它包含有一个两位的字
相关文档:
1. 增加一个新用户
在Linux系统中,只有root用户才能够创建一个新用户,如下的命令将新建一个登录名user1的用户。
# useradd user1
但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录。如果需要另外指定 ......
关于linux系统中命令的使用详解(1)
发布时间:2006.08.24 01:11 来源:54master.com 作者:mary
名称:cat
使用权限:所有使用者
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(萤幕或加 > fileN ......
查询软件完整名称
格式:rpm -qa 部分文件名
例如:shell>rpm -qa firefox
firefox-3.0.5-l.e15.centos
会列出火狐浏览器的全称。一般安装包都会包含版本号。
查询软件安装目录
格式:rpm -ql 完整软件名
例如:rpm -ql firefox-3.0.5-l.e15.centos
安装rpm包
格式:rpm -ivh 软件包
例如:rpm -ivh firefox-3 ......
一 基本的文件操作及系统操作
新建目录 mkdir –目录名
将工作目录改变到Dir   ......