Chinaunix首页 | 论坛 | 博客
  • 博客访问: 792631
  • 博文数量: 264
  • 博客积分: 592
  • 博客等级: 中士
  • 技术积分: 1574
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-24 22:02
文章分类

全部博文(264)

文章存档

2019年(2)

2018年(1)

2017年(1)

2016年(4)

2015年(14)

2014年(57)

2013年(88)

2012年(97)

发布时间:2012-12-19 11:22:34

转:http://hi.baidu.com/cbncb/item/389b155c62acd316abf6d748在网络中,不少服务器采用的是Linux系统。为了进一步提高服务器的性能,可能需要根 据特定的硬件及需求重新编译Linux内核。编译Linux 内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的文件。比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件 .  编译过RedHat Linux内核的人对其中的System.map、vmlinuz、initrd-2.4.7-10.img印象可能比较深刻,因为编译内核过程中涉及到这些文件的建立等操作。......【阅读全文】

阅读(503) | 评论(0) | 转发(1)

发布时间:2012-12-19 11:05:03

    研究内核源码和内核运行原理的时候,很总要的一点是要了解内核的初始情况,也就是要了解内核启动过程。我在研究内核的内存管理的时候,想知道内核启动后的页表的放置,页表的初始化等信息,这促使我这次仔细地研究内核的启动代码。    CPU在bootloader的帮助下将内核载入到了内存中,并开始执行。当然,bootloader必须为zImage做好必要的准备: 1. CPU 寄存器的设置:R0=0;R1=Machine ID(即Machine Type Number,定义在linux/arch/arm/tools/mach-types);R2=内......【阅读全文】

阅读(536) | 评论(0) | 转发(0)

发布时间:2012-12-19 10:52:51

    Linux内核在启动的时候需要一些参数,以获得当前硬件的信息或者启动所需资源在内存中的位置等等。这些信息可以通过bootloader传递给内核,比较常见的就是cmdline。以前我在启动内核的时候习惯性的通过uboot传递一个cmdline给内核,没有具体的分析这个过程。最近在分析内核启动过程的时候,重新看了一下内核启动参数的传递过程,彻底解决一下在这方面的疑惑。   一、bootloader与内核的通讯协议   内核的启动参数其实不仅仅包含在了cmdline中,cmdline不过是bootloader传递给内核的信......【阅读全文】

阅读(824) | 评论(0) | 转发(0)

发布时间:2012-12-09 23:25:49

Linux内核ARP的发送函数分析 void arp_send(int type, int ptype, u32 dest_ip,struct net_device *dev, u32 src_ip,unsigned char *dest_hw, unsigned char *src_hw,unsigned char *target_hw)当系统的网络驱动程序收到一个arp包的时候,调用这个函数处理。简单来说,arp_rev发回本机器或者它代理的其他机器的网卡硬件地址(mac address),并且将发送者的网卡硬件地址放在自己的缓存(arp cache)中。实现过程: (1) 分配一个s......【阅读全文】

阅读(1298) | 评论(0) | 转发(0)

发布时间:2012-12-09 22:00:06

此情況適用於:先加載devices,後加driver時候 driver_register->bus_add_driver->driver_attach->__driver_attach->driver_match_device->   static inline int driver_match_device(struct device_driver *drv,          struct device *dev){ return drv->......【阅读全文】

阅读(531) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册