⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 preface.htm

📁 UNIX环境下C编程的详细详细介绍
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>前言</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<body>

<p> <font SIZE="2"></p>

<h1 align="center">前言 </h1>

<p>引言 </p>

<p>本书说明Unix系统的程序设计界面-系统调用界面和标准C提供的很多函数。这些对编写</p>

<p> </p>

<p>在Unix系统中运行的程序是非常有帮助的。 </p>

<p>与大多数操作系统一样,Unix对程序运行提供了大量的服务-打开文件、读文件、启动</p>

<p>一 </p>

<p>道新程序、分配存储区以及获得当前时间等。这些被称之为系统调用界面(system</p>

<p>cal </p>

<p>l interface)。另外,标准C库提供了大量C程序广泛使用的函数(格式化输入变量的</p>

<p>值 </p>

<p>、比较两个字符串等)。 </p>

<p>系统调用和库函数系统上由Unix程序员手册中的第2,3部分说明。本书不是这些内容</p>

<p> </p>

<p>的重复。该手册没有给出实例,也不说明这些界面和函数设计的合理性,而这些则正是</p>

<p> </p>

<p>本书所要弥补的。 </p>

<p>Unix标准 </p>

<p>在八十年代出现的大量Unix版本的基础上,八十年代后期开始制定了几个国际标准,包</p>

<p> </p>

<p>括:C程序设计语言的ANSI标准、IEEE POSIX标准族(还在继续制定)、X/open可移</p>

<p>植 </p>

<p>性指南。 </p>

<p>本书也说明这些标准,但是并不只是说明这些标准本身,而是着重说明它们与广泛受到</p>

<p> </p>

<p>重视的一些实现之间的关系,这些实现主要是系统V版本4,以及将发布的4.4BSD。</p>

<p> </p>

<p>这样也就提供了一种对现实世界的说明,而这正是标准本身及描述符的文献所缺少的。</p>

<p> </p>

<p> </p>

<p>本书的组织 </p>

<p>  本书分成6个部分: </p>

<p>1. 对Unix程序设计概念和术语的概要描述(第一章),以及对各种Unix标准化工作和</p>

<p>U </p>

<p>nix实现的讨论(第二章)。 </p>

<p>2. 不带缓存的I/O(第三章)、文件和目录(第四章、标准I/O库(第五章)以及系</p>

<p> </p>

<p>统数据文件(第六章)。 </p>

<p>3. 进程-Unix进程的环境(第七章)、进程控制(第八章)、进程之间的关系(第九</p>

<p>章 </p>

<p>)以及信号(第十章)。 </p>

<p>4. 终端I/O(第十一章)、高级I/O(第十二章)以及精灵进程(第十三章) 
</p>

<p>5. IPC--进程间通信(第十四、十五章)。 </p>

<p>6. 实例-一个数据库的函数库(第十六章)、与Postscrip打印机的通信(第十七</p>

<p>章)、 </p>

<p>调制解调器拨号程序(第十八章)以及使用伪终端(第十九章)。 
</p>

<p>如果对C语言较熟悉并具有某些应用Unix的经验,那么对阅读本书是非常有益的,但是</p>

<p> </p>

<p>并不要求读者具有Unix的程序设计经验。本书面向的主要读者是:熟悉Unix的程序</p>

<p>员, </p>

<p>熟悉某个其它操作系统的程序员,他们希望了解大多数Unix系统提供的各种服务的详细</p>

<p> </p>

<p>情况。 </p>

<p>本书中的实例 </p>

<p>本书包含大量实例-大约10000行源代码。所有实例都用ANSL C语言编写。在阅读本书</p>

<p>时 </p>

<p>,你应当有一本你所使用的UNIX系统的Unix程序员手册,关于实施的细节等有时需参</p>

<p>考 </p>

<p>该手册。 </p>

<p>对于几乎每一个函数和系统调用,本书都用一个小的完整的程序进行演示。这可以让我</p>

<p> </p>

<p>们清楚地了解它们的用法,包括参数、返回值等。有些小程序还不是以说明库函数和系</p>

<p> </p>

<p>统调用的复杂功能和应用技巧,所以本书中也包含了一些较大的实例(第十六、十七、</p>

<p> </p>

<p>十八和十九章)。 </p>

<p>所有实例的源代码文件都可经Internet用匿名ftp取到,其主机站点是ftjp.uu.net,</p>

<p>文件 </p>

<p>名是published/books/stevens.advprog.tar.Z。在你的机器上可对这些源代码进</p>

<p>行修改 </p>

<p>并运行它们。 </p>

<p>用于测试实例的系统 </p>

<p>不幸的是所有操作系统都在不断变更,Unix也不例外。下图示出了系统V和4.XBSD的</p>

<p>最 </p>

<p>近进展情况。 </p>

<p>4.XBSD是由加州大学贝克莱分校计算机系统研究组开发的。该研究组也发布BSD 
NET1</p>

<p>和 </p>

<p>BSD NET2版,它们包含了4.XBSD系统公众可用源代码。SVRX是AT&amp; T的系统V的简</p>

<p>称。XP </p>

<p>G3是X/Open可移植性指南的第三次发行本的简称。ANSI C是C程序设计语言的ANSI标</p>

<p>准。 </p>

<p>POSIX.1是Unix类系统界面的IEEE和ISD标准。2.2和2.3节将对这些标准和版本之间</p>

<p>的差 </p>

<p>别作更多说明。 </p>

<p>在本书中,用4.3+BSD表示BSD NET2和4.4BSD之间的Unix系统。 </p>

<p>在本书写作时,4.4BSD尚未发行,所以不能称一个系统为4.4BSD。尽管为此, 
</p>

<p> </p>

<p>需要一个简单的名字以引用此种系统,在全书中我们用4.3+BSD。 </p>

<p>本书中的大多数实例曾在4种Unix系统上运行过,它们是: </p>

<p>1. U.H公司(UHC)的Unix System V/386 Release4.0 Version 2.0。该系统在</p>

<p>Intel 8 </p>

<p>0386处理机上运行。 </p>

<p>2. 加州大学贝克莱分校计算机科学系(Computer Science Division)计算机系统</p>

<p>研究 </p>

<p>组的4.3+BSD,该系统在一台HP工作站上运行。 </p>

<p>3. 贝克莱软件设计公司的BSD/386(是BSD Net2的导出版),该系统在一台Intel</p>

<p>8038 </p>

<p>6处理机系统上运行。该系统几乎与我们称之为4.3+BSD的相同。 </p>

<p>4. Sun Microsystems的Sun OS4.1.1和4.1.2(该系统与贝克莱系统有很深的渊源</p>

<p>团系, </p>

<p>但也包含了很多系统V的特征),这些系统在SPARC工作站SLC上运行。 
</p>

<p>本书提供了与测试有关的许多时间信息,也说明了用于测试的系统实际系统。 
</font></p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -