日期:2014-05-16  浏览次数:20613 次

UNIXLinux程序设计教程

《UNIXLinux程序设计教程》
基本信息:
作者: 赵克佳 沈志宇
丛书名: 原创精品系列
出版社:机械工业出版社
ISBN:9787111403890
上架时间:2012-12-5
出版日期:2013 年1月
开本:16开
页码:1
版次:1-1
所属分类: 计算机 > 操作系统 > Linux


更多关于 》》》《UNIXLinux程序设计教程》

内容简介:
计算机书籍
  《unix/linux程序设计教程》遵循最新的“统一unix规范版本4”,以linux为平台,系统地讲述了unix api各种函数的编程方法。本书内容包括unix的发展历程与标准、标准i/o和低级i/o、文件与目录操作、进程环境与进程控制、信号处理、时间与定时、终端i/o、高级i/o、进程之间的通信、套接字与网络通信、多线程编程。
  《unix/linux程序设计教程》在介绍unix api各种函数的功能和用途的同时,清晰地阐述了它们所隐含的操作系统基本原理。书中给出了大量程序设计示例程序,有助于读者更好地掌握这些函数的功能、使用方法及编程技巧。
  《unix/linux程序设计教程》特别适合于高等院校计算机专业的教师、高年级本科生、研究生作为教材和参考书,也特别适合从事计算机系统软件和应用软件开发的工程技术人员作为实用编程手册查阅。
目录:
《unix/linux程序设计教程》
前言
第1章 unix导论 1
1.1 unix简史 1
1.1.1 unix的诞生 1
1.1.2 unix的早期发展 2
1.1.3 bsd unix 3
1.1.4 系统v unix 3
1.1.5 unix的商业化 4
1.1.6 linux 4
1.2 标准 5
1.2.1 svid 5
1.2.2 posix 6
1.2.3 统一unix规范 6
1.2.4 c标准 8
1.3 unix基本概念 8
1.3.1 程序和进程 8
1.3.2 内核 9
1.3.3 shell 10
1.3.4 用户名与用户id、用户组与组id 11
1.3.5 特权用户 12
1.3.6 系统调用与库函数 12
1.4 系统库 13
1.4.1 头文件 14
1.4.2 保留字 14
1.4.3 特征测试宏 15
1.5 示例程序和编译环境 16
1.6 错误处理 17
1.7 系统信息 19
1.7.1 机器标识 19
1.7.2 硬件/软件类型识别 19
1.8 系统能力限制 20
1.8.1 一般能力限制值 21
1.8.2 系统和文件特征选项 22
1.8.3 sysconf()、pathconf()和fpathconf()函数 23
1.9 思考与练习 27
第2章 标准输入输出 28
2.1 unix 输入输出基本概念 28
2.2 流和file对象 30
2.3 打开和关闭流 31
2.4 读和写流 33
2.4.1 字符i/o 33
2.4.2 行i/o 34
2.4.3 读回退 37
2.4.4 块i/o 38
2.5 文件定位 40
2.6 文件结束和错误指示器 42
2.7 流缓冲 43
2.8 格式i/o 46
2.8.1 格式输出 47
2.8.2 格式输入 50
2.9 临时文件 53
2.10 思考与练习 55
第3章 低级输入输出 56
3.1 文件描述字的打开、创建和关闭 56
3.2 read()和write()函数 60
3.3 设置描述字的文件位置 61
3.4 dup()和dup2()函数 64
3.5 fdopen()和fileno()函数 65
3.6 文件控制函数fcntl() 65
3.6.1 重复文件描述字 66
3.6.2 文件描述字标签 67
3.6.3 文件状态标签 68
3.7 非阻塞i/o 71
3.8 readv()和writev()函数 73
3.9 fsync()和fdatasync()函数 74
3.10 思考与练习 75
第4章 文件与目录 77
4.1 文件 77
4.1.1 stat()、fstat()和lstat()函数 78
4.2 文件类型 79
4.2.1 普通文件 79
4.2.2 目录 80
4.2.3 链接与link()函数 80
4.2.4 符号链接与symlink()和readlink()函数 82
4.2.5 特别文件 83
4.2.6 测试文件的类型 84
4.3 文件的属主和用户组 85
4.3.1 chown()、fchown()和lchown()函数 86
4.4 文件方式 87
4.4.1 文件访问权限 88
4.4.2 调整用户id和调整组id 89
4.4.3  sticky位 90
4.4.4 文件方式位小结 91
4.5 确定和改变文件方式 92
4.5.1 umask()函数 92
4.5.2 chmod()和fchmod()函数 94
4.5.3 access()函数 94
4.6 文件大小 96
4.6.1 截断文件 97
4.7 文件时间 99
4.7.1 utime()和utimes()函数 99
4.8 文件的删除与换名 101
4.8.1 删除文件和目录 101
4.8.2 文件换名 103
4.9 目录操作 104
4.9.1 工作目录 104
4.9.2 创建目录 105
4.9.3 读目录流 106
4.9.4 对目录流的随机访问 109
4.10 思考与练习 109
第5章 进程环境 111
5.1 main()函数 111
5.2 命令行参数 111
5.2.1 命令行参数的语法约定 112
5.2.2 扫描命令行中的选项 113
5.3 环境变量 115
5.3.1 环境表 116
5.3.2 访问环境 117
5.4 终止进程 118
5.4.1 出口状态 119
5.4.2 终止前的清理 119
5.4.3 流产程序 120
5.5 进程的存储空间 121
5.5.1 进程的地址空间 122
5.5.2 动态存储分配与释放 123
5.5.3 释放分配的存储单元 126
5.6 setjmp()和longjmp()函数 127
5.7 进程资源 130
5.7.1 查看与设置资源限制 131
5.7.2 资源使用统计 132
5.8 用户信息 133
5.8.1 用户名 133
5.8.2 用户数据库 134
5.8.3 组数据库 136
5.9 进程的身份凭证 139
5.10 调整进程的身份 141
5.11 思考与练习 146
第6章 进程控制 147
6.1 进程标识 147
6.2 进程创建 148
6.3 执行一个新程序 151
6.4  等待进程完成 155
6.5 进程终止与僵死进程 159
6.6 system()函数 163
6.7 进程组 164
6.8 会晤期 165
6.9 控制终端 166
6.10 作业控制 168
6.11 思考与练习 174
第7章 信号处理 175
7.1 信号概念 175
7.2 unix 信号 177
7.2.1 程序错误类信号 179
7.2.2 程序中止类信号 180
7.2.3 闹钟类信号 180
7.2.4 i/o类信号 180
7.2.5 作业控制类信号 181
7.2.6 操作错误类信号 181
7.2.7 其他信号 182
7.3 生成信号 182
7.3.1 raise()函数 182
7.3.2 kill()函数 183
7.4 设置信号的动作 184
7.4.1 signal()函数 184