- 博客(6)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 Linux字符设备注册函数 register_chrdev详解
Linux字符设备注册函数 register_chrdev详解 当我们需要注册字符设备的时候,需要module_init()中调用register_chrdev()注册。下面主要介绍接口的实现过程与细节。内核函数前面添加__ 代表内核级函数。谨慎调用。源代码如下:int __register_chrdev(unsigned int major, unsigned int
2016-10-24 18:03:28 46416 1
原创 Linux 中task_struct和文件系统的关系
Linux 中task_struct和文件系统的关系 在内核进程运行的时候,有current 宏对应目前进程task_struct结构 Linux进程主要数据结构之间的关系。 如图: 一个进程文件位置是有fs_struct描述的,进程打开的文件是有files_struct描述的,具体打开的文件描述符是有file控制的。 一:fs_structcount
2016-10-20 14:42:46 3454
原创 进程间通信之管道篇
进程间通信之管道篇 一:管道实现原理在 Linux 中, 管道是一种使用非常频繁的通信机制。 从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题, 具体表现为:· 限制管道的大小。 实际上, 管道是一个固定大小的缓冲区。 在 Linux 中, 该缓冲区的大小为 1 页, 即 4K 字节, 使得它的大小不象文件那样不加检验地增
2016-10-27 17:14:52 1119
原创 Linux内核态和用户态共享内存
Linux内核态和用户态共享内存1、mmap系统调用(功能) void* mmap ( void * addr , size_t len , int prot , int flags ,int fd , off_t offset ) 内存映射函数mmap,负责把文件内容映射到进程的虚拟内存空间,通过对这段内存的读取和修改,来实现对文件的读取和修改,而不需要再
2016-10-24 14:32:49 9729
转载 人的差别在于业余时间
人的差别在于业余时间1.哈佛有一个著名的理论:人的差别在于业余时间,而一个人的命运决定于晚上8点到10点之间。每晚抽出2个小时的时间用来阅读、进修、思考或参加有意的演讲、讨论,你会发现,你的人生正在发生改变,坚持数年之后,成功会向你招手。 2.无论你的收入是多少,记得分成五份进行规划投资:增加对身体的投资,让身体始终好用;增加对社交的投资,扩大你的人脉;增加对学习的投资,加强你的自信;
2016-10-14 15:10:20 505
原创 list_entry()宏详解
list_entry()宏#define list_entry(ptr, type, member) \ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))lish.h中定义#define list_entry(ptr, type, member) / conta
2016-10-14 15:08:30 1839
linux进程监控和守护进程的程序
2015-01-16
linux下客户端与服务器怎么保持长连接
2015-01-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人