摘要:
(上)级别: 初级郑彦兴 (mlinux@163.com), 国防科大攻读博士学位2003 年 5 月 01 日共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]: 阅读全文
摘要:
从Jao的Programming Musing看到的:Babar Kazar整理了一堆经典论文。Jao强烈建议每个严肃的程序员读每篇论文,说它们都或多或少有意思。粗粗扫了一下,很多论文都没读过。挑了些俺多少知道一点的介绍。·An axiomatic basis for computer programmingC. A. R. HoareTony Hoare名下的公理化语义(Axiomatic Semantics)。著名的Hoare Triples, P{C}Q,就是从这里来的。论文不长,双列6页。前辈们就是这样的,6页纸就能开宗立派。不像俺,6页纸连介绍部分都写不周全。哪位老大想知道 阅读全文
摘要:
原文:维基百科链接There are at least three differentalgorithmsthat decide if and how a given regular expression matches a string.至少有三种算法可以用来确定给定的正则表达式是否匹配一个字符串。(1) 自动机The oldest and fastest rely on a result in formal language theory that allows everynondeterministic(不确定) finite automaton(NFA) to be transform 阅读全文
摘要:
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第二部分结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。第三部分根据上面 阅读全文
摘要:
The Development of the C Language*Dennis M. RitchieBell Labs/Lucent TechnologiesMurray Hill, NJ 07974 USA dmr@bell-labs.comABSTRACTThe C programming language was devised in the early 1970s as a systemimplementation language for the nascent Unix operating system.Derived from the typeless language BC. 阅读全文