morphling.huang
既然选择了远方,便只顾风雨兼程。

随笔分类 -  Linux Kernel

Linux Kernel
套接字类型
摘要:常用的TCP/IP协议的3种套接字类型如下所示。流套接字(SOCK_STREAM):流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission Control Protocol)协议。数据报套接字(SOCK_DGRAM):数据报套接字提供了一种无连接的服务。该服务并不能保证数据传输的可靠性,数据有可能在传输过程中丢失或出现数据重复,且无法保证顺序地接收到数据。数据报套接字使用UDP(User Datagram Protocol)协议进行数 阅读全文
posted @ 2012-08-31 13:56 morphling.huang 阅读(704) 评论(0) 推荐(0)
linux 内核分析之list_head
摘要:本文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。转自:http://www.cnblogs.com/riky/archive/2006/12/28/606242.html#2438776一、 链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。通常链表数据结构至少应包含两个域:数据域和指针域,数 阅读全文
posted @ 2012-08-01 16:05 morphling.huang 阅读(386) 评论(0) 推荐(0)
container_of 理解
摘要:转:http://blog.csdn.net/yinkaizhong/article/details/4093795问题:如何通过结构中的某个变量获取结构本身的指针???关于container_of见kernel.h中:/*** container_of - cast a member of a structure out to the containing structure* @ptr: the pointer to the member.* @type: the type of the container struct this is embedded in.* @member: the 阅读全文
posted @ 2012-04-25 11:34 morphling.huang 阅读(698) 评论(0) 推荐(0)
深入理解linux系统调用
摘要:http://www.bitscn.com/os/linux/200604/6978.html一、 什么是系统调用 在Linux的世界里,我们经常会遇到系统调用这一术语,所谓系统调用,就是内核提供的、功能十分强大的一系列的函数。这些系统调用是在内核中实现的,再通过一定的方式把系统调用给用户,一般都通过门(gate)陷入(trap)实现。系统调用是用户程序和内核交互的接口。 二、 系统调用的作用 系统调用在Linux系统中发挥着巨大的作用,如果没有系统调用,那么应用程序就失去了内核的支持。 我们在编程时用到的很多函数,如fork、open等这些函数最终都是在系统调用里实现... 阅读全文
posted @ 2012-04-25 00:05 morphling.huang 阅读(315) 评论(0) 推荐(0)