摘要:
在lighttpd1.5以后,fastcgi module被抛弃,broken-scriptfilename参数也不存在了。我们只能在proxy-core里通过rewrite来设置path_info,类似配置如下:$HTTP["url"] =~ "\.php" {proxy-core.backends = ( "unix:/tmp/php-fastcgi.sock" )proxy-core.protocol = "fastcgi"proxy-core.allow-x-sendfile = "enable& 阅读全文
摘要:
最近在看《orange’s》一书,有点想自己写一个轻量级OS的想法,设计和架构上会参照orang’s和Linux 0.11 kernel。 这个网站,上面的资料对于我这样的新手无疑是一份宝贵的财富啊。它详细介绍了内核程序必不可少的几大模块,并且对于每一个模块都有一些代码示例。看着文章代码,边做边学,真是一件愉快的事情 本来还想翻译成中文献给大家,不过google了一下,已经有人翻译了前面7章,... 阅读全文
摘要:
1. 地址的种类 首先明确一下逻辑地址和线性地址这两个概念: 1. 逻辑地址 2. 线性地址 3. 物理地址 1.1 逻辑地址: 逻辑地址是编译器生成的,我们使用在linux环境下,使用C语言指针时,指针的值就是逻辑地址。对于每个进程而言,他们都有一样的进程地址空间,类似的逻辑地址,甚至很可能相同。 1.2 线性地址: 线性地址是由分段机制将逻辑地址转化而来的,如果... 阅读全文
摘要:
在阅读文章前,您应该具备基本的存储器层次结构知识,至少要了解局部性原理。要详细了解cache基本原理,可以参考本书《深入理解计算机系统》中存储器体系结构一章: 带着疑问来看文章,cache对于程序员是不可见的,它完全是由硬件控制的,为什么在linux内核中还有cache.h这个头文件,定义了一些关于cache的结构? 1. cache概述 cache,中译名高速缓冲存储器,其作用是为了更好的... 阅读全文
摘要:
一. sk_buff Linux网络协议栈中主要的缓存类型。定义在include/linux/skbuff.h中,它是一个双向链表的数据结构。它的字段和函数主要分为四大类: 1. 布局字段:与整个sk_buff链表结构相关的字段 2. 通用信息字段: 3. 特性相关字段: 4. 管理功能函数: 二. sk_buff布局字段 为了很快地找到sk_buff链表中的表头,每个链表中都有一个... 阅读全文