摘要: LevelDB 内部采用变长编码,对数据进行压缩,减少存储空间,再采用 CRC 校验数据。整型数据是以 32(64) 位来表示的,以 32 位为例,存储需要 4 个字节。如果一个整数的大小在 256 以内,那么只需要一个字节就可以存储这个整数,可以节省 3 个字节。Varint 就是根据这种思想来序列化整数的,它是一种使用一个或多个字节序列化整数的方法,会把整型数据编码为变长字节。 阅读全文
posted @ 2021-03-31 11:15 debugzhang 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 如果我们想比较某个类型的两个值 x 和 y 是否相等(不等),例如:x == y (x != y),那么我们就必须为类型实现 PartialEq Trait。实现 Eq 的前提是已经实现了 PartialEq,因为实现 Eq 不需要额外的代码,只需要在实现了PartialEq 的基础上告诉编译器它的比较满足自反性就可以了。 阅读全文
posted @ 2021-03-28 12:25 debugzhang 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 本文简短描述了 Linux 内核推荐的代码风格。代码风格是非常个性化的,但这是 Linux 内核必须维持的准则,对于很多其他领域的代码,该规范也具有参考意义。 阅读全文
posted @ 2021-03-26 10:35 debugzhang 阅读(1468) 评论(0) 推荐(2) 编辑
摘要: 本章说明了进程组之间的关系——会话,它由若干个进程组组成。作业控制是当今很多 UNIX 系统所支持的功能,本章说明了它是如何由支持作业控制的 shell 实现的。在这些进程关系中也涉及了进程的控制终端 /dev/tty。所有这些进程的关系都使用了很多信号方面的功能。 阅读全文
posted @ 2021-03-25 13:23 debugzhang 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 对在 UNIX 环境中的高级编程而言,完整地了解 UNIX 的进程控制是非常重要的。其中必须熟练掌握的只有几个函数——fork、exec 系列、_exit、wait 和 waitpid。很多应用程序都使用这些简单的函数。本章说明了 system 函数和进程会计,这也使我们能进一步了解所有这些进程控制函数。本章还说明了 exec 函数的另一种变体:解释器文件以及它们的工作方式。 阅读全文
posted @ 2021-03-25 13:20 debugzhang 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 理解 UNIX 系统环境中 C 程序的环境是理解 UNIX 系统进程控制特性的先决条件。本章说明了一个进程是如何启动和终止的,如何向其传递参数表和环境。本章也说明了 C 程序的典型存储空间布局,以及一个进程如何动态地分配和释放存储空间。最后介绍了各种实现提供的资源限制功能。 阅读全文
posted @ 2021-03-25 13:16 debugzhang 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 所有 UNIX 系统都使用口令文件和组文件。本章说明了读这些文件的各种函数,也介绍了阴影口令,它可以增加系统的安全性。附属组 ID 提供了一个用户同时可以参加多个组的方法。本章还介绍了大多数系统所提供的访问其他与系统有关数据文件的类似函数,讨论了几个 POSIX.1 的系统标识函数,应用程序使用它们以标识它在何种系统上运行。 阅读全文
posted @ 2021-03-25 13:13 debugzhang 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 大多数 UNIX 应用程序都使用标准 I/O 库。本章说明了该库提供的很多函数以及某些实现细节和效率方面的考虑。标准 I/O 库使用了缓冲技术,而它正是产生很多问题、引起许多混淆的部分。 阅读全文
posted @ 2021-03-25 13:09 debugzhang 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 本章内容围绕 stat 函数,详细介绍了 stat 结构中的每一个成员。这使我们对 UNIX 文件和目录的各个属性都有所了解。我们讨论了文件和目录在文件系统中是如何设计的以及如何使用文件系统命令空间。对文件和目录的所有属性以及对文件和目录进行操作的所有函数的全面了解,对于 UNIX 编程是非常重要的。 阅读全文
posted @ 2021-03-25 13:06 debugzhang 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 本章说明了 UNIX 系统提供的基本 I/O 函数。在说明多个进程对同样文件进行追加写操作已经多个进程创建同一文件时,本章介绍了原子操作,也介绍了内核用来共享打开文件信息的数据结构。 阅读全文
posted @ 2021-03-25 13:02 debugzhang 阅读(245) 评论(0) 推荐(0) 编辑