一>:设置测试系统
首先准备好一个内核源码树,构造一个新内核,然后安装到自己的系统中。
二>:HelloWorld模块
#include //定义了驱动的初始化和退出相关的函数
#include //定义了内核模块相关的函数、变量及宏
MODULE_LICENSE("Dual BSD/GPL"); //该宏告诉内核,该模块采用自由许可证...
分类:
系统相关 时间:
2014-08-18 22:08:53
阅读次数:
472
分为几个部分阐述
1、linux时间系统
2、网卡工作原理
3、网络硬时间戳是什么时候打?在哪儿打的?
一、linux时间系统
陈莉君《深入分析linux内核源码》一篇很不错的文章:linux时间系统
linux有两个时钟源,分别是RTC和OS时钟。
RTC独立于操作系统,由电池供电,即使系统断电它也能维护自己的时钟。LINUX系统启动时从其中获得时间初始值。
OS时钟从可编程计数...
分类:
其他好文 时间:
2014-08-18 14:32:42
阅读次数:
430
所谓进程的地址空间,指的就是进程的虚拟地址空间。当创建一个进程时,内核会为该进程分配一个线性的地址空间(虚拟地址空间),有了虚拟地址空间后,内核就可以通过页表将进程的物理地址地址空间映射到其虚拟地址空间中,程序员所能看到的其实都是虚拟地址,物理地址对程序员而言是透明的。当程序运行时,MMU硬件机制会...
分类:
其他好文 时间:
2014-08-14 19:42:49
阅读次数:
436
PostgreSQL的源代码可以随意获得,其开源协议也允许研究者任意修改,这里介绍一下PostgreSQL的源码结构以及部分实现机制。下载PostgreSQL源代码并减压后,其一级目录结构如下图: PostgreSQL源代码一级结构其中config目录下存放一些系统的配...
分类:
数据库 时间:
2014-08-13 22:05:47
阅读次数:
234
Table of Contents1 tcp_v4_connect()2 sys_accept()2.1 tcp_accept()3 三次握手3.1 客户端发送SYN段3.2 服务端接收到SYN段后,发送SYN/ACK处理3.3 客户端回复确认ACK段3.3.1 tcp_rcv_synsent_st...
分类:
其他好文 时间:
2014-08-05 13:53:39
阅读次数:
462
在3.16-rc4内核源码中,内核给每个进程分配的内核栈大小为8KB。这个内核栈被称为异常栈,在进程的内核空间运行时或者执行异常处理程序时,使用的都是异常栈,看下异常栈的代码(include/linux/sched.h):1 union thread_union {2 struct thre...
分类:
系统相关 时间:
2014-07-30 23:31:05
阅读次数:
411
好长时间没有写blog了,之所以没有写,主要还是工作上的事,...
分类:
移动开发 时间:
2014-07-21 23:30:01
阅读次数:
492
以内核linux-3.15.6.tar.xz为例,在ubuntu14.04下进行。。第一步:配置内核。1,对内核进行解压。$tar-Jxvflinux-3.15.6.tar.xz(注意:J是大写的)得到文件夹linux-3.15.62,配置内核,由于内核源码是对多个计算机架构设计的,因此在编译之前要对内核的功能进行选择。配置内核完..
分类:
其他好文 时间:
2014-07-21 12:21:14
阅读次数:
287
在上一篇日志中,我总结了大家提供的下载Android源码的方法,这里再简单总结一下内核的下载方法。参考这里的介绍:http://source.android.com/source/building-kernels.html#downloading-sources ,下载内核源码相对简单很多。我这里下载下来一共1G多一些。在终端输入:
$ git clone https://android.goo...
分类:
移动开发 时间:
2014-07-12 23:35:53
阅读次数:
260
在ubuntu下获取对应内核源码命令 输入:apt-cache search linux-source //查看内核版本输入:apt-get install linux-source-3.0.0 //获取对应版本的内核,默认安装在/usr/src目录下
分类:
系统相关 时间:
2014-07-09 00:29:09
阅读次数:
256