深入理解Linux网络编程:从模型到实现

需积分: 10 4 下载量 103 浏览量 更新于2024-07-31 收藏 3.3MB PDF 举报
"该资源是一本关于Linux网络编程的书籍,涵盖了从基础概念到高级应用的广泛内容。书中深入探讨了UNIX/Linux模型、进程控制、进程间通信等核心主题,并详细讲解了网络通信协议和相关的实用例程,如Ping、tftp、远程命令执行等。此外,还涉及到了网络安全、HTTP协议以及对WWW的访问。" **第一章 概论** 这一章介绍了网络的历史,包括OSI模型和Internet体系模型,以及客户/服务器模型的基础知识。同时,也回顾了UNIX的历史,从它的诞生前的故事到第七版的重要发展,以及Linux的发展历程,包括GNU项目的意义、Linux的特色、硬件需求和软件生态系统,以及选择Linux的理由。 **第二章 UNIX/Linux模型** 此章阐述了UNIX/Linux的基本结构,包括输入和输出系统,文件系统,以及进程的相关概念。其中,详细讨论了流和标准I/O库,以及进程的定义和创建过程。 **第三章 进程控制** 本章详细讲解了进程的生命周期,包括建立、运行、终止和同步。介绍了进程的属性,如PID、GID、环境变量、当前目录、有效标识符等,并讨论了守护进程的创建及其重要性。 **第四章 进程间通信** 这一部分深入探讨了进程间通信的各种方法,如信号、管道和有名管道。信号机制包括信号处理、与系统调用的关系、复位和发送。管道和有名管道的创建、使用及注意事项也得到了详细解释。 **后续章节** 后面的章节进一步涵盖了通信协议简介,Berkeley套接字的使用,网络安全性的实践,以及一系列的网络例程实现,如Ping、tftp、远程命令执行等。这些例程涉及到实际的网络操作,如文件传输和远程服务交互。最后,书中还涉及了远程过程调用、远程磁带访问以及HTTP协议在WWW上的应用,这些都是构建分布式系统和网络服务的关键技术。 通过本书,读者不仅可以学习到Linux网络编程的基本原理,还能掌握实现网络服务和通信的实际技能,为成为一名熟练的Linux网络程序员打下坚实基础。
2011-11-08 上传
第一章概论 ..............1 1.1 网络的历史...1 1.2 OSI 模型.......3 1.3 Internet 体系模型.............4 1.4 客户/服务器模型..............5 1.4 UNIX 的历史 ..................7 1.4.1 Unix 诞生前的故事...7 1.4.2 UNIX 的诞生.........8 1.4.3 1979 – UNIX 第七版........... 10 1.4.4 UNIX 仅仅是历史吗?........... 11 1.5 Linux 的发展................. 11 1.5.1 Linux 的发展历史.... 12 1.5.2 什么叫GNU? ..... 12 1.5.3 Linux 的特色....... 13 1.5.4 硬件需求.............. 14 1.5.5 Linux 可用的软件... 14 1.5.6 为什么选择 Linux ? .......... 15 1.6 Linux 和 Unix 的发展... 15 第二章 UNIX/Linux 模型..............17 2.1 UNIX/Linux 基本结构......17 2.2 输入和输出.....................19 2.2.1 UNIX/Linux 文件系统简介....19 2.2.2 流和标准I/O 库.....20 2.3 进程............21 第三章进程控制 ......22 3.1 进程的建立与运行..........22 3.1.1 进程的概念...........22 3.1.2 进程的建立...........22 3.1.3 进程的运行...........24 3.1.4 数据和文件描述符的继承.....29 3.2 进程的控制操作..............31 3.2.1 进程的终止...........31 3.2.2 进程的同步...........32 3.2.3 进程终止的特殊情况............33 3.2.4 进程控制的实例....33 3.3 进程的属性.....................38 3.3.1 进程标识符...........38 3.3.2 进程的组标识符....39 3.3.3 进程环境...............40 3.3.4 进程的当前目录....42 3.3.5 进程的有效标识符....43 3.3.6 进程的资源...........44 3.3.7 进程的优先级........45 3.4 守护进程.....46 3.4.1 简介...46 3.4.2 守护进程的启动...........46 3.4.3 守护进程的错误输出............46 3.4.4 守护进程的建立....48 3.5 本章小结.....49 第四章进程间通信...50 4.1 进程间通信的一些基本概念...........50 4.2 信号............50 4.2.1 信号的处理...........52 4.2.2 信号与系统调用的关系.........54 4.2.3 信号的复位...........55 4.2.4 在进程间发送信号....56 4.2.5 系统调用alarm()和pause()....58 4.2.6 系统调用setjmp()和longjmp()...........62 4.3 管道............63 4.3.1 用C 来建立、使用管道........65 4.3.2 需要注意的问题....72 4.4 有名管道.....72 4.4.1 有名管道的创建....72 4.4.2 有名管道的I/O 使用.............73 4.4.3 未提到的关于有名管道的一些注意...75 4.5 文件和记录锁定..............75 4.5.1 实例程序及其说明....75 4.5.2 锁定中的几个概念....78 4.5.3 System V 的咨询锁定............78 4.5.4 BSD 的咨询式锁定...79 4.5.5 前面两种锁定方式的比较.....81 4.5.6 Linux 的其它上锁技术..........81 4.6 System V IPC ..................84 4.6.1 ipcs 命令...............85 4.6.2 ipcrm 命令.............86 4.7 消息队列(Message Queues).........86 4.7.1 有关的数据结构....86 4.7.2 有关的函数.....