名词解释

大学的那些教科书的专业名词通常解释得生硬,更别说去理解书中的内容了,各种看不懂,在这里摘抄了个人认为比较明了的名词解释,大家就当作字典来 find and read 就好(陆续更新)。


互斥控制中使用的一种同步机制。多个线程之间共享资源时,通过锁可以保证数据的一致性,锁保护的操作区间称为临界区(critical section)(教科书有这说:每个进程中访问临界资源的那段代码称为临界区;而网上有也有这么认为的:程序中操作临界资源的程序段称为临界区)。
用户应用程序常用的代表性的锁有 互斥量 (mutex), 信号量 (semaphore) 等。Linux 内核常用的有自旋锁 (spinlock),信号量,RCU, 顺序锁 (sequential lock) 等。忘记加锁会很容易发生数据被破坏,死锁等 BUG,除了锁之外,其他同步机制还有通过原子指令操作资源的方法(原子操作)。

进程、线程
在 Linux 中,线程是内核管理的最小的程序运行实例,进程是由一个或多个线程组成的程序运行实例。进程内的各个线程,共享内存空间,所以某个线程发生内存非法访问等 BUG, 经常会影响到其它线程的运行,关于进程、线程的理解可以参考这篇简单易懂的文章

内核转储
指将某一时刻的处理器的内存映像和寄存器内容等保存到文件 中的动作,或指保存后的文件,保存后的文件也称为内核转储。一般来说,程序异常结束时,某些操作系统会生成内核转储。GDB 等调试器与内核转储结合使用,就能获知发生时的处理器状态。

SMP
Symmetric Multic Processing,系统中的配置多个 CPUsynyj,每个 CPU 核心都可以执行同样的处理。与 UP(Unit Processing)相比,软件层面上要考虑的事情更多,由 SMP 引发的 BUG 也屡屡发生。

i386
Intel 的 32 位架构的通称,由最初使用该架构的 CPU 而得名,Intel 的 32 位处理器后来经过多次扩展,分别称为 i486,i586,i686, 这些架构的总称也是 i386。

x86_64
AMD 的 64 位架构,以及与之兼容的 Intel 64 位架构的通称,Intel 的 64 位中架构中还有个 ia64, 但这两者完全不同。x86_64 架构的特征是它能执行 i386 指令,因此在使用 64 系统中也能运行 32 位的软件资源。
86_64 架构刚推出的时候被称为 AMD64。x86_64 兼容 32 位的 x86 架构。Intel 在 AMD 推出 x86_64 之后,也推出了自己的 x86_64 架构 CPU,只不过 Intel 称呼 x86_64 为 Intel64,EM64T。

参考:

DEBUG HACKS 中文版 - 深入调试的技术和工具,大和一洋,大岩尚宏等人著

2014-12-19