UNIX环境高级编程——基础与实现
需积分: 11 15 浏览量
更新于2024-07-27
1
收藏 18.16MB PDF 举报
"UNIX环境高级编程(china-pub).pdf"
本书是关于UNIX环境高级编程的一份详细指南,主要涵盖了UNIX操作系统的基础知识、标准化进程以及文件I/O等方面的内容。以下是书中部分核心知识点的概述:
1. **UNIX基础知识**
- **登录**:在UNIX系统中,用户通过提供用户名和密码来登录系统,进入自己的工作环境。
- **文件和目录**:文件系统是组织文件和目录的方式。文件名和路径名用于定位文件,工作目录是当前操作的目录,而起始目录则是用户登录时默认进入的目录。
- **输入和输出**:UNIX系统使用文件描述符来标识输入/输出流。标准输入、输出和错误通常分别关联到键盘、屏幕和错误消息输出。无缓冲I/O直接与设备交互,而标准I/O库提供了缓冲机制。
2. **程序和进程**
- **程序**:执行中的指令集合,而**进程**是程序的实例,具有唯一的进程ID(PID)。
- **进程控制**:包括创建(fork)、执行(exec)和终止(exit)等操作。
3. **ANSIC**:本书讨论了C语言的标准,特别是关于函数原型、类属指针和原始系统数据类型的规范。
4. **出错处理**:在UNIX中,错误通常通过返回值和设置errno全局变量来报告。程序员可以使用perror或strerror函数将错误代码转换为可读的错误信息。
5. **用户标识**
- **用户ID**(UID):每个用户都有一个唯一的ID,用于标识其在系统中的权限。
- **组ID**(GID):用户属于一个或多个组,每个组也有自己的ID,用于控制文件访问权限。
- **添加组ID**(Supplementary GID):用户还可以有额外的组ID,扩展权限范围。
6. **信号**:信号是进程间通信的一种方式,用于通知进程发生了特定事件,如SIGINT用于中断程序。
7. **UNIX时间值**:UNIX系统使用时间戳来记录时间,通常以秒为单位,从1970年1月1日开始计算。
8. **系统调用和库函数**:系统调用是直接与内核交互的手段,而库函数是对系统调用的封装,提供更易用的接口。
9. **UNIX标准化**
- **ANSI C**:定义了C语言的语法和语义,是编写跨平台软件的基础。
- **IEEE POSIX**:定义了一套操作系统接口标准,使得UNIX和其他兼容POSIX的系统之间有更大的一致性。
- **X/Open XPG3** 和 **FIPS 151-1**:进一步扩展和规范了UNIX系统的行为。
10. **文件I/O**
- **文件描述符**:标识打开文件的唯一整数。
- **open函数**:用于打开文件,返回文件描述符。
- **creat函数**:创建新文件或重写已存在文件。
- **close函数**:关闭文件描述符,释放系统资源。
- **lseek函数**:更改文件读写位置。
- **read和write函数**:读写文件内容,考虑效率和原子性。
- **文件共享**:多个进程可以同时访问同一文件,需要考虑同步和互斥问题。
- **dup和dup2函数**:复制文件描述符,实现文件描述符间的关联。
- **fcntl和ioctl函数**:提供高级文件控制功能,如锁定和设备控制。
以上只是《UNIX环境高级编程》中的一部分内容,全书深入探讨了UNIX系统的各个方面,对于理解和开发在UNIX环境下运行的应用程序具有极高的价值。通过学习这些知识,开发者可以更好地理解系统的内部工作原理,并能更高效地利用系统资源。
2023-06-06 上传
2023-08-24 上传
2023-10-31 上传
2023-07-25 上传
2023-06-01 上传
2023-06-09 上传
An1202
- 粉丝: 9
- 资源: 18
最新资源
- 新型智能电加热器:触摸感应与自动温控技术
- 社区物流信息管理系统的毕业设计实现
- VB门诊管理系统设计与实现(附论文与源代码)
- 剪叉式高空作业平台稳定性研究与创新设计
- DAMA CDGA考试必备:真题模拟及章节重点解析
- TaskExplorer:全新升级的系统监控与任务管理工具
- 新型碎纸机进纸间隙调整技术解析
- 有腿移动机器人动作教学与技术存储介质的研究
- 基于遗传算法优化的RBF神经网络分析工具
- Visual Basic入门教程完整版PDF下载
- 海洋岸滩保洁与垃圾清运服务招标文件公示
- 触摸屏测量仪器与粘度测定方法
- PSO多目标优化问题求解代码详解
- 有机硅组合物及差异剥离纸或膜技术分析
- Win10快速关机技巧:去除关机阻止功能
- 创新打印机设计:速释打印头与压纸辊安装拆卸便捷性