现货3本 程序是怎样跑起来的+计算机是怎样跑起来的+网络是怎样连接的 计算机组成原理教程书

现货3本 程序是怎样跑起来的+计算机是怎样跑起来的+网络是怎样连接的 计算机组成原理教程书 pdf epub mobi txt 电子书 下载 2025

图书标签:
  • 计算机原理
  • 程序运行
  • 网络连接
  • 计算机组成原理
  • 入门教程
  • 现货
  • 技术
  • 科普
  • 计算机基础
  • 学习资料
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 经纶风图书专营店
出版社: 人民邮电出版社
ISBN:9787115392275
商品编码:27388254320
包装:平装
套装数量:3

具体描述


书名:网络是怎样连接的

图书定价:49元

图书作者:[ 日] 户根勤

出版社:人民邮电出版社

出版日期:2017/1/1 0:00:00

ISBN号:9787115441249

开本:16开

页数:360

版次:1-1

第1章 浏览器生成消息 1 
——探索浏览器内部 
1.1 生成HTTP请求消息 5 
1.1.1 探索之旅从输入网址开始 5 
1.1.2 浏览器先要解析URL 7 
1.1.3 省略文件名的情况 9 
1.1.4 HTTP的基本思路 10 
1.1.5 生成HTTP请求消息 14 
1.1.6 发送请求后会收到响应 20 
1.2 向DNS服务器查询Web服务器的IP地址 24 
1.2.1 IP地址的基本知识 24 
1.2.2 域名和IP地址并用的理由 28 
1.2.3 Socket库提供查询IP地址的功能 30 
1.2.4 通过解析器向DNS服务器发出查询 31 
1.2.5 解析器的内部原理 32 
1.3 全DNS服务器的大接力 35 
1.3.1 DNS服务器的基本工作 35 
1.3.2 域名的层次结构 38 
1.3.3 寻找相应的DNS服务器并获取IP地址 40 
1.3.4 通过缓存加快DNS服务器的响应 44 
1.4 委托协议栈发送消息 45 
1.4.1 数据收发操作概览 45 
1.4.2 创建套接字阶段 48 
1.4.3 连接阶段:把管道接上去 50 
1.4.4 通信阶段:传递消息 52 
1.4.5 断开阶段:收发数据结束 53 

怪杰Resolver 55 

第2章 用电信号传输TCP/IP数据 57 
——探索协议栈和网卡 
2.1 创建套接字 61 
2.1.1 协议栈的内部结构 61 
2.1.2 套接字的实体就是通信控制信息 63 
2.1.3 调用socket时的操作 66 
2.2 连接服务器 68 
2.2.1 连接是什么意思 68 
2.2.2 负责保存控制信息的头部 70 
2.2.3 连接操作的实际过程 73 
2.3 收发数据 75 
2.3.1 将HTTP请求消息交给协议栈 75 
2.3.2 对较大的数据进行拆分 78 
2.3.3 使用ACK号确认网络包已收到 79 
2.3.4 根据网络包平均往返时间调整ACK号等待时间 83 
2.3.5 使用窗口有效管理ACK号 84 
2.3.6 ACK与窗口的合并 87 
2.3.7 接收HTTP响应消息 89 
2.4 从服务器断开并删除套接字 90 
2.4.1 数据发送完毕后断开连接 90 
2.4.2 删除套接字 92 
2.4.3 数据收发操作小结 93 
2.5 IP与以太网的包收发操作 95 
2.5.1 包的基本知识 95 
2.5.2 包收发操作概览 99 
2.5.3 生成包含接收方IP地址的IP头部 102 
2.5.4 生成以太网用的MAC头部 106 
2.5.5 通过ARP查询目标路由器的MAC地址 108 
2.5.6 以太网的基本知识 111 
2.5.7 将IP包转换成电或光信号发送出去 114 
2.5.8 给网络包再加3个控制数据 116 
2.5.9 向集线器发送网络包 120 
2.5.10 接收返回包 123 
2.5.11 将服务器的响应包从IP传递给TCP 125 
2.6 UDP协议的收发操作 128 
2.6.1 不需要重发的数据用UDP发送更 128 
2.6.2 控制用的短数据 129 
2.6.3 音频和视频数据 130 

插进Socket里的是灯泡还是程序 132 

第3章 从网线到网络设备 135 
——探索集线器、交换机和路由器 
3.1 信号在网线和集线器中传输 139 
3.1.1 每个包都是独立传输的 139 
3.1.2 防止网线中的信号衰减很重要 140 
3.1.3 “双绞”是为了噪声 141 
3.1.4 集线器将信号发往所有线路 146 
3.2 交换机的包转发操作 149 
3.2.1 交换机根据地址表进行转发 149 
3.2.2 MAC地址表的维护 153 
3.2.3 特殊操作 154 
3.2.4 全双工模式可以同时进行发送和接收 155 
3.2.5 自动协商:确定优的传输速率 156 
3.2.6 交换机可同时执行多个转发操作 159 
3.3 路由器的包转发操作 159 
3.3.1 路由器的基本知识 159 
3.3.2 路由表中的信息 162 
3.3.3 路由器的包接收操作 166 
3.3.4 查询路由表确定输出端口 166 
3.3.5 找不到匹配路由时选择默认路由 168 
3.3.6 包的有效期 169 
3.3.7 通过分片功能拆分大网络包 170 
3.3.8 路由器的发送操作和计算机相同 172 
3.3.9 路由器与交换机的关系 173 
3.4 路由器的附加功能 176 
3.4.1 通过地址转换有效利用IP地址 176 
3.4.2 地址转换的基本原理 178 
3.4.3 改写端口号的原因 180 
3.4.4 从互联网访问公司内网 181 
3.4.5 路由器的包过滤功能 182 

集线器和路由器,换个名字身价翻倍? 184 

第4章 通过接入网进入互联网内部 187 
——探索接入网和网络运营商 
4.1 ADSL接入网的结构和工作方式 191 
4.1.1 互联网的基本结构和家庭、公司网络是相同的 191 
4.1.2 连接用户与互联网的接入网 192 
4.1.3 ADSL Modem将包拆分成信元 193 
4.1.4 ADSL将信元“调制”成信号 197 
4.1.5 ADSL通过使用多个波来提高速率 200 
4.1.6 分离器的作用 201 
4.1.7 从用户到电话局 203 
4.1.8 噪声的干扰 204 
4.1.9 通过DSLAM到达BAS 205 
4.2 光纤接入网(FTTH) 206 
4.2.1 光纤的基本知识 206 
4.2.2 单模与多模 208 
4.2.3 通过光纤分路来降低成本 213 
4.3 接入网中使用的PPP和隧道 217 
4.3.1 用户认证和配置下发 217 
4.3.2 在以太网上传输PPP消息 219 
4.3.3 通过隧道将网络包发送给运营商 223 
4.3.4 接入网的整体工作过程 225 
4.3.5 不分配IP地址的无编号端口 228 
4.3.6 互联网接入路由器将私有地址转换成公有地址 228 
4.3.7 除PPPoE之外的其他方式 230 
4.4 网络运营商的内部 233 
4.4.1 POP和NOC 233 
4.4.2 室外通信线路的连接 236 
4.5 跨越运营商的网络包 238 
4.5.1 运营商之间的连接 238 
4.5.2 运营商之间的路由信息交换 239 
4.5.3 与公司网络中自动更新路由表机制的区别 241 
4.5.4 IX的必要性 242 
4.5.5 运营商如何通过IX互相连接 243 

名字叫服务器,其实是路由器 246 

第5章 服务器端的局域网中有什么玄机 249 
5.1 Web服务器的部署地点 253 
5.1.1 在公司里部署Web服务器 253 
5.1.2 将Web服务器部署在数据中心 255 
5.2 防火墙的结构和原理 256 
5.2.1 主流的包过滤方式 256 
5.2.2 如何设置包过滤的规则 256 
5.2.3 通过端口号限定应用程序 260 
5.2.4 通过控制位判断连接方向 260 
5.2.5 从公司内网访问公开区域的规则 262 
5.2.6 从外部无法访问公司内网 262 
5.2.7 通过防火墙 263 
5.2.8 防火墙无法抵御的攻击 264 
5.3 通过将请求平均分配给多台服务器来平衡负载 265 
5.3.1 性能不足时需要负载均衡 265 
5.3.2 使用负载均衡器分配访问 266 
5.4 使用缓存服务器分担负载 270 
5.4.1 如何使用缓存服务器 270 
5.4.2 缓存服务器通过更新时间管理内容 271 
5.4.3 原始的代理——正向代理 276 
5.4.4 正向代理的改良版——反向代理 278 
5.4.5 透明代理 279 
5.5 内容分发服务 280 
5.5.1 利用内容分发服务分担负载 280 
5.5.2 如何找到近的缓存服务器 282 
5.5.3 通过重定向服务器分配访问目标 285 
5.5.4 缓存的更新方法会影响性能 287 

当通信线路变成局域网 291 
第6章 请求到达Web服务器,响应返回浏览器 293 
——短短几秒的“漫长旅程”迎来终点 
6.1 服务器概览 297 
6.1.1 客户端与服务器的区别 297 
6.1.2 服务器程序的结构 297 
6.1.3 服务器端的套接字和端口号 299 
6.2 服务器的接收操作 305 
6.2.1 网卡将接收到的信号转换成数字信息 305 
6.2.2 IP模块的接收操作 308 
6.2.3 TCP模块如何处理连接包 309 
6.2.4 TCP模块如何处理数据包 311 
6.2.5 TCP模块的断开操作 312 
6.3 Web服务器程序解释请求消息并作出响应 313 
6.3.1 将请求的URI转换为实际的文件名 313 
6.3.2 运行CGI程序 316 
6.3.3 Web服务器的访问控制 319 
6.3.4 返回响应消息 323 
6.4 浏览器接收响应消息并显示内容 323 
6.4.1 通过响应的数据类型判断其中的内容 323 
6.4.2 浏览器显示网页内容!访问完成! 326 

Gateway是通往异的入口 328 
附录 330 
后记 334 
致谢 334 
作者简介 335
《网络是怎样连接的》以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页的内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。同时,专设了“网络术语其实很简单”专栏,以对话的形式介绍了一些网络术语的词源,颇为生动有趣。
户根勤(作者)
早先从事软件开发,后进入网络行业。曾供职于日本网络设备厂商(外资企业)和国内网络集成商,从事产品开发和技术咨询等工作。在工作之余还进行演讲、写作等活动。1998年离开公司,开始以演讲、写作以及运营论坛为主业。
周自恒(译者)
知名技术图书译者、全栈程序员、自然科学爱好者。初中时曾获得信息学奥赛天津赛区一等奖,曾任某管理咨询公司战略技术总监。
译有《图解CIO工作指南(第4版)》《大数据的冲击》《代码的未来》《30天自制操作系统》《图解密码技术》《家用游戏机简史》《有趣的二进制》等

商品名称:  计算机是怎样跑起来的
作 者: (日)矢泽久雄
定 价: 39.00
重 量:  
ISBN   号: 9787115392275
出  版  社: 人民邮电出版社
开 本: 32
页 数: 258
字 数: 204000
装 帧: 平装
出版时间/版次: 2015-5-1
印刷时间/印次: 2016-1-3
第1章 计算机的三大原则 1
1.1 计算机的三个根本性基础 3
1.2 输入、运算、输出是硬件的基础 4
1.3 软件是指令和数据的集合 6
1.4 对计算机来说什么都是数字 8
1.5 只要理解了三大原则,即使遇到难懂的新技术,也能轻松应对 9
1.6 为了贴近人类,计算机在不断地进化 10
1.7 稍微预习一下第2章 13
第2章 试着制造一台计算机吧 15
2.1 制作微型计算机所必需的元件 17
2.2 电路图的读法 21
2.3 连接电源、数据和地址总线 23
2.4 连接I/O 26
2.5 连接时钟信号 27
2.6 连接用于区分读写对象是内存还是I/O的引脚 28
2.7 连接剩余的控制引脚 29
2.8 连接外部设备,通过DMA输入程序 34
2.9 连接用于输入输出的外部设备 35
2.10 输入测试程序并进行调试 36
第3章 体验一次手工汇编 39
3.1 从程序员的角度看硬件 41
3.2 机器语言和汇编语言 44
3.3 Z80 CPU的寄存器结构 49
3.4 追踪程序的运行过程 52
3.5 尝试手工汇编 54
3.6 尝试估算程序的执行时间 57
第4章 程序像河水一样流动着 59
4.1 程序的流程分为三种 61
4.2 用流程图表示程序的流程 65
4.3 表示循环程序块的“帽子”和“短裤” 68
4.4 结构化程序设计 72
4.5 画流程图来思考算法 75
4.6 特殊的程序流程——中断处理 77
4.7 特殊的程序流程——事件驱动 78
COLUMN 来自企业培训现场 电阻颜色代码的谐音助记口诀 82
第5章 与算法成为好朋友的七个要点 85
5.1 算法是程序设计的“熟语” 87
5.2 要点1:算法中解决问题的步骤是明确且有限的 88
5.3 要点2:计算机不靠直觉而是机械地解决问题 89
5.4 要点3:了解并应用典型算法 91
5.5 要点4:利用计算机的处理速度 92
5.6 要点5:使用编程技巧提升程序执行速度 95
5.7 要点6:找出数字间的规律 99
5.8 要点7:先在纸上考虑算法 101
第6章 与数据结构成为好朋友的七个要点 103
6.1 要点1:了解内存和变量的关系 105
6.2 要点2:了解作为数据结构基础的数组 108
6.3 要点3:了解数组的应用——作为典型算法的数据结构 109
6.4 要点4:了解并掌握典型数据结构的类型和概念 111
6.5 要点5:了解栈和队列的实现方法 114
6.6 要点6:了解结构体的组成 118
6.7 要点7:了解链表和二叉树的实现方法 120
第7章 成为会使用面向对象编程的程序员吧 125
7.1 面向对象编程 127
7.2 对OOP的多种理解方法 128
7.3 观点1:面向对象编程通过把组件拼装到一起构建程序 130
7.4 观点2:面向对象编程能够提升程序的开发效率和可维护性 132
7.5 观点3:面向对象编程是适用于大型程序的开发方法 134
7.6 观点4:面向对象编程就是在为现实建模 134
7.7 观点5:面向对象编程可以借助UML设计程序 135
7.8 观点6:面向对象编程通过在对象间传递消息驱动程序 137
7.9 观点7:在面向对象编程中使用继承、封装和多态 140
7.10 类和对象的区别 141
7.11 类有三种使用方法 143
7.12 在Java和.NET中有关OOP的知识不能少 145
第8章 一用就会的数据库 147
8.1 数据库是数据的基地 149
8.2 数据文件、DBMS和数据库应用程序 151
8.3 设计数据库 154
8.4 通过拆表和整理数据实现规范化 157
8.5 用主键和外键在表间建立关系 159
8.6 索引能够提升数据的检索速度 162
8.7 设计用户界面 164
8.8 向DBMS发送CRUD操作的SQL语句 165
8.9 使用数据对象向DBMS发送SQL语句 167
8.10 事务控制也可以交给DBMS处理 170
COLUMN 来自企业培训现场 培训新人编程时推荐使用什么编程语言? 172
第9章 通过七个简单的实验理解TCP/IP网络 175
9.1 实验环境 177
9.2 实验1:查看网卡的MAC地址 179
9.3 实验2:查看计算机的IP地址 182
9.4 实验3:了解DHCP服务器的作用 184
9.5 实验4:路由器是数据传输过程中的指路人 186
9.6 实验5:查看路由器的路由过程 188
9.7 实验6:DNS服务器可以把主机名解析成IP地址 190
9.8 实验7:查看IP地址和MAC地址的对应关系 192
9.9 TCP的作用及TCP/IP网络的层级模型 193
第10章 试着加密数据吧 197
10.1 先来明确一下什么是加密 199
10.2 错开字符编码的加密方式 201
10.3 密钥越长,解密越困难 205
10.4 适用于互联网的公开密钥加密技术 208
10.5 数字签名可以证明数据的发送者是谁 211
第11章 XML究竟是什么 215
11.1 XML是标记语言 217
11.2 XML是可扩展的语言 219
11.3 XML是元语言 220
11.4 XML可以为信息赋予意义 224
11.5 XML是通用的数据交换格式 227
11.6 可以为XML标签设定命名空间 230
11.7 可以严格地定义 XML的文档结构 232
11.8 用于解析XML的组件 233
11.9 XML可用于各种各样的领域 235
第12章 SE负责监管计算机系统的构建 239
12.1 SE是自始至终参与系统开发过程的工程师 241
12.2 SE未必担任过程序员 243
12.3 系统开发过程的规范 243
12.4 各个阶段的工作内容及文档 245
12.5 所谓设计,就是拆解 247
12.6 面向对象法简化了系统维护工作 249
12.7 技术能力和沟通能力 250
12.8 IT不等于引进计算机 252
12.9 计算机系统的成功与失败 253
12.10 大幅提升设备利用率的多机备份 255
《计算机是怎样跑起来的》倡导在计算机迅速发展、技术不断革新的,回归到计算机的基础知识上。通过探究计算机的本质,提升工程师对计算机的兴趣,在面对复杂的全新技术时,能够迅速掌握其要点并灵活运用。
《计算机是怎样跑起来的》以图配文,以计算机的三大原则为开端、相继介绍了计算机的结构、手工汇编、程序流程、算法、数据结构、面向对象编程、数据库、TCP/IP 网络、数据加密、XML、计算机系统开发以及SE 的相关知识。本书适合计算机爱好者和相关从业人员阅读。
《计算机是怎样跑起来的》图文并茂,通俗易懂,非常适合计算机爱好者和相关从业人员阅读。

 

由于微型计算机上的CPU是Z80 CPU,所以就要使用适用于Z80 CPU的机器语言。顾名思义,机器语言就是处理器可以直接理解(与生俱来就能理解)的编程语言。机器语言有时也叫作原生代码(Native Code)。 所谓时钟信号的频率,就是由时钟发生器发送给CPU的电信号的频率。表示时钟信号频率的单位是MHz(兆赫兹=100万回/秒)。微型计算机使用的是2.5MHz的时钟信号。时钟信号是在0和1两个数之间反复变换的电信号,就像滴答滴答左右摆动的钟摆一样。通常把发出一次滴答的时间称作一个时钟周期。 在机器语言当中,指令执行时所需要的时钟周期数取决于指令的类型。程序员不但可以通过累加时钟周期数估算程序执行的时间,还可以仅在特定的时间执行点亮LED(发光二极管)等操作。 每个地址都标示着一个内存中的数据存储单元,而这些地址所构成的范围就是内存的地址空间。在我们的微型计算机中,地址空间为0~255,每一个地址中可以存储8比特(1字节)的指令或数据。 连接着的I/O的种类,就是指连接着微型计算机和周边设备的I/O的种类。在微型计算机中,只安装了一个I/O,即上面带有4个8比特寄存器的Z80 PIO。只要用CPU控制I/O的寄存器,就可以设定I/O的功能,与周边设备进行数据的输入输出。 …… 矢泽久雄,YAZAWA股份有限公司董事长兼总经理。GrapeCity信息技术集团顾问。电脑作家之友会会长。
曾在某大型电子公司从事过电脑生产,在Software House做过程序员,现主要从事软件开发工作。工作之余笔耕不辍,从电路到编程语言均有涉及。代表作有《程序是怎样跑起来的》《使用C语言学习程序设计的基础》《征服C++类和继承》等。自称软件艺人。

胡屹,多年从事Web开发工作。热爱编程,关注设计模式,致力于提升软件开发的质量。曾获得SCJP和PHP ZCE证书。

书名:程序是怎样跑起来的

定价:39.00元

作者:[日]矢泽久雄 著,李逢俊 译

出版社:人民邮电出版社

出版日期:2015-04-01

ISBN:9787115385130

页码:259

版次:1

装帧:平装

开本:32开

商品重量:0.3kg

第1章 对程序员来说CPU是什么
1.1 CPU的内部结构解析
1.2 CPU是寄存器的集合体
1.3 决定程序流程的程序计数器
1.4 条件分支和循环机制
1.5 函数的调用机制
1.6 通过地址和索引实现数组
1.7 CPU的处理其实很简单
第2章 数据是用二进制数表示的
2.1 用二进制数表示计算机信息的原因
2.2 什么是二进制数
2.3 移位运算和乘除运算的关系
2.4 便于计算机处理的“补数”
2.5 逻辑右移和算术右移的区别
2.6 掌握逻辑运算的窍门
COLUMN 如果是你,你会怎样介绍?——向小学生讲解CPU和二进制
第3章 计算机进行小数运算时出错的原因
3.1 将0.1累加100次也得不到10
3.2 用二进制数表示小数
3.3 计算机运算出错的原因
3.4 什么是浮点数
3.5 正则表达式和 EXCESS系统
3.6 在实际的程序中进行确认
3.7 如何避免计算机计算出错
3.8 二进制数和十六进制数
第4章 熟练使用有棱有角的内存
4.1 内存的物理机制很简单
4.2 内存的逻辑模型是楼房
4.3 简单的指针
4.4 数组是使用内存的基础
4.5 栈、队列以及环形缓冲区
4.6 链表使元素的追加和删除更容易
4.7 二叉查找树使数据搜索更有效
第5章 内存和磁盘的密关系
5.1 不读入内存就无法运行
5.2 磁盘缓存加快了磁盘访问速度
5.3 虚拟内存把磁盘作为部分内存来使用
5.4 节约内存的编程方法
5.5 磁盘的物理结构
第6章 自尝试压缩数据
6.1 文件以字节为单位保存
6.2 RLE 算法的机制
6.3 RLE 算法的缺点
6.4 通过莫尔斯编码来看哈夫曼算法的基础
6.5 用二叉树实现哈夫曼编码
6.6 哈夫曼算法能够大幅提升压缩比率
6.7 可逆压缩和非可逆压缩
COLUMN 如果是你,你会怎样介绍?——向沉迷游戏的中学生讲解内存和磁盘
第7章 程序是在何种环境中运行的
7.1 运行环境 = 操作系统 + 硬件
7.2 Windows克服了CPU以外的硬件差异
7.3 不同操作系统的 API不同
7.4 FreeBSD Port 帮你轻松使用源代码
7.5 利用虚拟机获得其他操作系统环境
7.6 提供相同运行环境的 Java虚拟机
7.7 BIOS 和引导
第8章 从源文件到可执行文件
8.1 计算机只能运行本地代码
8.2 本地代码的内容
8.3 编译器负责转换源代码
8.4 仅靠编译是无法得到可执行文件的
8.5 启动及库文件
8.6 DLL 文件及导入库
8.7 可执行文件运行时的必要条件
8.8 程序加载时会生成栈和堆
8.9 有点难度的Q&A;
第9章 操作系统和应用的关系
9.1 操作系统功能的历史
9.2 要意识到操作系统的存在
9.3 系统调用和编程语言的移植性
9.4 操作系统和编程语言使硬件抽象化
9.5 Windows操作系统的特征
COLUMN 如果是你,你会怎样介绍?——向超喜欢手机的女高中生讲解操作系统的作用
第10章 通过汇编语言了解程序的实际构成
10.1 汇编语言和本地代码是一一对应的
10.2 通过编译器输出汇编语言的源代码
10.3 不会转换成本地代码的伪指令
10.4 汇编语言语法是“操作码 操作数”
10.5 常用的mov指令
10.6 对栈进行push和pop
10.7 函数调用机制
10.8 函数内部的处理
10.9 始终确保全局变量用的内存空间
10.10 临时确保局部变量用的内存空间
10.11 循环处理的实现方法
10.12 条件分支的实现方法
10.13 了解程序运行方式的必要性
第11章 硬件控制方法
11.1 应用和硬件无关?
11.2 支撑硬件输入输出的 IN指令和OUT指令
11.3 编写测的输入输出程序
11.4 外围设备的中断请求
11.5 用中断来实现实时处理
11.6 DMA 可以实现短时间内传送大量数据
11.7 文字及图片的显示机制
COLUMN 如果是你,你会怎样介绍?——向邻居老奶奶说明显示器和电视机的不同
第12章 让计算机“思考”
12.1 作为“工具”的程序和为了“思考”的程序
12.2 用程序来表示人类的思考方式
12.3 用程序来表示人类的思考习惯
12.4 程序生成随机数的方法
12.5 活用记忆功能以达到更接近人类的判断
12.6 用程序来表示人类的思考方式
COLUMN 如果是你,你会怎样介绍?——向常光临的酒馆老板讲解计算机的思考机制
附录 让我们开始C语言之旅
C语言的特点
变量和函数
数据类型
标准函数库
函数调用
局部变量和全局变量
数组和循环
其他语法结构
《程序是怎样跑起来的》一书从计算机的内部结构开始讲起,以图配文的形式详细讲解了二进制、内存、数据压缩、源文件和可执行文件、操作系统和应用程序的关系、汇编语言、硬件控制方法等内容,目的是让读者了解从用户双击程序图标到程序开始运行之间到底发生了什么。同时专设了“如果是你,你会怎样介绍?”专栏,以小学生、老奶奶为对象讲解程序的运行原理,颇为有趣。本书图文并茂,通俗易懂,非常适合计算机爱好者及相关从业人员阅读。

 



探秘数字世界的基石:从底层逻辑到宏大架构 本书集结了三本关于计算机科学核心知识的经典读物:《程序是怎样跑起来的》、《计算机是怎样跑起来的》以及《网络是怎样连接的》。它们如同三把钥匙,分别开启了通往程序执行的微观世界、计算机硬件的内在机制以及全球信息互联的宏大图景的大门。对于任何渴望深入理解数字时代运作原理、构建扎实计算机科学基础的读者来说,这套书将是您不可或缺的向导。 第一部分:程序是怎样跑起来的——代码的生命周期与执行奥秘 在我们的日常生活中,应用程序如潮水般涌现,我们用它们来工作、娱乐、学习和社交。然而,有多少人真正思考过,当我们点击一个应用程序的图标时,背后到底发生了什么?《程序是怎样跑起来的》这本书将带您深入探究这个问题的本质。 本书的开篇,将引导您认识程序从诞生到执行的完整生命周期。我们将从源代码的编写开始,理解不同编程语言的语法规则和抽象概念。随后,您将了解到编译器和解释器如何将我们可读的源代码转化为机器能够理解的机器码。这个过程并非一蹴而就,其中涉及到词法分析、语法分析、语义分析等一系列复杂而精妙的步骤。我们将详细阐述这些步骤的工作原理,帮助您理解代码是如何被“翻译”成计算机的语言的。 接下来,本书的重点将聚焦于程序执行的核心——CPU。您将了解到,CPU并非一个神秘的黑箱,它拥有指令集,能够执行一系列基本的算术、逻辑和控制操作。我们将剖析CPU的内部结构,包括寄存器、算术逻辑单元(ALU)以及控制单元。您将理解指令是如何被CPU读取、解码并执行的,程序计数器(PC)如何指示下一条指令的地址,以及时钟信号在协调CPU工作中的关键作用。 内存的作用也是本书不可忽视的篇章。我们将解释内存(RAM)是如何存储程序指令和数据的,以及CPU如何通过内存地址来访问这些信息。您将理解堆栈(Stack)和堆(Heap)的概念,了解它们在函数调用、变量存储以及动态内存分配中的不同用途。对于内存管理,本书也将进行深入的探讨,包括内存的分配、释放以及垃圾回收机制,这些都是保证程序高效稳定运行的关键。 更进一步,本书还将触及操作系统在程序执行中的核心作用。您将了解到,操作系统是如何管理CPU时间片,实现多任务并发执行的。进程和线程的概念将被清晰地阐述,帮助您理解它们之间的区别以及操作系统如何调度它们。此外,文件I/O(输入/输出)操作,即程序如何与外部存储设备进行交互,也将被详细讲解,包括文件系统的基本原理和常见的I/O模型。 通过《程序是怎样跑起来的》,您将不再仅仅是应用程序的使用者,而是能够洞察其内在运行机制的理解者。您将能够更准确地诊断程序错误,优化代码性能,甚至为自己开发应用程序打下坚实的基础。 第二部分:计算机是怎样跑起来的——硬件的智慧与协同 如果说《程序是怎样跑起来的》是关于软件的灵魂,那么《计算机是怎样跑起来的》则是在揭示硬件的躯体。在理解了程序如何被执行后,我们自然会好奇,是什么样的硬件组合,才能支撑起如此复杂的程序世界? 本书将带您走进计算机的内部,从最基础的部件开始,逐一拆解其工作原理。首先,我们将深入剖析中央处理器(CPU)的构成,不仅仅是指令执行,更会探讨其微架构,如流水线(Pipeline)技术如何提高执行效率,缓存(Cache)机制如何缩短CPU访问内存的延迟,以及多核(Multi-core)处理器如何实现并行计算。您将了解到,CPU的设计是一门精妙的艺术,平衡着性能、功耗和成本。 主板,作为计算机的“骨架”,也将是本书的重点。我们将介绍主板上各种关键组件的连接方式,包括芯片组(Chipset)在数据传输中的桥梁作用,BIOS/UEFI在计算机启动过程中的角色,以及各种接口(如PCIe、SATA)如何连接外部设备。您将理解,主板的设计决定了计算机的扩展性和性能上限。 内存(RAM)不仅仅是程序的运行空间,其物理层面的构成和工作原理也将被揭示。我们将介绍DRAM(动态随机存取存储器)的基本原理,以及内存控制器如何管理内存的读写操作。对于内存的速度和容量,您将从更底层的角度理解其对计算机整体性能的影响。 存储设备,包括硬盘驱动器(HDD)和固态驱动器(SSD),将是本书另一大看点。我们将阐述HDD的磁头读写原理,以及SSD基于闪存技术的优势。文件系统(如FAT、NTFS、ext4)作为组织和管理存储设备上数据的关键,其设计理念和工作方式也将被详细讲解。您将明白,文件是如何被存储、读取和删除的,以及文件系统的碎片化问题。 显卡(GPU)在现代计算机中的作用日益重要,本书也将对其进行深入的介绍。我们将探讨GPU的并行处理能力,以及它在图形渲染、科学计算等领域的应用。您将了解到,GPU的架构与CPU有显著的区别,其设计目标是为了处理海量数据的并行运算。 此外,本书还会涉及计算机的输入/输出系统。键盘、鼠标、显示器等外设如何通过I/O控制器与CPU进行数据交换,USB、HDMI等接口的标准和工作原理,以及中断(Interrupt)机制在处理外部事件中的关键作用,都将一一呈现。 通过《计算机是怎样跑起来的》,您将能够构建一个完整的计算机硬件知识体系。您将不再对那些闪烁的指示灯和风扇的轰鸣感到陌生,而是能够理解它们背后的逻辑和协同工作。这对于硬件选购、故障排查,乃至未来从事硬件设计和研发都将大有裨益。 第三部分:网络是怎样连接的——信息洪流的汇聚与流动 在现代社会,信息无处不在,我们通过网络与世界紧密相连。从电子邮件到社交媒体,从在线购物到视频会议,网络的触角几乎渗透到了生活的方方面面。《网络是怎样连接的》将带领您穿越数字世界的脉络,揭示信息是如何在全球范围内自由流动的。 本书的起点将是网络通信的基本概念。您将了解什么是网络、什么是节点、什么是链路。IP地址和MAC地址这两个至关重要的标识符将被清晰地定义和区分,您将理解它们在网络通信中的各自 역할。本书还将介绍不同的网络拓扑结构,如星型、总线型、环型等,以及它们各自的优缺点。 TCP/IP协议族,作为互联网的基石,将是本书的核心内容。我们将逐层剖析TCP/IP协议栈的模型,包括应用层、传输层、网络层和链路层。在应用层,您将了解HTTP、FTP、SMTP、DNS等常用协议的工作原理,例如,当您在浏览器中输入一个网址时,DNS是如何解析域名的,HTTP请求又是如何发送和响应的。 传输层将聚焦于TCP和UDP这两个核心协议。您将深入理解TCP的可靠性是如何通过三次握手、四次挥合、确认应答和重传机制来实现的,以及它在保证数据传输的顺序性和完整性方面的作用。同时,您也将了解到UDP的无连接、不可靠但高效的特性,以及它在流媒体、在线游戏等场景下的应用。 网络层将是IP协议的主场。您将理解IP数据包是如何在网络中路由的,路由器在其中扮演的关键角色,以及NAT(网络地址转换)技术如何解决IP地址枯竭的问题。本书还会探讨IPv4和IPv6的区别与演进。 链路层则关注数据如何在局域网内传输。以太网(Ethernet)作为最常见的局域网技术,其帧格式、CSMA/CD协议等都将得到详细的讲解。您还将了解到交换机(Switch)和集线器(Hub)在局域网中的工作原理。 除了核心协议,本书还将触及更广泛的网络主题。Wi-Fi(无线局域网)的原理和安全技术,广域网(WAN)的概念和技术,以及网络安全的基础知识,如防火墙、加密等,都将为您的网络知识体系增添色彩。 通过《网络是怎样连接的》,您将能够深刻理解互联网的运作机制。您将不再被复杂的网络术语所困扰,而是能够清晰地描绘出信息流动的轨迹。这对于理解网络故障、进行网络配置、甚至安全地进行网络活动都至关重要。 总结 这三本书相互补充,相互印证,共同构筑了一个全面而深入的计算机科学知识体系。从微观的程序执行细节,到宏观的全球网络互联,本书将带领您一步步揭开数字世界的神秘面纱。无论您是计算机科学专业的学生,还是渴望深入了解数字时代运作原理的爱好者,亦或是希望在技术领域有所建树的从业者,这套书都将为您提供最坚实的基础和最宝贵的启发。它将帮助您: 理解代码如何转化为机器指令并被高效执行,从而写出更优化的程序。 洞悉计算机硬件的内部结构与工作原理,从而更好地理解和使用计算机。 掌握网络通信的基本规则与协议,从而理解信息在全球范围内是如何传递的。 建立严谨的逻辑思维和系统性的知识框架,为进一步的学习和研究打下坚实基础。 这不仅仅是一套关于技术的书籍,更是一次关于探索和发现的旅程,一次对我们所处数字世界的深度认知。准备好迎接这场智慧的洗礼,踏上探寻数字世界基石的精彩征程吧!

用户评价

评分

这套书给我带来的最大的感受就是“系统性”和“融会贯通”。很多时候,我们学习计算机知识都是碎片化的,比如只知道程序是怎么写的,或者只知道硬件是怎么组装的,但很少有人能将它们有机地联系起来。《程序是怎样跑起来的》打下了扎实的程序执行基础,《计算机是怎样跑起来的》则拓展到了硬件层面,而《网络是怎样连接的》则将我们带入了更加广阔的互联世界。这三本书的衔接非常自然,你会发现,理解了程序在CPU上运行的原理,才能更好地理解硬件设计为何如此,而理解了硬件的通信能力,才能明白网络连接的奥秘。我尤其喜欢作者在不同书籍之间进行的知识呼应,比如在讲网络时可能会提到CPU的处理能力如何影响网络传输效率,在讲硬件时可能会提到网络协议对硬件接口的要求。这种“知识联动”的设计,极大地提升了学习效率,也让我看到了一个更加完整和立体的计算机体系。这套书不仅传授了知识,更重要的是,它教会了我如何去思考,如何去构建自己的知识体系。

评分

《网络是怎样连接的》这本书简直就是为我这种对网络世界充满困惑的人量身定做的。我每天都在使用互联网,但对于背后到底是如何实现的,一直是一头雾水。这本书从最基础的IP地址、端口号讲起,然后一步步深入到TCP/IP协议栈的各个层次。作者用非常生动的比喻,比如“信封”、“邮递员”来解释数据包的封装和传输过程,让我这个完全没有网络基础的人也能轻松理解。我特别喜欢书中关于HTTP协议的讲解,了解了网页是如何通过HTTP请求和响应来加载的,这让我在浏览网页时多了一份“知其所以然”的乐趣。DNS解析、路由选择、NAT技术……这些曾经让我望而却步的专业术语,在这本书里都变得清晰明了。作者还涉及了一些网络安全的基础知识,比如防火墙的作用,这让我对网络世界有了更全面的认识。读完这本书,我感觉自己不再是那个被动接受网络服务的用户,而是能够理解网络世界的规则和运作方式,就像拥有了一张探索数字世界的地图。

评分

我是一个已经工作了几年的程序员,平时主要从事Web开发,虽然工作离不开计算机和网络,但我一直觉得自己对底层的理解不够深入。很多时候遇到一些性能问题或者疑难杂症,都只能凭借经验或者搜索引擎来解决,总觉得少了点“根基”。这套书简直就是给我“打通任督二脉”的神器!《程序是怎样跑起来的》让我清晰地看到了代码从文本到机器指令,再到CPU执行的整个生命周期,特别是关于内存管理和并发的一些讲解,让我对程序运行效率有了更深的理解,也为我优化代码提供了理论指导。《计算机是怎样跑起来的》则让我认识到,CPU、内存、I/O设备之间的配合远比我想象的要复杂和精妙,理解这些硬件的限制和优势,对于我设计系统架构和选择技术栈非常有帮助。《网络是怎样连接的》更是让我彻底告别了“黑盒子”式的网络认知,我明白了TCP如何保证可靠传输,UDP如何实现高效通信,HTTP如何支持Web服务,这些知识对于我排查网络故障、理解分布式系统至关重要。总而言之,这套书让我从一个“会用”的开发者,向一个“懂”的开发者迈进了一大步,为我未来的职业发展奠定了坚实的基础。

评分

这套书简直是计算机领域的“入门宝典”!我一直对计算机底层原理充满好奇,但市面上很多书籍要么过于学术,要么又过于浅显。当我在书店看到这套书时,简直眼前一亮。我迫不及待地翻阅起来,发现它的内容安排得极其合理。《程序是怎样跑起来的》就像一位循循善诱的老师,从最基础的冯·诺依曼体系结构讲起,层层剥离,深入浅出地剖析了程序在内存中如何被加载、执行,CPU又是如何一步步解析指令、进行运算的。作者的讲解逻辑清晰,配图也非常生动形象,即使是初学者,也能很容易理解那些看似复杂的概念,比如寄存器、指令流水线、内存访问等等。我特别喜欢作者在讲解过程中穿插的一些历史故事和现实案例,这让原本枯燥的理论变得活泼有趣,也让我更加深刻地体会到计算机发展的脉络。书中的代码示例也非常实用,能够帮助读者动手实践,加深理解。读完这部分,我感觉自己对“软件”和“硬件”之间的桥梁有了全新的认识,不再是简单地输入指令,等待输出,而是真正理解了“它”是如何思考和运作的。

评分

《计算机是怎样跑起来的》这本书则将视角进一步放大,从更宏观的层面揭示了计算机硬件的组成奥秘。我一直以为计算机就是一堆电路板,但读了这本书我才知道,原来一块小小的CPU背后蕴含着如此精妙的设计,各种逻辑门、运算器、控制器等等,是如何协同工作的。作者详细介绍了CPU内部的结构,包括指令集、中断机制、缓存等重要概念,并用大量图示和流程图来解释它们的工作原理。我尤其对书中关于CPU性能提升的探讨印象深刻,了解了超标量、乱序执行等技术是如何让计算机的速度越来越快的。此外,内存、硬盘、显卡这些我们日常接触到的硬件,在这本书里也被拆解分析,让你清楚地知道它们各自承担的功能以及它们之间是如何配合的。最让我惊喜的是,这本书还涉及了操作系统的一些基本原理,比如进程管理、内存管理等等,这让我明白了硬件和上层应用之间是如何建立联系的。看完这本书,我对“计算机”这个概念不再是模糊的认知,而是有了一个清晰的立体模型,仿佛能看到它内部运转的每一个齿轮和每一个细节。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有