上一页 1 ··· 88 89 90 91 92 93 94 95 96 ··· 121 下一页

2013年5月11日

linux文件系统实现浅析

摘要: 之前有两篇文章整理过linux虚拟文件系统的结构,和linux文件读写的流程。其中一些由具体文件系统类型来实现的地方并没有深入叙述,只是说这是由具体的文件系统来实现的。比如,读写文件的时候,文件的读写位置怎么对应到实际的磁盘块呢?这是由具体的文件系统来实现的;再比如,寻找一个文件路径的时候,怎么... 阅读全文

posted @ 2013-05-11 19:45 疯子123 阅读(223) 评论(0) 推荐(0) 编辑

linux虚拟文件系统浅析

摘要: 虚拟文件系统(VFS) 在我看来, "虚拟"二字主要有两层含义: 1, 在同一个目录结构中, 可以挂载着若干种不同的文件系统. VFS隐藏了它们的实现细节, 为使用者提供统一的接口; 2, 目录结构本身并不是绝对的, 每个进程可能会看到不一样的目录结构. 目录结构是由"地址空间(names... 阅读全文

posted @ 2013-05-11 19:40 疯子123 阅读(94) 评论(0) 推荐(0) 编辑

linux页面回收浅析

摘要: 关于页面的使用 在之前的一些文章中,我们了解到linux内核会在很多情况下分配页面。 1、内核代码可能调用alloc_pages之类的函数,从管理物理页面的伙伴系统(管理区zone上的free_area空闲链表)上直接分配页面(见《linux内核内存管理浅析》)。比如:驱动程序可能用这种方式来... 阅读全文

posted @ 2013-05-11 19:34 疯子123 阅读(103) 评论(0) 推荐(0) 编辑

linux线程同步浅析

摘要: 一个程序问题 之前写过这样一个C程序:模块维护一个工作线程、提供一组调用接口(分同步调用和异步调用)。用户调用模块提供的接口后,会向工作队列添加一个任务。然后任务由工作线程来处理。 在同步调用情况下,接口调用后调用者被阻塞,等待工作线程处理完成后,将调用者唤醒。 伪代码如下: [调用接口] ... 阅读全文

posted @ 2013-05-11 19:30 疯子123 阅读(108) 评论(0) 推荐(0) 编辑

linux内存管理浅析

摘要: [地址映射](图:左中) linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。 想一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先经过若干次的内存访问,得到每一级页表... 阅读全文

posted @ 2013-05-11 19:26 疯子123 阅读(98) 评论(0) 推荐(0) 编辑

剖析一个由sendfile引发的linux内核BUG

摘要: 在论坛上看到一个讲linux内核BUG的帖子,利用这个BUG,一个普通用户能够在运行某个程序之后,获得root权限。 示例的代码如下:http://www.securityfocus.com/data/vulnerabilities/exploits/36038-4.tgz 在ubuntu 9... 阅读全文

posted @ 2013-05-11 19:04 疯子123 阅读(321) 评论(0) 推荐(0) 编辑

比memcpy更快的内存拷贝

摘要: 偶然间看到一个叫xmemcpy的工具,用做内存拷贝。号称在拷贝120字节以内时,比glibc提供的memcpy快10倍,并且有实验数据。 这让人感觉很诧异。一直以来都觉得memcpy是很高效的。相比于strcpy等函数的逐字节拷贝,memcpy是按照机器字长逐字进行拷贝的... 阅读全文

posted @ 2013-05-11 18:51 疯子123 阅读(922) 评论(0) 推荐(0) 编辑

linux中断处理浅析

摘要: 最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处理思想. 于是整理一下~ 第一阶段--获取中断号 每个CPU都有响应中断的能力, 每个CPU响应中断时都走相同的流程. 这个流程就是内核提供的中断服务程序. 在进入... 阅读全文

posted @ 2013-05-11 18:46 疯子123 阅读(170) 评论(0) 推荐(0) 编辑

linux内核SMP负载均衡浅析

摘要: 需求 在《linux进程调度浅析》一文中提到,在SMP(对称多处理器)环境下,每个CPU对应一个run_queue(可执行队列)。如果一个进程处于TASK_RUNNING状态(可执行状态),则它会被加入到其中一个run_queue(且同一时刻仅会被加入到一个run_queue),以... 阅读全文

posted @ 2013-05-11 17:49 疯子123 阅读(137) 评论(0) 推荐(0) 编辑

linux组调度浅析

摘要: cgroup与组调度 linux内核实现了control group功能(cgroup,since linux 2.6.24),可以支持将进程分组,然后按组来划分各种资源。比如:group-1拥有30%的CPU和50%的磁盘IO、group-2拥有10%的CPU和20%的磁盘IO... 阅读全文

posted @ 2013-05-11 17:08 疯子123 阅读(423) 评论(0) 推荐(0) 编辑

上一页 1 ··· 88 89 90 91 92 93 94 95 96 ··· 121 下一页

导航