UNIX
-
UNIX环境高级编程(美)W.R.著内容提要本书是被誉为UNIX编程"圣经"的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。 ContentsChapter 1. UNIX System Overview 11.1 Introduction 11.2 UNIX Architecture 11.3 Logging In 21.4 Files and Directories 41.5 Input and Output 81.6 Programs and Processes 101.7 Error Handling 141.8 User Identification 161.9 Signals 181.10 Time Values 201.11 System Calls and Library Functions 211.12 Summary 23Chapter 2. UNIX Standardization and Implementations 252.1 Introduction 252.2 UNIX Standardization 252.2.1ISO C 252.2.2IEEE POSIX 262.2.3The Single UNIX Specification 292.2.4FIPS 332.3 UNIX System Implementations 332.3.1UNIX System V Release 4 332.3.24.4BSD 342.3.3FreeBSD 352.3.4Linux 352.3.5Mac OS X 352.3.6Solaris 352.3.7Other UNIX Systems 362.4 Relationship of Standards and Implementations 362.5 Limits 362.5.1ISO C Limits 382.5.2POSlX Limits 382.5.3XSl Limits 402.5.4sysconf, pathconf, and fpathconf Functions 412.5.5Indeterminate Runtime Limits 482.6 Options 522.7 Feature Test Macros 552.8 Primitive System Data Types 562.9 Conflicts Between Standards 562.10 Summary 58Chapter 3. File I/0 593.1 Introduction 593.2 File Descriptors 593.3 open Function 603.4 creat Function 623.5 close Function 633.6 1 seek Function 633.7 read Function 673.8 write Function 683.9 I/O Efficiency 683.10 File Sharing 703.11 Atomic Operations 743.12 dup and dup2 Functions 763.13 sync, fsync, and fdatasync Functions 773.14 fcnt 1 Function 783.15 ioct 1 Function 833.16 /dev/fd 843.17 Summary 85Chapter 4. Files and Directories 874.1 Introduction 874.2 stat, fstat, and lstat Functions 874.3 File Types 884.4 Set-User-ID and Set-Group-ID 914.5 File Access Permissions 924.6 Ownership of New Files and Directories 954.7 access Function 954.8 umask Function 974.9 chmod and f chmod Functions 994.10 StickyBit 1014.11 chown, fchown, and lchown Functions 1024.12 File Size 1034.13 File Truncation 1054.14 File Systems 1054.15 link, unlink, remove, and rename Functions 1084.16 Symbolic Links 1124.17 syml ink and readlink Functions 1154.18 File Times 1154.19 ut ime Function 1164.20 mkdir and rmdir Functions 1194.21 Reading Directories 1204.22 chdir, fchdir, and getcwd Functions 1254.23 Device Special Files 1274.24 Summary of File Access Permission Bits 1304.25 Summary 130Chapter 5. Standard I/O Library 1335.1 Introduction 1335.2 Streams and FILE Objects 1335.3 Standard Input, Standard Output, and Standard Error 1355.4 Buffering 1355.5 Opening a Stream 1385.6 Reading and Writing a Stream 1405.7 Line-at-a-Time I/O 1425.8 Standard I/O Efficiency 1435.9 Binary I/O 1455.10 Positioning a Stream 1475.11 Formatted I/O 1495.12 Implementation Details 1535.13 Temporary Files 1555.14 Alternatives to Standard I/O 1595.15 Summary 159Chapter 6. System Data Files and Information 1616.1 Introduction 1616.2 Password File 1616.3 Shadow Passwords 1656.4 Group File 1666.5 Supplementary Group IDs 1676.6 Implementation Differences 1696.7 Other Data Files 1696.8 Login Accounting 1706.9 System Identification 1716.10 Time and Date Routines 1736.11 Summary 177Chapter 7. Process Environment 1797.1 Introduction 1797.2 main Function 1797.3 Process Termination 1807.4 Command-Line Arguments 1857.5 Environment List 1857.6 Memory Layout of a C Program 1867.7 Shared Libraries 1887.8 Memory Allocation 1897.9 Environment Variables 1927.10 set j mp and longj mp Functions 1957.11 getrlimit and setrlimit Functions 2027.12 Summary 206Chapter 8. Process Control 2098.1 Introduction 2098.2 Process Identifiers 2098.3 fork Function 2118.4 vfork Function 2168.5 exit Functions 2188.6 wait and waitpid Functions 2208.7 waitid Function 2268.8 wait3 and wait4 Functions 2278.9 Race Conditions 2278.10 exec Functions 2318.11 Changing User IDs and Group IDs 2378.12 Interpreter Files 2428.13 system Function 2468.14 Process Accounting 2508.15 User Identification 2568.16 Process Times 2578.17 Summary 259Chapter 9. Process Relationships 2619.1 Introduction 2619.2 Terminal Logins 2619.3 Network Logins 2669.4 Process Groups 2699.5 Sessions 2709.6 Controlling Terminal 2729.7 tcgetpgrp, tcsetpgrp, and tcgetsid Functions 2739.8 Job Control 2749.9 Shell Execution of Programs 2789.10 Orphaned Process Groups 2829.11 FreeBSD Implementation 2859.12 Summary 287Chapter 10.Signals 28910.1 Introduction 28910.2 Signal Concepts 28910.3 signal Function 29810.4 Unreliable Signals 30110.5 Interrupted System Calls 30310.6 Reentrant Functions 30510.7 s IGCLD Semantics 30810.8 Reliable-Signal Terminology and Semantics 31010.9 kill and raise Functions 31110.10 alarm and pause Functions 31310.11 Signal Sets 31810.12 sigprocmask Function 32010.13 s igpending Function 32210.14 sigaction Function 32410.15 sigsetjmp and siglongjmp Functions 32910.16 s igsuspend Function 33310.17 abort Function 34010.18 sys t em Function 34210.19 s I eep Function 34710.20 Job-Control Signals 34910.21 Additional Features 35210.22 Summary 353Chapter 11.Threads 35511.1 Introduction 35511.2 Thread Concepts 35511.3 Thread Identification 35611.4 Thread Creation 35711.5 Thread Termination 36011.6 Thread Synchronization 36811.7 Summary 385Chapter 12.Thread Control 38712.1 Introduction 38712.2 Thread Limits 38712.3 Thread Attributes 38812.4 Synchronization Attributes 39312.5 Reentrancy 40112.6 Thread-Specific Data 40612.7 Cancel Options 41012.8 Threads and Signals 41312.9 Threads and fork 41612.10 Threads and I/O 42012.11 Summary 420Chapter 13.Daemon Processes 42313.1 Introduction 42313.2 Daemon Characteristics 42313.3 Coding Rules 42513.4 Error Logging 42813.5 Single-Instance Daemons 43213.6 Daemon Conventions 43413.7 Client-Server Model 43913.8 Summary 439Chapter 14.Advanced I/O44114.1 Introduction 44114.2 Nonblocking I/O 44114.3 Record Locking 44414.4 STREAMS 46014.5 I/O Multiplexing 47214.5.1 select and pselect Functions 47414.5.2 pol 1 Function 47914.6 Asynchronous I/O 48114.6.1 System V Asynchronous I/O 48114.6.2 BSD Asynchronous I/O 48214.7 readv and writev Functions 48314.8 readn and writen Functions 48514.9 Memory-Mapped I/O 48714.10 Summary 492Chapter 15.Interprocess Communication 49515.1 Introduction 49515.2 Pipes 49615.3 popen and pclose Functions 50315.4 Cop rocesses 51015.5 FIFOs 51415.6 XSI IPC 51815.6.1 Identifiers and Keys 51815.6.2 Permission Structure 52015.6.3 Configuration Limits 52115.6.4 Advantages and Disadvantages 52115.7 Message Queues 52215.8 Semaphores 52715.9 Shared Memory 53315.10 Client-Server Properties 54115.11 Summary 543Chapter 16.Network IPC: Sockets 54516.1 Introduction 54516.2 Socket Descriptors 54616.3 Addressing 54916.3.1 Byte Ordering 54916.3.2 Address Formats 55116.3.3 Address Lookup 55316.3.4 Associating Addresses with Sockets 56016.4 Connection Establishment 56116.5 Data Transfer 56516.6 Socket Options 57916.7 Out-of-Band Data 58116.8 Nonblocking and Asynchronous I/O 58216.9 Summary 583Chapter 17.Advanced IPC 58517.1 Introduction 58517.2 STREAMS-Based Pipes 58517.2.1 Naming STREAMS Pipes 58917.2.2 Unique Connections 59017.3 UNIX Domain Sockets 59417.3.1 Naming UNIX Domain Sockets 59517.3.2 Unique Connections 59717.4 Passing File Descriptors 60117.4.1 Passing File Descriptors over STREAMS-Based Pipes 60417.4.2 Passing File Descriptors over UNIX Domain Sockets 60617.5 An Open Server, Version 1 61517.6 An Open Server, Version 2 62017.7 Summary 629Chapter 18.Terminal I/O 63118.1 Introduction 63118.2 Overview 63118.3 Special Input Characters 63818.4 Getting and Setting Terminal Attributes 64318.5 Terminal Option Flags 64318.6 stty Command 65118.7 Baud Rate Functions 65218.8 Line Control Functions 65318.9 Terminal Identification 65418.10 Canonical Mode 66018.11 Noncanonical Mode 66318.12 Terminal Window Size 67018.13 termcap, terminfo, and curses 67218.14 Summary 673Chapter 19.Pseudo Terminals 67519.1 Introduction 67519.2 Overview 67519.3 Opening Pseudo-Terminal Devices 68119.3.1 STREAMS-Based Pseudo Terminals 68319.3.2 BSD-Based Pseudo Terminals 68619.3.3 Linux-Based Pseudo Terminals 68919.4 pty fork Function 69119.5 pty Program 69419.6 Using the pty Program 69819.7 Advanced Features 70519.8 Summary 706Chapter 20.A Database Library 70920.1 Introduction 70920.2 History 70920.3 The Library 71020.4 Implementation Overview 71220.5 Centralized or Decentralized? 71620.6 Concurrency 71820.7 Building the Library 71920.8 Source Code 71920.9 Performance 74720.10 Summary 752Chapter 21.Communicating with a Network Printer 75321.1 Introduction 75321.2 The Internet Printing Protocol 75321.3 The Hypertext Transfer Protocol 75621.4 Printer Spooling 75721.5 Source Code 75821.6 Summary 805Appendix A.Function Prototypes 807Appendix B.Miscellaneous Source Code 843B.1 Our Header File 843B.2 Standard Error Routines 846Appendix C.Solutions to Selected Exercises 853Bibliography 885Index 891
-
UNIX教程(美)萨瓦 等著,张玉洁 等译;张玉洁译本书是一本优秀的UNIX基础教材。作者深入浅出地剖析了UNIX操作系统的各个方面,系统地介绍了UNIX的用户接口,系统内部的工作情况等。本书从UNIX系统最基本的操作开始,依次阐述了UNIX shell操作、文本文件编辑、收发电子邮件、UNIX文件与文件系统的操作、输入输出管理、进程管理、网络管理以及常用shell的编程等。书后的附录详尽介绍了UNIX的终端命令及命令参数和选项,精心设计的章内练习和章末问题有助于读者及时巩固新的命令、原语和概念。本书特点:●简明清晰的理论知识,设计精彩的示例,精练的相关主题,帮助读者理解复杂概念的习题。●独一无二的组织结构,帮助初学者通过掌握UNIX应用程序用户接口,从而增强对操作系统基本原理的理解。●涵盖了UNIX软件开发工具以及速查向导,为新手和富有经验的程序员带来便利。●精心整合的图文形式描述UNIX的命令和概念,有助于理解深奥的概念和主题。第2版新增内容:◆本书开篇的"UNIX操作系统快速入门"一章,帮助读者快速掌握在UNIX下工作的基本方法。◆关于图形化Emacs编辑器的内容,用全新的一节详细介绍基于IMAP和POP3的UNIX电子邮件软件??图形化Kmail。◆加强了对进程属性和UNIX进程层次结构的说明。◆增加了一些新命令,如host、dig、ssh(安全Shell)、scp和sftp。◆编译C++和Java程序的相关资料(第20章)。◆完全更新了第21章,包括XFree86、fvwm2、如何使用xconfigurator修改X Window系统的默认设定、如何安装UNIX包以及介绍Mac OS X UNIX和Aqua GUI。◆第8章中的访问权限,以及第12章中的UNIX FIFO。 第0章UNIX操作系统快速入门第1章操作系统概述第2章UNIX操作系统简史第3章UNIX起步第4章UNIX Shell第5章编辑文本文件第6章电子邮件第7章文件与文件系统结构第8章文件安全性第9章基本文件处理第10章高级文件处理第11章文件共享第12章重定向与管道第13章进程第14章网络与互联网第15章 Bourne Shell编程入门第16章高级Bourne Shell编程第17章 C Shell编程入门第18章高级C Shell编程第19章文件系统的备份第20章UNIX软件开发工具第21章UNIX GUI基础
-
高级UNIX编程(美)洛奇肯德(Rochkind,M.J.) 著,王嘉祯,杨素敏,张斌 等译;王嘉祯译本书第1版自1985年出版以来,历经20年畅销不衰,许多有经验的程序员都求助于它,作者MarcJ.Rochkind被誉为UNIX先行者。当前,UNIX规范中有1100多个函数,要掌握这些函数确实是一件让人望而却步的事。第2版几乎完全重写,当中建议了如何可靠地使用关键函数,深入讲解了UNIX操作系统家族最新的、必用的系统调用函数(多达307个),涉及POSIX、FreeBSD、Solaris、Linux等几大主流系统实现。.全书包括:●基本概念,进程通信,网络(套接字),伪终端,I/O流,高级信号,实时处理和线程。●数千行示例代码,包括一个Web浏览程序,一个击键记录程序/播放器,用管道、重定向写的shell程序,以及相关的后台进程程序。●每章末的练习。一些是简单的程序设计问题,还有一些则可以作为每学期的UNIX程序设计项目。..●配套网站www.basepath.com/aup提供了丰富的学习资源,包括:书中所有示例的源代码、作者的博客、书评、相关文献和图书、标准UNIX函数概要,等等。本书以当前UNIX规范为基础,详细介绍了UNIX系统函数的用法,并用大量的代码和示例程序进行演示,对实际编程具有指导意义。全书共9章,内容包括:基本概念、基本文件I/O、高级文件I/O、终端I/O、进程与线程、基本进程间通信,高级进程间通信、网络技术与套接字,以及信号与定时器等。涉及POSIX、FreeBSD、Solaris、Linux等几大主流系统实现。每章末都给出一了些练习,一些是简单的程序设计问题,还有一些可以作为学期的UNIX程序设计项目。本书适合广大UNIX和C程序员、研究人员、高校相关专业师生学习和参考。...
-
UNIX与Internet安全实践指南(美)加斐凯;王倩莉译有25万的Unix系统管理员和用户认为这本经典的书的早期版本是帮助他们保护外部和内部攻击的不可缺少的参考书。这个全新的版本是一个很全面的更新,它为现在的主机安全和网络问题提供了更多必须的涵盖。在当今微机四伏的世界中,它对系统、网络、web安全有关的读者来说,是一本必备参考书。本书主要针对四种最流行的Unix系统——Solaris、MacOSX、Linux以及FreeBSD,并包含了有关下列内容的一些新信息:PAM(可插入认证模块)、LDAP、SMB/Samba、反窃贼技术、嵌入式系统、无线和便携机问题、法律辩论、入侵检测、cbroot陷阱、电话扫描器以及防火墙、虚拟和加密文件系统、WebNFS、内核安全级别、外包、法律问题、新的Internet协议和加密算法以及其他内容。本书提供了一些有帮助的文字、脚本、检查单、提示以及警告信息,它是Unix系统管理员和任何需要保护他们的系统和数据免受威胁的读者的权威参考。“本书的以前版本已经成为实际Unix系统安全以及更多系统的权威参考,本版本的更新将会受到广泛的欢迎。本书的作者再次证实了,只有理解一些工作机理,才可以更好地使得系统变得安全。如果你使用的是Unix或Unix类似的系统,你一定需要本书。”——WietseVenem,TCPWrappers、SATAN以及Posix的作者“当本书第一版面世的时候,这本著作立即变成经典。实际上,自从本书面世以后,它彻底击败了所有的竞争者,没有一本涵盖同样内容的书能够与它媲美。也许矛盾的是,主机安全不仅仅需要考虑,而且实际上,在如今的网络时代,它显得更加重要。本书的第三版是这类书中最好的一本书,它包含了更好理解安全以及使得系统变得安全的所有基础知识。”——DanFarmer,安全研究人员
-
网络操作系统实用教程石硕主编《网络操作系统实用教程网络操作系统实用教程:Windows 2000 Server、Linux/UNIX及其异构网络的互联》由3部分内容组成,第1部分为Windows 2000 Server,介绍该系统平台下各种服务器及安装、配置和使用;第2部分为Linux,介绍Red Hat Linux 9.0 中文版下各种服务器及其安装、配置;第3部分为常用小型机服务简介与异构网络的互联,介绍UNIX及HP、Sun、IBM小型机及其使用不同操作系统的主机之间的互联和资源共享。《网络操作系统实用教程网络操作系统实用教程:Windows 2000 Server、Linux/UNIX及其异构网络的互联》的特点是内容全面,理论以够用为度,叙述清楚、易懂,注重实验,侧重实用,力图反映出目前大、中、小型网络所用操作系统的实际情况。本书每一章都安排有实验的内容,所有实验均通过实际验证。《网络操作系统实用教程网络操作系统实用教程:Windows 2000 Server、Linux/UNIX及其异构网络的互联》可作为高等职业技术院计算机网络、计算机应用专业的教材,也可作为高等学校计算机专业的教材,还可作为网络爱好者的自学参考书或网络技术培训班的教材。
-
Unix操作系统(美国)彼克等著还在寻找一本可信、简洁的UNIX入门书吗?通过本书,读者能够轻松地掌握这种强大的系统,而不需要再去翻查数百页的手册。不管使用的是Linrx、MacOSX,还是其他Unix变体,读者都可以在本书中通过详实的范例和练习来掌握所有的通用命令。本书涵盖的主题包括:登录和退出系统;使用Window系统;管理Unix文件和目录;新闻组的读取和张贴;网页浏览;文件传输;与朋友和同事聊天;理解管理和过滤器;后台进程;基本网络命令。本书在上一版基础上进行了更新和扩展,包括了互联网和其它网络的使用,这些正在逐渐成为计算机日常使用的最重要部分。看完这本书,读者将学会在其他计算机上运行程序、在计算机之间复制文件、浏览网页、发送和接收电子邮件、新闻记者讨论组中的消息并在计论组中的消息并在讨论级中张贴新消息、与本地计算机上或者世界各地的用户进行交谈。这一切都只需要这本针对Unix入门级读者的图书。
-
操作系统原理UNIX篇习题与实验指导李林英等编本书是《操作系统原理UNIX篇》的配套辅导教材,为主教材配备约250道不同类型的习题及解答;按20~24学时编写了5部分实验;按36学时编写了3个命题的课程设计。本书内容丰富,为学习操作系统课程提供了详尽的指导和示范内容,学生完全可以独立地进行实验。这本习题与实验指导教程可供教师根据不同的情况进行选择组合,以满足高等院校计算机专业本科、专科、成教、高职等不同的教学需求。本书也可供广大计算机爱好者参考。本书附录介绍了配书光盘的内容及使用方法。配书光盘包括原理实验课件、课程设计课件和交叉学科技术讲座电子教案。
-
UNIX操作系统(美)皮克等 著,龚志翔等 译想在开始学习UNIX时得到可靠、清晰的信息吗?本书可以满足你的需要。它有助于你在学习强大的UNIX系统时得到最好的辅导,而不必痛苦地阅读几百页之多的手册。不管你使用的是Linux、Mac OS X,还是UNIX的其他衍生系统,本书提供所有通用命令的简明解释,并配备了相应的例子和练习。 本书包含以下内容: 登录到系统和从系统中注销 使用窗口系统 管理UNIX文件和目录 发送和接收邮件 阅读新闻组和向新闻组发布消息 浏览Web 与朋友和同事交谈 理解管道和过滤器 后台处理 基本网络命令 因为网络已经成为我们日常工作的重要组成部分,所以,相对于以前的版本而言,本版本的内容已经被更新和扩展,包含了使用因特网和其他网络的内容。你将学习如何在其他计算机上运行程序,在计算机之间拷贝文件,浏览Web,发送和接收邮件,阅读讨论组的信息并向讨论组发布信息,以及与本地计算机上或者全球的其他用户进行交互式交谈。本书适合UNIX初学者使用。
-
UNIX操作系统实验教程张红光等 编著本书特色:·实验题目或练习具有较大独立性,并附有学习指导,有利于读者自学。·安排了从系统安装到命令使用,再到复杂的UNIX系统软件开发方法等多种实验。·书中给出了的参考答案都已在LINUXREDHAT9.0中测试和验证过。本书是《UNIX操作系统教程》(第2版)的配套实验教材,全书共分三部分内容,主要针对UNIX系统应用基础知识、UNIX系统核心技术的教学内容给出了实验练习及解答,并给出了《UNIX操作系统教程》中的课后习题的参考答案。本书旨在协助读者加深对UNIX系统的全貌和系统使用特点的理解,通过学习相关的编程技术和设计方法,进而掌握UNIX系统设计技术和软件开发方法。本书设立的实验题目或练习具有较强的独立性和指导性,既可与教材配套使用,也可作为读者学习UNIX操作系统技术的实践指导。
-
UNIX 网络编程(美)史蒂文斯,(美)芬纳,(美)鲁道夫 著,杨继张 译本书第1版和第2版由已故UNIX网络专家W.RichardStevens博士独自编写。本书是3版,由世界著名网络专家BillFenner和AndrewM.Rudoff执笔,根据近几年网络技术的发展,对上一版进行全面修订,增添了IPv6的更新过的信息、SCTP协议和密钥管理套接口的内容,删除了X/Open传输接口的内容。.本书全面深入地介绍了如何使用套接口API进行网络编程。全书从对套接口API的综合讨论开始,论述了基本编程内容后,即转入高级套接口编程的相关主题,包括IPv4与IPv6的互操作性、UNIX域协议、非阻塞I/O、路由套接口、广播、多播、线程、原始套接口、数据链路访问等,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还对流这种设备驱动机制作了深入分析。在附录中给出了IPv6、ICMPv6、虚拟网络等内容以及部分习题答案。..本书内容详尽且具权威性,几乎每章都提供精选的习题,是计算机和网络专业高年级本科生和研究生的首选教材,本书也可作为网络研究和开发人员的自学教材和参考书。...UNIX网络编程卷I套接字联网API(英文版第三版)