- 博客(7)
- 收藏
- 关注
转载 kmalloc and vmalloc
在设备驱动程序中动态开辟内存,不是用malloc,而是kmalloc,或者用get_free_pages直接申请页。释放内存用的是kfree,或free_pages. 对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。 进程的4GB内存空间被人为的分为两个部分--用户
2012-04-28 12:17:03 749
转载 IGMP技术总结(2)
5. 组播模型分类 根据接收者对组播源处理方式的不同,组播模型分为以下三类:· ASM 模型:Any-Source Multicast,任意信源组播在ASM 模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。在ASM 模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或
2012-04-26 14:19:35 2676
转载 转:IGMP技术总结(1)
1. IGMP 简介 IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 IGMP 的版本到目前为止,IGMP 有三个版本:· IGMPv1(由RFC 1112 定义)
2012-04-26 14:06:21 1205
转载 给定的文本中,查找其中最长的重复子字符串(面试题)
对于类似从给定的文本中,查找其中最长的重复子字符串的问题,可以采用“后缀数组”来高效地完成此任务。后缀数组使用文本本身和n个附加指针(与文本数组相应的指针数组)来表示输入文本中的n个字符的每个子字符串。 首先,如果输入字符串存储在c[0..n-1]中,那么就可以使用类似于下面的代码比较每对子字符串: maxlen = -1 for i = [0, n)
2012-04-04 16:28:12 1716
原创 hg使用备忘录
大约是在去年的这个时候,开始使用hg作为代码的管理工具。由于之前一直使用svn,对这个新鲜的东西有些不适应。不过在使用了一段之间之后,渐渐发现自己越来越喜欢这个工具了—-几个简单的命令就能提交代码,很容易查询版本的历史,很方便的进行代码合并。近来查看资料,对hg有了较为深入的认识,接下来的几篇文章将记录我学习hg的一些笔记,以备将来之用。关于hg命令选项如果你是在windows系统下,使用
2012-04-04 15:06:57 14264 4
转载 Linux 系统内核空间与用户空间通信的实现与分析
多数的 Linux 内核态程序都需要和用户空间的进程交换数据,但 Linux 内核态无法对传统的 Linux 进程间同步和通信的方法提供足够的支持。本文总结并比较了几种内核态与用户态进程通信的实现方法,并推荐使用 netlink 套接字实现中断环境与用户态进程通信。1 引言Linux 是一个源码开放的操作系统,无论是普通用户还是企业用户都可以编写自己的内核代码,再加上对标准内核的裁剪从而制
2012-04-04 12:52:23 893
转载 Linux内核中的定时器的实现与管理
3 软件时钟处理 这里所说“软件时钟”指的是软件定时器( Software Timers ),是一个软件上的概念,是建立在硬件时钟基础之上的。它记录了未来某一时刻要执行的操作(函数),并使得当这一时刻真正到来时,这些操作(函数)能够被按时执行。举个例子说明:它就像生活中的闹铃,给闹铃设定振铃时间(未来的某一时间)后,当时间(相当于硬件时钟)更新到这个振铃时间后,闹铃就会振铃。这个振铃时间
2012-04-04 12:25:25 1126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人