上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 100 下一页

2013年5月12日

linux时钟浅析

摘要: 时钟的作用 尽管与CPU指令执行没有什么直接关系,时钟对于操作系统来说还是有着很重要的意义: 1、记录系统时间。很多应用程序需要知道日期和时间、由日期和时间构成的时间戳也会被打在文件上面、等等; 2、统计功能。如top之类的用户程序可以查看一段时间内的系统负载、以及各个进程占用CPU的时间... 阅读全文

posted @ 2013-05-12 00:28 胡永光 阅读(154) 评论(0) 推荐(0) 编辑

记一个链接库导出函数被覆盖的问题

摘要: 链接库的一个问题 前些天遇到这样一个问题:libD.so需要用到libS.a提供的方法,于是静态链接了libS.a。而libS.a和libD.so又都会被可执行文件bin所链接。(因为libD.so还提供给其他可执行程序使用,所以链接libS.a是必须的。而libD.so对于bin来说是可选的... 阅读全文

posted @ 2013-05-12 00:27 胡永光 阅读(186) 评论(0) 推荐(0) 编辑

linux seqlock & rcu 浅析

摘要: 在linux内核中,有很多同步机制。比较经典的有spin_lock(忙等待的锁即自旋锁)、mutex(互斥锁)、semaphore(信号量)等。并且它们几乎都有对应的rw_XXX(读写锁),以便在能够区分读与写的情况下,让读操作相互不互斥(读写、写写依然互斥)。而seqlock和rcu应该可以不算... 阅读全文

posted @ 2013-05-12 00:24 胡永光 阅读(137) 评论(0) 推荐(0) 编辑

在多线程程序里面fork

摘要: 在多线程程序里面fork?没错,尽管这是一种很奇怪、以至于几乎不会有人使用的玩法,并且存在死锁等不确定因素。不过讨论讨论倒也挺有意思。 进程A,创建了3个线程。 $ ls /proc/A/task/ | wc -l 3 这时候,A调用fork,创建了进程B。那么B有几个线程呢? $ ls /... 阅读全文

posted @ 2013-05-12 00:22 胡永光 阅读(177) 评论(0) 推荐(0) 编辑

浅谈linux定时器模型

摘要: 用户态的定时器设计 记得某段时间的工作中,经常会用到定时器。发现有些同学为了图方便,会这样实现定时器: while(1) { sleep_awhile(); while((timer = get_expired_timer())) do_timer_handle... 阅读全文

posted @ 2013-05-12 00:19 胡永光 阅读(178) 评论(0) 推荐(0) 编辑

linux网桥浅析

摘要: 什么是桥接? 简单来说,桥接就是把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。 交换机就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。于是,与交换机相连的若干主机就能够通过交换机的报文转发而... 阅读全文

posted @ 2013-05-12 00:17 胡永光 阅读(171) 评论(0) 推荐(0) 编辑

2013年5月11日

linux网络报文接收发送浅析

摘要: 对于linux内核来说,网络报文由网络设备来进行接收。设备驱动程序从网络设备中读取报文,通过内核提供的网络接口函数,将报文传递到内核中的网络协议栈。报文经过协议栈的处理,或转发、或丢弃、或被传送给某个进程。 网络报文的发送与之相反,进程通过系统调用将数据送入网络协议栈,或者由网络协议栈自己发起报... 阅读全文

posted @ 2013-05-11 19:55 胡永光 阅读(221) 评论(0) 推荐(0) 编辑

linux文件读写浅析

摘要: 在《linux内核虚拟文件系统浅析》这篇文章中,我们看到文件是如何被打开、文件的读写是如何被触发的。 对一个已打开的文件fd进行read/write系统调用时,内核中该文件所对应的file结构的f_op->read/f_op->write被调用。 本文将顺着这条路走下去,大致看看普通磁盘文件的读... 阅读全文

posted @ 2013-05-11 19:51 胡永光 阅读(289) 评论(0) 推荐(0) 编辑

linux slub分配器浅析

摘要: 在《linux内存管理浅析》中提到内核管理自己使用的内存时,使用了SLAB对象池。SLAB确实是比较复杂,所以一直以来都没有深入看一看。 不过现在,linux内核中,SLAB已经被它的简化版--SLUB所代替。最近抽时间看了一下SLUB的代码,略记一些自己的理解。 尽管SLUB是在内核里面实现的... 阅读全文

posted @ 2013-05-11 19:49 胡永光 阅读(179) 评论(0) 推荐(0) 编辑

linux文件系统实现浅析

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

posted @ 2013-05-11 19:45 胡永光 阅读(130) 评论(0) 推荐(0) 编辑

上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 100 下一页

导航