UNIX环境高级编程:基础篇

需积分: 0 2 下载量 77 浏览量 更新于2024-07-27 收藏 476KB PDF 举报
"UNIX环境高级编程(第一章)" 在这一章中,主要介绍的是UNIX操作系统的基础知识,适合于那些想要深入理解和编程的读者。作者首先强调了操作系统为程序提供的服务,如执行程序、文件操作等,并指出在UNIX系统中,这些服务的详细讲解将贯穿全书。 1.1 引言 这部分提到了书中采用的方法,即以程序员的视角逐步介绍UNIX,而不是一次性全部揭示所有概念,避免过于复杂和枯燥。同时,这一章为不熟悉UNIX的读者提供了系统服务的概述。 1.2 登录 1.2.1 登录名 在UNIX系统中,用户通过登录名和口令来访问系统。口令文件(通常是/etc/passwd)存储了用户的登录信息,包括登录名、加密口令、用户ID、组ID、注释、起始目录和shell程序。 1.2.2 shell 登录后,用户会进入一个shell,这是一个命令解释器,处理用户输入的命令。常见的shell有Bourne shell (/bin/sh)、C shell (/bin/csh)和Korn shell (/bin/ksh)。shell的类型在口令文件的最后一个字段中指定。 1.3 文件和目录 1.3.1 文件系统 UNIX使用文件系统来组织和管理数据,包括文件和目录。 1.3.2 文件名 文件可以有不同的名字,遵循特定的命名规则。 1.3.3 路径名 路径名用于定位文件或目录,包括相对路径和绝对路径。 1.3.4 工作目录 工作目录是用户当前所在的目录。 1.3.5 起始目录 当用户登录时,他们的初始位置是起始目录。 1.4 输入和输出 1.4.1 文件描述符 文件描述符是操作系统用来标识打开文件的数字。 1.4.2 标准输入、标准输出和标准出错 每个进程都有三个预定义的文件描述符,分别对应标准输入、输出和错误。 1.4.3 不用缓存的I/O 直接与硬件交互的I/O操作,不经过缓冲区。 1.4.4 标准I/O 标准I/O库提供了缓冲的I/O操作,通常用于文本处理。 1.5 程序和进程 1.5.1 程序 程序是可执行的代码集合。 1.5.2 进程和进程ID 进程是正在运行的程序实例,每个进程有一个唯一的进程ID。 1.5.3 进程控制 包括创建、终止、挂起和恢复进程等功能。 1.6 ANSI C 1.6.1 函数原型 讨论了ANSI C标准中的函数声明和定义方式。 1.6.2 类属指针 类属指针是指向函数的指针,常用于回调函数。 1.6.3 原始系统数据类型 介绍了系统级别的数据类型,如int、long等。 1.7 出错处理 讲解了如何在编程中处理错误,例如使用errno变量和perror函数。 1.8 用户标识 1.8.1 用户ID 每个用户都有一个唯一的用户ID(UID),用于权限控制。 1.8.2 组ID 用户还可以属于一个或多个组,组ID(GID)标识了所属的组。 1.8.3 添加组ID 讨论了额外的组ID(补充组ID),允许用户同时属于多个附加组。 1.9 信号 信号是进程间通信的一种机制,用于通知进程发生特定事件。 1.10 UNIX时间值 UNIX时间值是从纪元(1970年1月1日)以来的秒数,用于时间戳。 1.11 系统调用和库函数 系统调用是直接与内核交互的接口,库函数则是对系统调用的封装,方便编程。 1.12 小结 总结了本章的主要概念。 1.13 习题 章节末尾包含习题,帮助读者巩固所学知识。 这一章覆盖了UNIX的基础知识,为后续深入学习奠定了基础。