APR源代码分析-进程同步篇
最新的统计数据显示Apache服务器在全世界仍然占据着Web服务器龙头老大的位置,而且市场占有率遥遥领先,所以学习Apache相关知识是完全正确的方向,这里我们继续分析APR进程同步相关内容。 进程同步的源代码的位置在$(APR\_HOME)/locks目录下,本篇blog着重分析unix子目录下的proc\_mutex.c、global\_mutex文件内容,其相应头文件为$(APR\_HOME...
最新的统计数据显示Apache服务器在全世界仍然占据着Web服务器龙头老大的位置,而且市场占有率遥遥领先,所以学习Apache相关知识是完全正确的方向,这里我们继续分析APR进程同步相关内容。 进程同步的源代码的位置在$(APR\_HOME)/locks目录下,本篇blog着重分析unix子目录下的proc\_mutex.c、global\_mutex文件内容,其相应头文件为$(APR\_HOME...
如果它不存在,但是你能看见它 — 它是虚拟的(IBM宣传虚拟内存之用语)。虚拟内存技术是计算机发展史上的一项重要的技术,它帮助应用程序摆脱了“体积”的限制。 记得上大学时,有一本书好像叫做“计算机网络 – 自顶向下”,全名记不太清了。书中从人们接触最多也最熟悉的“应用层”开始讲,一直讲到“物理层”,看完这本书后感觉效果不错。所以按照这种方法我也尝试着自上而下的去学习“虚存”,从我们最熟悉的C库接口...
不得不承认上次关于栈桢和栈操作写得有些笼统,这里做一次“补充”,美名其曰:“复习”。 下面的这个例子几乎就能覆盖所有的栈操作相关的内容了。 void dummy() { int i = 12; int j = 13; char c = 'a'; } int main() { dummy(); re...
不知道“软件抽象”这个标题能否恰好表达出我想表达出的意思,暂且就起这个名字吧。随着工作经验的增加,对软件开发所涉及的技术知识体系的理解也渐渐地清晰(起码自己是这么感觉的^\_^),思考了若干时间后,拿出来给自己一个和大家交流的机会。 1、起源 这个想法起源于一次项目方案讨论例会,会上我们的项目遇到了“存储资源瓶颈”,遂有同事提出一个类似“数据中心”的方案,但考虑到部门目前没有相关经验和数据供参考,...
入司后连续做过几个项目。最近在做一个新的项目的设计的时候,突然想到是不是该把以前项目中一些好的设计想法应用到新的项目中,并且尽量减少在新的项目中遗留以前的不好的设计呢?那么以前的项目中哪些是值得我去借鉴,哪些又是应该去避免的呢?真的很遗憾,自己并没有系统的反思和总结过,这就是我写下这篇Blog的直接起因。 一直在Unix平台下做设计和开发,所以下面谈的内容可能都有些局限性。作为设计原则本身,某些可...