书籍详情
UNIX系统编程:基于SVR4
作者:(美)David A.Curry著;孙伟峰译;孙伟峰译
出版社:中国电力出版社
出版时间:2001-07-01
ISBN:9787508306599
定价:¥66.00
购买这本书可以去
内容简介
功能完备的程序都要用到操作系统服务。即使是最简单的程序也要读取输入,生成输出,实际应用中程序的需求就更复杂了。包括检测日期和时间,使用网络,启动进程并与之通信。所谓“系统编程”,实际上就是指使用这些操作系统服务来编写程序。本书是经典Unix编程图书。详细讲述了Unix与应用程序相互作用的技术细节。包含了许多实例,涉及的主题从字符串处理到网络编程。你可以以此为起点,通过编程实践,更上一层楼。本书虽然主要针对AT&T SVR4版本,但也专门照顾到了其他三种最重要的Unix实现:Sun Solaris、HP-UX和SGI IRIX。还包括从BSD Unix向SVR4移植程序的注意事项。本书讲述的主题包括:● 使用低层I/O子例程和标准I/O库● 创建和删除目录,改变文件属性,处理多个输入流,文件和记录上锁,以及内存映像文件。● 读取、输出和设置系统时间和日期● 如何获取当前的登录用户、如何获取用户的登录和注销时间,以及如何修改程序的有效用户ID和组ID,如何写set-user-id程序● 修改各种系统限制配置参数● 创建进程、作业控制和信号处理● 使用管道、FIFO、Unix域套接字、消息队列、信号量以及共享内存进行进程间通信● 读取和设置串行线的各种属性,例如波特率、字符回显和流控制● 使用Berkeley套接字和TLI进行网络编程
作者简介
暂缺《UNIX系统编程:基于SVR4》作者简介
目录
作者简介
David A. Curry目前是IBM公司Internet紧急反应服务部门(IBM-ERS)的高级Internet安全分析师,负责该部门的安全脆弱性警告服务,以及开发此服务的质量管理程序。他拥有普度大学的计算机科学学士学位。
David自1985年开始Unix系统编程。他曾任NASA Ames研究中心的助理研究员,以及加州SRI国际公司的高级系统程序员。1991年婚后,他决定定居中西部,于是返回了普度大学,成为该大学工程计算机网的Unix系统编程组负责人,直至1995年。
David是USENIX协会和美国国家计算机安全协会的会员。还是IBM-ERS在紧急反应和安全小组论坛(FIRST)的代表。他写过许多在网上广为流传的程序,还是另两本书《Using C on the Unix System》(O’Reilly)和《Unix System Security》(Addison-Wesley)的作者。
封面介绍
本书封面上的动物是狮子,一种大型的食肉猫科动物,主要栖息在西印度和撒哈拉以南。狮子是猫科动物中最喜群居的,一个狮群通常由1到4只雄狮,和30只左右的雌狮和幼狮组成。每个狮群又分成几组。狮群的领土从15到150平方英里不等,以食物的多少而定,其边界用气味划分。
狮子以鲜肉和腐肉为食。它们更喜欢吃较大的猎物,比如斑马和羚羊。捕猎主要由雌狮承担,它们会互相协作,包抄较大的猎物。捕猎时,狮子会在阴暗处或植物丛中小心地移动,但风向的改变会经常使它们暴露。
目录
前言 1
第一章 SVR4导论 13
与标准兼容 14
编译器 16
BSD 源码兼容包 19
第二章 实用子例程 22
字符串操作 22
内存块操作函数 42
操作字符类 46
动态内存分配 49
操作临时文件 54
分析命令行参数 57
其他函数 62
本章小结 65
第三章 低层I/O子例程 66
文件描述符 66
打开和关闭文件 67
输入和输出 70
重置读写偏移量 74
复制文件描述符 77
本章小结 78
第四章 标准I/O库 79
数据类型和常量 81
打开和关闭文件 81
基于字符的输入输出 83
基于行的输入输出 86
基于缓冲区的输入输出 88
格式化输入和输出 90
重置输入/输出的偏移量 102
重新分配文件指针 106
缓冲 106
stream的状态 108
文件指针和文件描述符 109
本章小结 109
第五章 文件和目录 110
文件系统基本概念 110
UNIX 文件系统 111
获得文件属性 118
修改文件的属性 129
创建和删除文件及目录 135
与目录相关的特殊操作 137
本章小结 144
第六章 文件的特殊操作 145
文件描述符的属性 145
管理多个文件描述符 149
文件和记录上锁 160
内存映像文件 165
文件系统/dev/fd 172
其他函数 173
本章小结 176
第七章 日期时间操作 177
复杂的时间 177
获得当前的时间 179
获得本地时区 180
在UNIX时间格式和日常时间格式之间相互转换 182
格式化数据串 183
本章小结 190
第八章 用户和组 191
登录名 191
用户的ID号 193
组ID 195
口令文件 196
映像口令(shadow password)文件 199
组文件 202
文件utmp和wtmp 208
文件Lastlog 217
文件shells 220
编写set-user-id和set-group-id程序 221
本章小结 224
第九章 系统配置和资源限制 225
基本的系统信息 226
系统资源限制 230
进程的资源限制 236
资源利用信息 238
本章小结 241
第十章 信号 242
信号的基本概念 243
基本的信号处理 249
不可靠的信号 253
可靠的信号 255
信号和系统调用 260
使用信号进行“定时”处理 261
高级信号处理 270
将伯克利的信号处理函数移植到SVR4 283
本章小结 286
第十一章 进程 287
进程的基本概念 288
终止进程 294
执行一个程序 295
和进程相关的高级函数调用 298
输入输出重定向 314
作业控制 321
统计进程的执行时间 322
移植注意 323
本章小结 325
第十二章 终端 326
终端I/O的基本概念 327
和终端相关的函数 333
POSIX的终端控制 335
POSIX之前的终端控制 347
终端窗口的大小 354
本章小结 355
第十三章 进程间通信 356
管道 356
FIFO 366
UNIX的套接字 369
系统V的IPC 函数 377
本章小结 391
第十四章 使用套接字进行网络编程 392
网络的基本概念 393
创建一个套接字 399
服务器端的函数 400
客户端的函数 402
示例程序 405
其他函数 410
本章小结 415
第十五章 使用TLI进行网络编程 417
结构体netbuf 418
网络选择 419
主机名-主机地址转换 424
TLI工具函数 427
传输终端点管理 429
无连接的服务 434
面向连接的服务 440
其他函数 454
在TLI中进行读写 457
本章小结 458
第十六章 其他子例程 460
当发生错误时退出 460
错误日志 461
搜索 466
排序 481
环境变量 483
口令 484
随机数 486
目录树 486
数据库管理 492
模式匹配 495
国际化 502
本章小结 507
附录一 ANSI C对C的改进 509
附录二 访问文件系统的数据结构 521
附录三 文件系统/proc 550
附录四 伪终端 562
附录五 在链路层访问网络 574
David A. Curry目前是IBM公司Internet紧急反应服务部门(IBM-ERS)的高级Internet安全分析师,负责该部门的安全脆弱性警告服务,以及开发此服务的质量管理程序。他拥有普度大学的计算机科学学士学位。
David自1985年开始Unix系统编程。他曾任NASA Ames研究中心的助理研究员,以及加州SRI国际公司的高级系统程序员。1991年婚后,他决定定居中西部,于是返回了普度大学,成为该大学工程计算机网的Unix系统编程组负责人,直至1995年。
David是USENIX协会和美国国家计算机安全协会的会员。还是IBM-ERS在紧急反应和安全小组论坛(FIRST)的代表。他写过许多在网上广为流传的程序,还是另两本书《Using C on the Unix System》(O’Reilly)和《Unix System Security》(Addison-Wesley)的作者。
封面介绍
本书封面上的动物是狮子,一种大型的食肉猫科动物,主要栖息在西印度和撒哈拉以南。狮子是猫科动物中最喜群居的,一个狮群通常由1到4只雄狮,和30只左右的雌狮和幼狮组成。每个狮群又分成几组。狮群的领土从15到150平方英里不等,以食物的多少而定,其边界用气味划分。
狮子以鲜肉和腐肉为食。它们更喜欢吃较大的猎物,比如斑马和羚羊。捕猎主要由雌狮承担,它们会互相协作,包抄较大的猎物。捕猎时,狮子会在阴暗处或植物丛中小心地移动,但风向的改变会经常使它们暴露。
目录
前言 1
第一章 SVR4导论 13
与标准兼容 14
编译器 16
BSD 源码兼容包 19
第二章 实用子例程 22
字符串操作 22
内存块操作函数 42
操作字符类 46
动态内存分配 49
操作临时文件 54
分析命令行参数 57
其他函数 62
本章小结 65
第三章 低层I/O子例程 66
文件描述符 66
打开和关闭文件 67
输入和输出 70
重置读写偏移量 74
复制文件描述符 77
本章小结 78
第四章 标准I/O库 79
数据类型和常量 81
打开和关闭文件 81
基于字符的输入输出 83
基于行的输入输出 86
基于缓冲区的输入输出 88
格式化输入和输出 90
重置输入/输出的偏移量 102
重新分配文件指针 106
缓冲 106
stream的状态 108
文件指针和文件描述符 109
本章小结 109
第五章 文件和目录 110
文件系统基本概念 110
UNIX 文件系统 111
获得文件属性 118
修改文件的属性 129
创建和删除文件及目录 135
与目录相关的特殊操作 137
本章小结 144
第六章 文件的特殊操作 145
文件描述符的属性 145
管理多个文件描述符 149
文件和记录上锁 160
内存映像文件 165
文件系统/dev/fd 172
其他函数 173
本章小结 176
第七章 日期时间操作 177
复杂的时间 177
获得当前的时间 179
获得本地时区 180
在UNIX时间格式和日常时间格式之间相互转换 182
格式化数据串 183
本章小结 190
第八章 用户和组 191
登录名 191
用户的ID号 193
组ID 195
口令文件 196
映像口令(shadow password)文件 199
组文件 202
文件utmp和wtmp 208
文件Lastlog 217
文件shells 220
编写set-user-id和set-group-id程序 221
本章小结 224
第九章 系统配置和资源限制 225
基本的系统信息 226
系统资源限制 230
进程的资源限制 236
资源利用信息 238
本章小结 241
第十章 信号 242
信号的基本概念 243
基本的信号处理 249
不可靠的信号 253
可靠的信号 255
信号和系统调用 260
使用信号进行“定时”处理 261
高级信号处理 270
将伯克利的信号处理函数移植到SVR4 283
本章小结 286
第十一章 进程 287
进程的基本概念 288
终止进程 294
执行一个程序 295
和进程相关的高级函数调用 298
输入输出重定向 314
作业控制 321
统计进程的执行时间 322
移植注意 323
本章小结 325
第十二章 终端 326
终端I/O的基本概念 327
和终端相关的函数 333
POSIX的终端控制 335
POSIX之前的终端控制 347
终端窗口的大小 354
本章小结 355
第十三章 进程间通信 356
管道 356
FIFO 366
UNIX的套接字 369
系统V的IPC 函数 377
本章小结 391
第十四章 使用套接字进行网络编程 392
网络的基本概念 393
创建一个套接字 399
服务器端的函数 400
客户端的函数 402
示例程序 405
其他函数 410
本章小结 415
第十五章 使用TLI进行网络编程 417
结构体netbuf 418
网络选择 419
主机名-主机地址转换 424
TLI工具函数 427
传输终端点管理 429
无连接的服务 434
面向连接的服务 440
其他函数 454
在TLI中进行读写 457
本章小结 458
第十六章 其他子例程 460
当发生错误时退出 460
错误日志 461
搜索 466
排序 481
环境变量 483
口令 484
随机数 486
目录树 486
数据库管理 492
模式匹配 495
国际化 502
本章小结 507
附录一 ANSI C对C的改进 509
附录二 访问文件系统的数据结构 521
附录三 文件系统/proc 550
附录四 伪终端 562
附录五 在链路层访问网络 574
猜您喜欢