易截截图软件、单文件、免安装、纯绿色、仅160KB

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寄存器有一个重要功能,它包含有一个两位的字


相关文档:

Linux I2C Input设备驱动代码的几点理解

最近在做一个I2C键盘的Linux驱动,参考了其他芯片的一些代码,其中陆续发现有些让人迷惑的东西,把我的迷惑及理解在这里加以记录:
1. i2c_driver结构体的probe成员的原型:
     int (*probe)(struct i2c_client *, const struct i2c_device_id *);
即:probe函数被调用时会从上边传两个个参 ......

在linux上部署带JMS receiver的BWSE程序时报错

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.ref ......

本人常用的基础 linux命令

  一 基本的文件操作及系统操作
新建目录                              mkdir –目录名
将工作目录改变到Dir        ......

LINUX下vi的设置

   为了方便编写程序,整理了vi设置的小方法!
  
由命令“vi --version”所显示的内容知vi的全局配置文件在/usr/share/vim/vim61/macros/vimrc;
用户配置文件在$HOME/.vimrc
搜索网上文章并实验得知:
    设置TAB键的显示宽度:set tabstop=4 & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号