分为几个部分阐述
1、linux时间系统
2、网卡工作原理
3、网络硬时间戳是什么时候打?在哪儿打的?
一、linux时间系统
陈莉君《深入分析linux内核源码》一篇很不错的文章:linux时间系统
linux有两个时钟源,分别是RTC和OS时钟。
RTC独立于操作系统,由电池供电,即使系统断电它也能维护自己的时钟。LINUX系统启动时从其中获得时间初始值。
OS时钟从可编程计数...
分类:
其他好文 时间:
2014-08-18 14:32:42
阅读次数:
430
本文主要分析linux-2.6.28内核版本的字符设备抽象层源码文件char_dev.c。该文件代码量不大,但其为linux应用程序访问实际字符型硬件设备搭建了桥梁,进一步限定了linux字符设备驱动的设计框架。 void __init chrdev_init(void) { cdev_...
分类:
系统相关 时间:
2014-08-17 18:20:22
阅读次数:
237
sparse介绍 ????????Sparse 诞生于 2004 年, 是由linux之父开发的, 目的就是提供一个静态检查代码的工具, 从而减少linux内核的隐患. 其实在Sparse之前, 已经有了一个不错的代码静态检查工具("SWAT"), 只不...
分类:
其他好文 时间:
2014-08-17 17:12:42
阅读次数:
283
由Linux内核提供的基本时间服务是计算自国际标准时间公元1970年1月1日00:00:00以来经过的秒数,以time_t类型表示,被称为“日历时间”,time_t通常定义为一个int型或long型的量。
日历时间有几个典型的特性:
以国际标准时间而非本地时间计时。可自动进行转换,例如变换到夏时制。用一个time_t量保存时间和日期。
程序中获取日历时间使用time()函数,函数...
分类:
系统相关 时间:
2014-08-17 17:05:32
阅读次数:
245
上篇博文说到了mtkfb_probe函数,本文在说mtkfb_probe函数之前。我还是打算在从应用程序的调用开始分析下具体的调用过程。这是我们理解驱动框架的核心,而并不是简单的接受。...
分类:
其他好文 时间:
2014-08-16 18:33:20
阅读次数:
244
前面已经说了如何打开和关闭数据库,这次要说得是如何执行SQL语句,来chuang...
分类:
数据库 时间:
2014-08-15 23:50:39
阅读次数:
484
linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:...
分类:
其他好文 时间:
2014-08-15 17:27:29
阅读次数:
153
net.ipv4.tcp_fin_timeout=2net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_syncookies=1net.ipv4.tcp_keepalive_time=600net.ipv4.ip_local_port_range=400065000net.ipv4.tcp_max_syn_backlog=16834net.ipv4.tcp_max_tw_buckets=36000net.ipv4.route.gc_time..
分类:
系统相关 时间:
2014-08-15 13:00:59
阅读次数:
284
Ant之build.xml详解关键字: ant build.xmlAnt的概念可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令。当编译Linux内核及一些软件的源程序时,经常要用这个命令。Make命令其实就是一个项目管理工具,而Ant所实现...
分类:
其他好文 时间:
2014-08-15 10:40:08
阅读次数:
203
Android系统是如何启动的呢,应用程序是如何启动。下面简要介绍下初始化流程。1.Android系统的初始化1.1Android系统会首先启动Linux基础系统,然后引导加载Linux内核并启动初始化进程InitLinux Kernel---->Init(pid=1)1.2启动守护进程Daemon...
分类:
移动开发 时间:
2014-08-14 01:11:17
阅读次数:
393