摘要:
每个用户都拥有一个唯一的用户名和一个与之相关的数值型用户标识符(UID)。用户可以隶属于一个或多个组。而每个组也都拥有唯一的一个名称和一个组标识符(GID)。 用户和组 ID 的主要用途有二: 其一,确定各种系统资源的所有权; 其二,对赋予进程访问上述资源的权限加以控制。 比方说,每个文件都属于某个 阅读全文
摘要:
许多系统程序需要为动态数据结构(例如,链表和二叉树)分配额外内存,此类数据结构的大小由运行时所获取的信息决定。本章将介绍用于在堆或堆栈上分配内存的函数 7.1 在堆上分配内存 进程可以通过增加堆的大小来分配内存,所谓堆是一段长度可变的连续虚拟内存,始于进程的未初始化数据段末尾,随着内存的分配和释放而 阅读全文
摘要:
6.6 命令行参数(argc, argv) 每个 C 语言程序都必须有一个称为 main()的函数,作为程序启动的起点。当执行程序时,命令行参数通过两个入参提供给 main()函数。 第一个参数 int argc,表示命令行参数的个数。第二个参数 char *argv[],是一个指向命令行参数的指针 阅读全文
摘要:
6.1 进程和程序 进程process是一个可执行程序program的实例 程序是包含了一系列信息的文件, 这些信息描述了如何在运行时创建一个进程, 所包括的内容 如下所示。 二进制格式标识 :每 个 程 序 文件 都 包 含 用于 描 述 可 执行 文 件 格 式的 元 信 息( metainfo 阅读全文