注:下载后,评价时给5星,还你11分
第1章U N I X基础知识
第2章U N I X标准化及实现
第3章文件I / O
第4章文件和目录
第5章标准I/O 库
第6章系统数据文件和信息
第7章U N I X进程的环境
第8章进程控制
第9章进程关系
第10章信号
第11章终端I / O
第1 2章高级I / O
第1 3章精灵进程
第1 4章进程间通信
第1 5章高级进程间通信
第1 6章数据库函数库
第1 7章与PostScript 打印机通信
第1 8章调制解调器拨号器
第1 9章伪终端
### UNIX环境高级编程知识点概述
#### 一、UNIX基础知识
**1.1 引言**
在计算机科学领域,操作系统作为连接硬件与软件的桥梁,为应用程序提供了必要的服务,包括但不限于执行新程序、打开文件、读取文件内容、分配内存、获取当前时间等功能。《UNIX环境高级编程》这本书主要聚焦于UNIX操作系统不同版本所提供的一系列服务。
**1.2 登录**
- **1.2.1 登录名**: 用户登录UNIX系统时需要输入登录名和密码。系统会根据登录名在 `/etc/passwd` 文件中查找相关信息。该文件中每条记录包含七个字段,分别是登录名、加密后的密码、数字用户ID、数字组ID、注释字段、家目录路径和shell程序路径。
- **1.2.2 Shell**: 登录成功后,用户可以通过shell程序执行命令。常见的shell包括:
- Bourneshell (`/bin/sh`)
- Cshell (`/bin/csh`)
- KornShell (`/bin/ksh`)
系统会根据 `/etc/passwd` 文件中的最后一项字段确定使用哪种shell程序。Bourneshell自V7版本以来被广泛使用; Cshell由Bill Joy在伯克利开发,主要用于BSD版本; KornShell则是Bourneshell的后继者,兼容Bourneshell的同时引入了Cshell的一些特性。
#### 二、文件和目录
**1.3 文件系统**
UNIX的文件系统是以层次结构组织的,根目录(`/`)位于最顶层。每个目录都可以包含子目录或文件。
- **1.3.1 文件系统**: 目录是一种特殊的文件,其中包含了其他文件或目录的信息。每个目录项都包含一个文件名及其属性,如文件类型、大小、所有者、权限等。文件属性可通过 `stat` 和 `fstat` 函数获取。
- **1.3.2 文件名**: 文件名中不能包含斜线(`/`)和空字符(`\0`)。通常建议仅使用打印字符的子集作为文件名的一部分,避免使用shell中的特殊字符。
#### 三、UNIX标准化及实现
这一部分深入探讨了UNIX的不同版本及其标准化过程。UNIX经历了多个版本的发展,包括System V、BSD等。不同版本之间可能存在差异,例如在API定义、工具集、命令语法等方面。
#### 四、文件I/O
此章节详细讲解了如何在UNIX环境中进行文件的输入输出操作,包括打开文件、读写文件、关闭文件等基本操作。此外,还会介绍文件描述符、缓冲区管理等高级主题。
#### 五、标准I/O库
标准I/O库提供了一系列用于文件处理的高级接口,如`stdio.h`中的`fopen`, `fclose`, `fprintf`等函数。这部分内容会讨论如何使用这些函数来简化文件操作流程。
#### 六、进程控制
进程控制涉及创建、终止进程,以及父进程与子进程之间的交互。这一章节会涵盖`fork`, `exec`, `wait`等核心系统调用,并讨论进程间的同步机制。
#### 七、进程关系
在多进程环境下,进程间的关系至关重要。这里将介绍父子进程的概念、僵尸进程、孤儿进程等,并探讨如何通过信号处理机制来管理这些关系。
#### 八、信号
信号是UNIX系统中进程间通信的一种方式。本书将详细解释不同类型的信号、如何发送信号、如何捕获信号,并展示信号在进程控制中的应用。
#### 九、终端I/O
终端输入输出涉及到用户界面的设计与实现。这部分内容将探讨如何使用终端进行文本输入输出、屏幕刷新等操作。
#### 十、高级I/O
除了基本的文件I/O之外,高级I/O涵盖了诸如非阻塞I/O、异步I/O等概念。这一章节将详细介绍这些高级特性,以及它们在高性能服务器程序中的应用。
#### 十一、精灵进程
精灵进程(Daemon)是指在后台运行的守护进程。这部分内容将讨论如何创建守护进程、守护进程的作用、常见守护进程类型等。
#### 十二、进程间通信
进程间通信(IPC)是UNIX系统中进程通信的基础。本章将详细介绍消息队列、信号量、共享内存等IPC机制,并探讨它们在实际编程中的应用场景。
#### 十三、高级进程间通信
这一章节进一步深化了进程间通信的内容,包括远程过程调用(RPC)、套接字编程(Socket)等更为复杂的通信方式。
#### 十四、数据库函数库
数据库函数库提供了一种简单高效的方式,用于在UNIX环境下管理数据。这部分内容将介绍数据库函数库的基本原理和使用方法。
#### 十五、与PostScript打印机通信
本章将探讨如何通过UNIX系统与PostScript打印机进行通信,包括打印作业管理、格式转换等内容。
#### 十六、调制解调器拨号器
调制解调器拨号器涉及通过调制解调器进行网络连接的操作。这部分内容将讨论如何使用UNIX系统来配置和管理调制解调器。
#### 十七、伪终端
伪终端(Pseudo-terminal)是一种虚拟设备,常用于远程登录和控制台模拟。本章将讲解伪终端的工作原理及其在UNIX环境下的应用。
《UNIX环境高级编程》涵盖了UNIX系统的核心知识和技术细节,不仅适合初学者入门学习,也为高级用户提供了一个全面的参考资料。通过本书的学习,读者能够深入了解UNIX系统的工作机制,掌握高效的程序设计技巧。
1