C/C++
-
进程调度器–UNIX还是是老大_unix会不会出现高级优先的进程长期占用cpu,而低优先级长期等待的现象
linux调度器从2.4以前的O(n)发展到2.6.0到2.6.23之前的O(1),意义是什么,其实就是增加了每cpu运行队列的支持,另外就是优化了pick_next算法,不管哪个…
-
从句柄的概念再看分层设计_数据句柄设计
几个层次问题,首先物理内存和虚拟内存,操作系统管理物理内存,而用户进程使用虚拟内存,操作系统呈现给用户进程的是连续的虚拟内存但是不一定连续的物理内存,物理内存随时在变化,但是对于用…
-
tcp的复杂机制_tcp复杂
懂socket编程的人不一定理解tcp协议,实际上很多计算机编程高手都不一定懂tcp协议,编程高手很多都是对api很理解,对于api下面的机制就不一定理解了,我是一个学网络出身的人…
-
两种驱动系统运行的方式–分时的方式_config_sched_hrtick
引子:哪些是该负责的,哪些是不该负责的 哪些是该负责的,哪些是不该负责的,这是一个问题,hrtimer就能保证所有的timer都可以不延时的被执行吗?不能,很简单,如果你排入100…
-
读《精通正则表达式》序言–硬件和软件的本质
硬件体系结构中所有的一切都会被归结为缓存,这个思想是一本《精通正则表达式》的序言里面引用的,真正的作者是Sun的科学家Bill Joy,他的这个思想是很有道理的,计算机出现以前,几…
-
共享的两种方式
共享有两种,这里的共享可以理解为复用,分为时间上的复用和空间上的复用,时间上的复用的一个典型的例子就是分时系统分时使用cpu,cpu将所有时间分成若干个段,每个进程使用一段时间,然…
-
关于linux2.6.31内核fsnotify思想_linux fsnotify
linux的2.6.11内核之后有了inotify,这个特性确实很不错,使得很多用户策略得以实现,但是这个特性的代码实现却不是那么好,说实话很乱,很难扩展,很多链表,抽象出的dev…
-
自旋锁的枝枝蔓蔓
近期在读《多处理器编程的艺术》一书,英文版的,最近发现技术类书籍中文翻译版的质量越来越差,译者很多都是单纯为了钱,其实他们在IT领域很多都是大白,因此还是看原汁原味的英文版吧,虽然…
-
x86架构的一个瑕疵–可执行保护
很久以前,曾经写过一篇关于如何保护栈不可执行的文章《栈的保护–windows和linux》,文章的最后谈到了一种很好的方式,就是不用段式保护机制而使用页式保护机制,在页表项中做文…
-
linux驱动杂谈1_serio_set_drvdata
前段时间看了linux驱动框架,现在有个具体的scsi驱动分层结构,自然在理解了整个驱动大框架以后,这个曾经的庞然大物就变得很简单了,首先: static int __init i…