C/C++
-
从物理页面的争抢看linux内核内存管理
linux的内核页面是不可换出的,这是事实,但是为什么呢?本文我将从物理页面争抢的角度来试图发现和解决这个疑问。linux的内核地址空间很大一块 是一一映射,这实际上不是必须的,而…
-
对BSD的新路由查找算法的理解_dog250 路由查找
bsd的路由查找算法我研究过一段时间,当时我们要自己写一个路由查找模块,要扩展性好的,要紧凑的,耦合性低的,于是我就选择了bsd的radix算 法,它不同于linux的哈希表查找算…
-
路由表的结构与算法分析–trie插入_trie_rebalance
在linux的trie树中插入一条路由是很复杂的,远比查找要复杂的多,因为每插入一条路由就要看看是否要动态调整trie树,不是还好,如果要动态调 整,那活儿就大了,正是因为这一点,…
-
路由表的结构与算法分析–trie查找_dog250 路由查找
linux中的路由查找算法一点也不比那些大型的专业路由器的查找算法差,所谓的专业路由器就是在很大程度上用硬件实现了一些常用的软件功能,比如思科的路由器竟然采用过什么256叉树,这种…
-
从文件系统看系统架构
linux实现了vfs,几乎任何一个可以交换数据的存在(我这里用一个很大的词:存在)都可以有一个vfs的代理,内存中就是一个inode结构,如果 你要操作它,那么需要一个file结…
-
从古老的System V进程调度器说开去
时至今日,我认为System V的进程调度器设计得是十分精妙的,这个调度器可能直接影响到后来的windows nt系统。 简单说System V的调度器是基于多级反馈优先级队列的,…
-
从著名的list_head看linux内核中OO
如果有人问我最欣赏linux的什么,我会毫不犹豫地回答:list_head。这个小小的结构向世人说明了用c语言写成的linux内核也在实现着OO,下面我就具体来说一下下。先看lis…
-
从Unix分层内核栈以及中断处理看Linux内核的另类
如果你一开始就读linux内核,那么你的思路会变得非常开阔,如果你读过unix内核,那么你会惊叹于linux内核的巧妙,如果你连NT的内核也了解,那么你会发现linux内核真是个另…
-
随想:从down掉系统看操作系统设计
如果一个文件被打开,那么试着删除这个文件会怎么样?在windows下会弹出可恶的对话框,说不让删除,而linux或者unix下默认就真的被删除了。 记得以前刚上大学的时候不懂电脑,…
-
BSD的内核安全级别_bsd的安全级别
bsd一直是公认的最安全的unix操作系统,因为它提供了基于内核的安全保护而不仅仅是老式unix的基于访问控制的安全保护。bsd为内核划分了安全 等级,这样就可以限制很多不安全的操…