理解Unix进程 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
理解Unix进程电子书下载地址
内容简介:
《理解Unix进程》从Unix编程的基础概念着手,采用循序渐进的方法,详细介绍了Unix进程的内部工作原理。《理解Unix进程》提供的许多简单而强大的技术,能够帮助Web开发人员深入了解Unix系统的并发性、守护进程、生成进程(spawningprocess)与信号等。同时,读者也可以使用这些技术和方法编写并调试自己的服务器。此外,《理解Unix进程》附录部分也涉及了一些流行的Ruby项目,让读者进一步了解如何巧妙运用Unix进程。 《理解Unix进程》适合Unix程序员、Web开发人员阅读。
书籍目录:
第1章 引言
第2章 基础知识
2.1 干嘛要在意?
2.2 驾驭神力!
2.3 概述
2.4 系统调用
2.5 命名法,wtf(2)
2.6 进程:Unix之本
第3章 进程皆有标识
3.1 交叉参考
3.2 实践领域
3.3 系统调用
第4章 进程皆有父
4.1 交叉参考
4.2 实践领域
4.3 系统调用
第5章 进程皆有文件描述符
5.1 万物皆为文件
5.2 描述符代表资源
5.3 标准流
5.4 实践领域
5.5 系统调用
第6章 进程皆有资源限制
6.1 找出限制
6.2 软限制与硬限制
6.3 提高软限制
6.4 超出限制
6.5 其他资源
6.6 实践领域
6.7 系统调用
第7章 进程皆有环境
7.1 这是个散列吗?
7.2 实践领域
7.3 系统调用
第8章 进程皆有参数
8.1 这是个数组!
8.2 实践领域
第9章 进程皆有名
9.1 进程命名
9.2 实践领域
第10章 进程皆有退出码
第11章 进程皆可衍生
11.1 Luke,使用fork(2)
11.2 多核编程?
11.3 使用block
11.4 实践领域
11.5 系统调用
第12章 孤儿进程
12.1 失控
12.2 弃子
12.3 管理孤儿
第13章 友好的进程
13.1 对CoW好点
13.2 MRI/RBX用户
第14章 进程可待
14.1 看顾(Babysitting)
14.2 Process.wait一家子
14.3 使用Process.wait2进行通信
14.4 等待特定的子进程
14.5 竞争条件
14.6 实践领域
14.7 系统调用
第15章 僵尸进程
15.1 等待终有果
15.2 僵尸长什么样子?
15.3 实践领域
15.4 系统调用
第16章 进程皆可获得信号
16.1 捕获SIGCHLD
16.2 SIGCHLD与并发
16.3 信号入门
16.4 信号来自何方?
16.5 信号一览
16.6 重定义信号
16.7 忽略信号
16.8 信号处理程序是全局性的
16.9 恰当地重定义信号处理程序
16.10 何时接收不到信号?
16.11 实践领域
16.12 系统调用
第17章 进程皆可互通
17.1 我们的第一个管道
17.2 管道是单向的
17.3 共享管道
17.4 流与消息
17.5 远程IPC?
17.6 实践领域
17.7 系统调用
第18章 守护进程
18.1 首个进程
18.2 创建第一个守护进程
18.3 深入Rack
18.4 逐步将进程变成守护进程
18.5 进程组和会话组
18.6 实践领域
18.7 系统调用
第19章 生成终端进程
19.1 fork + exec
19.2 exec的参数
19.3 实践领域
19.4 系统调用
第20章 尾声
20.1 抽象
20.2 通信
20.3 再会,而非永别
附录A Resque如何管理进程
附录B Unicorn如何收割工作进程
附录C preforking服务器
附录D Spyglass
索引
作者介绍:
Jesse Storimer高级软件工程师与自出版作家,服务于美国电子商务方案提供商Shopify。痴迷于编程,编程之余喜欢阅读、园艺以及徒步旅行等户外运动。除了经常写技术博客文章外,他还著有Workingwith TCP Sockets, Working with Ruby Threads两本颇有影响力的电子书。
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
"第2章
基础知识
本章介绍了全书涉及的重要概念的相关知识。在深入主要章节之前,建议你先阅读该部分内容。
2.1 干嘛要在意?
自1970年起,Unix编程模型就已经以某种形式存在了。当时,Unix在贝尔实验室闪亮问世,随之一起诞生的还有C程序设计语言,或曰C程序设计框架。在随后的数十载中,作为一款可靠、安全和稳定的操作系统,Unix经受住了时间的考验。
Unix编程理念及技术并非一时之风,亦不是新近流行的编程语言。它们已超越了编程语言。无论你是使用C、C++、Ruby、Python、JavaScript、Haskell,还是自己钟意的其他语言,这些技术都有用武之地。
Unix编程模型已经存在了数十载之久,且大部分都没有改变。过去40年里,聪慧的程序员们一直在Unix编程模型中借助多种编程语言来解决各类难题,在接下来的40年里,他们仍将一如既往。
2.2 驾驭神力!
现在我要提醒你,本书所讲述的概念和技术将赐予你强大的力量。有了它,你能够编写出新的软件,理解现有的复杂软件,甚至能将你的职业生涯提升到新的高度。
请记住:能力越大,责任也越大。在阅读的过程中,我会详细告诉你如何获取这种能力,并避开各种陷阱。
2.3 概述
本书并非参考手册,它更像是一份攻略。因为每一章内容都是基于之前的章节,所以为了最有效地利用本书,你应该按章节顺序逐一读下去。读完全书后,你可以利用章节名来查找有关信息,温故而知新。
书中包含了大量的代码示例。我强烈建议你在Ruby解释器中逐一运行这些代码。自己动手调试有助于更深入地理解概念。
一旦读完全书并把玩过那些示例,你肯定想要接触一些更具深度的实际项目。那时,你可以看看书中提到的Spyglass项目。
Spyglass是一个专门为本书编写的Web服务器,旨在传授Unix编程概念。它采用了你在这里学习到的各种概念,并展示了如何将其应用于真实的项目之中。有关详细介绍请参阅本书最后一章。
2.4 系统调用
要理解系统调用,首先需要了解Unix系统的组成,具体来说就是用户空间(userland)和内核。
Unix系统内核位于计算机硬件之上,它是与硬件交互的中介。这些交互包括通过文件系统进行读/写、在网络上发送数据、分配内存,以及通过扬声器播放音频。鉴于它这些强大的能力,程序不可以直接访问内核,所有的通信都是通过系统调用来完成的。
系统调用为内核和用户空间搭建了桥梁。它规定了程序与计算机硬件之间所允许发生的一切交互。
所有的程序都运行在用户空间。就算是不借助系统调用,你的用户空间程序仍旧能做不少事情:数学运算、字符串操作,以及使用逻辑语句控制程序流程。不过我敢说,如果你打算让程序做些有意思的事情,那就还是得通过系统调用来使用内核。
如果你是一名C程序员,那么这些内容你可能已经驾轻就熟了。系统调用可谓是C编程的核心。
我估计你像我一样毫无C编程经验。你学习的是高级语言编程。在你学会将数据写入文件系统的时候,对于使用了哪些系统调用却并不
知情。
总地来说,系统调用允许你的用户空间程序通过内核间接地与计算机硬件进行交互。在本书接下来的章节中,我们会考查一些常见的系统调用。
2.5 命名法,wtf(2)
学习Unix编程的障碍之一就是不知道从哪里查找合适的文档。想不想听点出人意料的回答?其实所有东西都包含在Unix手册页(manpages)中了。如果你在用Unix系统,那么这些东西都已经在你的计算机里了。
要是你以前压根就没有用过手册页,那么你可以在终端中输入命令man man进行查看。
不错吧?嗯,还算凑合吧。系统调用API的手册页在以下两种情况中是很不错的资源。
(1) 你是一名想知道如何使用特定系统调用的C程序员。
(2) 你想搞明白某个系统调用的用途。
这里假设我们都不是C程序员,所以第一种情况就没什么用了,但是第二种情况却是相当受用。
你在整本书中都会看到类似于select(2)这样的引用。它告诉你可以从哪里找到特定系统调用的手册页。你可能有所不知,Unix手册页包含了很多节(section)。
以下是FreeBSD和Linux系统手册页中最常用的节:
? 节1:一般命令
? 节2:系统调用
? 节3:C库函数
? 节4:特殊文件
因此,节1专门用于一般命令,也就是shell命令。如果我希望你参考find命令的手册页,我就会这样写:find(1)。这就是说在手册页的节1你可以找到find的使用说明。
如果我希望你参考getpid系统调用的手册页,我就会这样写:getpid(2)。这就是说在手册页的节2你可以找到getpid的使用说明。
为什么手册页还要分这么多节?因为一个命令可能在不止一节中出现,也就是说它既可以作为shell命令,也可以作为系统调用。
例如stat(1)和stat(2)。
要查看手册页的其他节,你可以像这样在命令行上输入:
$ man 2 getpid
$ man 3 malloc
$ man find # 等同于man 1 find
这种记法并非本书所独创,而是大家参照手册页时通用的一套惯例 。所以你最好还是从现在开始学习并适应它。
2.6 进程:Unix之本
进程乃Unix系统的基石。为什么要这么说?因为所有的代码都是在进程中执行的。
例如,当你从命令行运行ruby时,你的代码就生成了一个新的进程。代码执行完毕,进程也随之退出。
$ ruby -e ""p Time.now""
在你系统中运行的所有代码皆是如此。你知不知道一直运行的MySQL服务器?它运行在自己的进程中。你正在使用的电子阅读器软件呢?它也是运行在自己的进程中。那些声嘶力竭通知你收到了新消息的电子邮件客户端呢?别搭理它,接着看书。不过它同样也是运行在自己的进程中。
当你认识到一个进程可以生成并管理其他多个进程的时候,事情就变得有意思了。我们会在后面的部分讨论这些内容。
在线阅读/听书/购买/PDF下载地址:
原文赏析:
暂无原文赏析,正在全力查找中!
其它内容:
编辑推荐
**一本针对Web开发人员的Unix编程书籍,让你无需借助C语言即可玩转Unix进程,教给你如何自主编写并调试高效服务器。教你游刃有余的利用系统编程技术,许多WEB开发人员或者对UNIX系统的基本原理知之甚少,理解unix进程可弥补这方面的缺憾,帮你从底层了解unix系统的进程机制。
书摘插图
媒体评论
“这本书让我意识到Unix编程是多么简单而强大,而我对Unix编程的了解又是何其之少!在下一个版本的Thin的设计中,这本书无疑会对我有很大的启发。”
——Marc-André Cournoyer,创建了Thin Web服务器
“《理解Unix进程》这本书填补了当今许多开发人员的空白。掌握Unix的基本原理无需编写C代码。本书就说明了这一点。”
——David Bryant Copeland,著有Build Awesome Command-Line Applicationsin Ruby
前言
从孩提时起,只要一有机会我就会坐在计算机前。倒不是为了写程序,而是为这台神奇的机器所能做的事而着迷。于是我成为了一名使用ICQ、Winamp和Napster的计算机用户。
长大后,我将更多的时间耗在了计算机的电子游戏上。起初是第一人称射击游戏,后来大部分时间都在玩即时战略游戏。再后来,我发现这些游戏竟然可以在线玩了!我年轻的时候就是个“computerguy”(计算机小子):知道如何使用计算机,但对于计算机的工作原理却一无所知。
之所以告诉你我的经历,是因为想让你知道我并不是什么神童。我没有在七岁的时候自学Basic语言编程,而当我开始学编程时,也没能反客为主去指点老师并纠正他的错误。
直到大二那年,我才真正爱上了编程这种活动。也许有人会说我这是大器晚成,可是我觉得自己其实比你想象的还要普通。
尽管出于编程本身而热爱编程,但我对于计算机工作原理的理解仍然不够深入。如果那时候你告诉我说我所有的代码都在一个进程中运行,我肯定会将信将疑地对你另眼相看了。
幸运的是,我在附近一家互联网初创公司谋到一份不错的差事。这让我有机会在真正的生产系统上从事一些编程工作,给我带来了全新的变化,让我有理由去学习事物究竟是如何运作的。
在这个高流量的生产系统上工作时,我碰到的问题越来越复杂。随着流量和资源需求的增长,我们不得不梳理软件的方方面面来调试和修复未解决的问题。单靠浏览应用程序的代码并不能让我们洞悉程序运作的全景。
我们的应用程序面对的东西可是不少:防火墙、负载均衡器、反向代理,还有http缓存。除了应用程序之外也还有很多层:作业队列、数据库服务器,以及统计收集器。每一个应用的组成部分都不尽相同,这本书也不会去教你所有的这些细节。
本书将讲解Unix进程方面所有你需要知道的知识,保证会增进你对应用程序任何一部分组件的理解。
托程序调试的福,我不得不深入研究了一些采用Unix编程概念的Ruby项目,例如Resque和Unicorn。正是这两个项目引导我开始用Ruby进行Unix编程。
对工作原理有了深入的了解之后,我不仅可以更快地理解并诊断出现的问题,还能够对那些单靠查看代码依然让人摸不着头绪的难题进行排查。
凭借在这些项目中学到的技术,我甚至想到了一些更快、更有效的新方法来解决手头上的问题。好了,关于我的事儿已经说得够多了,让我们开始漫游Unix仙境吧。
"
网站评分
书籍多样性:8分
书籍信息完全性:8分
网站更新速度:6分
使用便利性:6分
书籍清晰度:5分
书籍格式兼容性:9分
是否包含广告:6分
加载速度:8分
安全性:3分
稳定性:3分
搜索功能:5分
下载便捷性:6分
下载点评
- 五星好评(57+)
- 差评少(566+)
- txt(517+)
- 方便(523+)
- 体验满分(180+)
- 速度慢(542+)
- 内涵好书(152+)
- azw3(208+)
- 超值(389+)
下载评价
- 网友 戈***玉: ( 2024-12-30 17:21:46 )
特别棒
- 网友 石***烟: ( 2025-01-14 06:30:36 )
还可以吧,毕竟也是要成本的,付费应该的,更何况下载速度还挺快的
- 网友 曾***玉: ( 2025-01-14 21:32:17 )
直接选择epub/azw3/mobi就可以了,然后导入微信读书,体验百分百!!!
- 网友 林***艳: ( 2024-12-25 13:57:02 )
很好,能找到很多平常找不到的书。
- 网友 后***之: ( 2024-12-27 01:24:48 )
强烈推荐!无论下载速度还是书籍内容都没话说 真的很良心!
- 网友 权***波: ( 2025-01-17 06:52:43 )
收费就是好,还可以多种搜索,实在不行直接留言,24小时没发到你邮箱自动退款的!
- 网友 康***溪: ( 2024-12-27 14:25:43 )
强烈推荐!!!
- 网友 薛***玉: ( 2024-12-25 01:17:37 )
就是我想要的!!!
- 网友 曹***雯: ( 2024-12-31 11:19:00 )
为什么许多书都找不到?
- 网友 谭***然: ( 2024-12-21 10:40:23 )
如果不要钱就好了
- 网友 宓***莉: ( 2025-01-10 03:10:51 )
不仅速度快,而且内容无盗版痕迹。
- 网友 蓬***之: ( 2025-01-09 11:08:04 )
好棒good
- 网友 邱***洋: ( 2025-01-03 23:33:03 )
不错,支持的格式很多
- 网友 家***丝: ( 2025-01-03 08:31:12 )
好6666666
- 网友 仰***兰: ( 2025-01-16 08:56:22 )
喜欢!很棒!!超级推荐!
- 银行行长 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 抄表核算收费1000问梁尚荣中国电力出版社【现货实拍 可开发票 下单速发 正版图书】 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 把话说到客户心里去 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 半导体物理学上册 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 新西兰 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 绘本版西顿动物记(全6册) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 孟子硬笔字帖 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 一个历史学家的宗教观(汤因比著作集) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 9787566705112 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 市场给不了的自由(译文纪实系列·历史) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
书籍真实打分
故事情节:4分
人物塑造:7分
主题深度:8分
文字风格:4分
语言运用:5分
文笔流畅:4分
思想传递:4分
知识深度:9分
知识广度:9分
实用性:6分
章节划分:4分
结构布局:5分
新颖与独特:7分
情感共鸣:9分
引人入胜:3分
现实相关:9分
沉浸感:7分
事实准确性:6分
文化贡献:7分