- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《(Unix环境高级编程——第二版)学习心得》.pdf
apue2e Unix
apue2e Unix
《aappuuee22ee》(UUnniixx环境高级编程——第二版)学习心得
Unix编程 2010-12-14 20:46:14 阅读169 评论0 字号:大中小订阅
总结:这是一本经典的书,对于Unix程序员如此,对于其它程序员也是相当有价值的。
先给两张可以概括本书所讨论内容的两张图片:(第二部分再给出说明)
第一部分:对本书总体结构的解析
本书共分21章。
个人认为核心章节为1~13章,
其中1~2章为本书的入门简介与本书的特色所在,为何称作“特色所在”呢?
因为本书始终都是在遵从那3个标准来进行编写的,即
ISO C
ISO C
IISSOOCC
IEEE POSIX
IEEE POSIX
IIEEEEEEPPOOSSIIXX
The Single UNIX Specification
The Single UNIX Specification
TThheeSSiinngglleeUUNNIIXX SSppeecciiffiiccaattiioonn
这三个标准,每下一行是上一行的超集,对于每一个Unix的c程序员来说都是最重要的编程标准。它决定
了你代码的“高度”与“可用性”。
第二章的一节还提到了“limits”即“限制”这个概念,这对于可移植性的代码很重要。
3~5章,是关于“文件系统”和相关“I/O函数”的讨论,最重要的概念是“文件描述符”。
这里面dup 和dup2 函数很值得”嚼味“,有兴趣可以看看我的另一篇文章”dup2(fd,0)和dup2(0,fd)一样吗?
“
6章,讨论了一些“系统文件”。
7~9章,讨论了“进程”。
个人认为下面这张图可以说是对程序的内存布局的典型情况作了很好图示。(见7.6节)
10章,讨论了“信号”,它是一种软中断。同时,它为“异步通信”的实现提供了可能。
11~12章,是相对于《apue》第一版新增的内容之一。对线程作了讨论。
你可以认为“线程”就是一种特殊的“函数”,只不过它能够共享调用进程的资源,能够独立于调用进程(或其
它线程)并行执行。当然线程也可以同步,也可以异步执行。还有很多其它有趣的线程特性,可以详细地
阅读该书。
13章,讨论了“守护进程”的概念与编写方法。
至此,本书的核心内容基本讨论完毕。
后面14~19章讨论了高级I/O,高级进程间通信,及终端和伪终端的概念。
14章的高级I/O,主要留意I/O的“阻塞”和“非阻塞”两种不同形式及各自的应用场合。要特别注意,所谓的
阻塞或非阻塞是由“文件”的O_NONBLOCK 标志(注意文件描述符起的作用)决定的,而不是I/O 函数决
定的。另外,这个章节中给出了“锁”的概念,这是进程或线程同步的重要技术。
15章讨论了进程间通信的种种方法,个人推荐“管道”和“FIFO”两种,至于“XSI IPC”则不建议使用,理由在
书中也说得很清楚。
16章讨论了“网络套接字”编程。本想自己画个图来说明,没有时间就以后再说吧。
17章讨论了基于15 章中所讨论的“流机制”和16章讨论的“套接字”的两种高级IPC,具体是哪两个,有兴
趣自己去看书吧。前者没有什么可移植性,后者倒是很不错的概念。(后者很好体现了制定“套接字”的初
衷:既可用于网络的通信,也可用于本机进程的通信)
18章讨论了终端I/O。(晕!看过才知道,终端的属性也太多了吧?)
19章讨论了“伪终端”,即“PTY”的概念和使用它的初衷。个人认为书中已经说得很透彻了。
如果你明白了“主设备”和“从设备”的关系,及伪终端运行在从设备上的原理和用处,那么你的知识体系又扩
大很多了。
如果你愿意,也可以参考我的另一篇文章“linux中,tty、pty、pts等终端或伪终端的区别”
20章讨论了如何在Unix中构建一个支持 并发访问的数据库。
21章通过构建一个打印机的CS 模型(客户-服务器)来整合前面大部分章节的知识,做一个应用示例。
第二部分:本书重点内容讨论
1.“标准”的重要性。一句话,没有第一部分所提到的3 个标准,就不存在Unix 编程了。(个人对“标准”的
理解与重视)
2.“内核”是什么?能为我们提供什么功能呢?
再回过头来,看看一开始我给出的两张图片。
第一张是内核在整个系统中所处的位置,我想说的是:内核是对系统所有硬件资源的“管理和组织者”,你
可以说它是“管家”。它负责为上层的软件运行提供所需的硬件资源的分配和时间调度的分配等等。
可以认为内核包含两大功能:一、驱动程序集合;二、调度系统。
第二张是内核所包含的功能模块,也可以说是本书所
您可能关注的文档
- 《(安利索变频门机说明书)-新》.doc
- 《(恒压供水控制器说明书)zyg-v2.5说明书》.pdf
- 《-2016感动中国人物事迹颁奖词(精心编辑带目录)》.doc
- 《.net分布式编程C#篇》.pdf
- 《0-UNIX&Linux操作系统编程-前言-》.ppt
- 《0.99美元Network Solutions便宜域名注册图文教程》.pdf
- 《01.13.02 变电架构设计手册_10904212》.pdf
- 《01[3-液力变矩器------A原理1-4]》.ppt
- 《02 使用vi编辑文件-01》.pdf
- 《02-海港总平面设计规范(JTJ 211-99)局部修订(航道边坡坡度和设计船型尺度部分)》.pdf
- 国开景区管理作业2试题及答案.pdf
- 国开景区管理作业1-4试题及答案.pdf
- 河南开放大学本科《地域文化(本)》作业练习1-3试题及答案.pdf
- 2024年大型游乐设施操作证考试题库及答案很全.pdf
- 2024年门座式起重机司机考试题库及答案.pdf
- 2022-2023学年河北省衡水市武强中学高二(下)期末数学试卷【答案版】.docx
- 2022-2023学年河北省保定市崇德实验中学高二(下)期末数学试卷【答案版】.docx
- 江西省2017年中小学教师招聘考试高中化学试卷及答案.docx
- 2024年河北省八年级中考生物真题(解析版).docx
- 2024年南阳市社会保险中心(唐河县企业养老保险分中心)(参公)一级科员招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
最近下载
- 综合物流实训智慧物流作业方案设计(学生框架).docx VIP
- 基于单片机的智能窗帘系统设计.pptx VIP
- 办公楼保洁工作流程及标准.pdf
- 电大国家开放大学期末考试试题及答案2022年1月:商务交际英语(2).docx VIP
- 院前急救和院内抢救的衔接.ppt
- PLC十字路口红绿灯的课程设计(带梯形图).doc VIP
- 湖南师范大学2021-2022学年第1学期《西方经济学》期末考试试卷(A卷)含参考答案.docx
- 企业职业技能等级认定机构备案申请表(模板).docx
- 2024上海市高中物理学业水平合格考模拟试卷试题(答案详解).pdf
- 党旗模板重温入党誓词党课讲稿党课.pptx VIP
文档评论(0)