万本电子书0元读

万本电子书0元读

顶部广告

计算机系统解密:从理解计算机到编写 高 效 代码电子书

许多程序员对使程序运行的底层技术并不熟悉。但是,如果希望程序运行良好,而不是充满了难以发现的bug,就要关心代码是如何正常运行的。谁都不希望自己因为代码安全问题而成为新闻的主角。网上有很多技术细节,但都没有整理或收集到一个方便的地方。在本书中,资深工程师Jonathan E. Steinhart深探讨了计算机背后的基础概念,比如计算机硬件,软件在硬件上的行为,以及随着时间的推移,人们如何解决问题等主题。你将学到:- 现实世界是如何转换成计算机能理解的形式的,比如位、逻辑、数字、文本和颜色。- 组成计算机的基本构件,包括逻辑门、加法器、译码器、寄存器和存储器。- 为什么设计与计算机硬件(特别是内存)相匹配的程序可以提高性能。- 如何将程序转换为计算机能够理解的机器语言。- 软件构建块是如何结合起来创造Web浏览器等程序的。- 让程序更高效的巧妙技巧,如循环不变式、强度削弱和递归细分等。- 计算机安全和机器智能的基础知识。- 项目设计、文档编制、日程安排、可移植性、维护和其他实用的编程经验。了解代码在机器上运行时到底发生了什么将帮助你编写更好、更高效的代码。

售       价:¥

纸质售价:¥90.30购买纸书

97人正在读 | 0人评论 6.8

作       者:(美)乔纳森·E·斯坦哈特(Jonathan E· Steinhart)

出  版  社:机械工业出版社

出版时间:2021-08-01

字       数:26.5万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书分为三部分。第1部分探讨了计算机硬件,包括内部语言、组合逻辑、顺序逻辑、组成原理、系统结构、通信口等。第二部分研究了在硬件上运行的软件的行为和表现。第三部分涉及编程的艺术--与他人合作写出好的程序。<br/>【推荐语】<br/>许多程序员对使程序运行的底层技术并不熟悉。但是,如果希望程序运行良好,而不是充满了难以发现的bug,就要关心代码是如何正常运行的。谁都不希望自己因为代码安全问题而成为新闻的主角。网上有很多技术细节,但都没有整理或收集到一个方便的地方。在本书中,资深工程师Jonathan E. Steinhart深探讨了计算机背后的基础概念,比如计算机硬件,软件在硬件上的行为,以及随着时间的推移,人们如何解决问题等主题。你将学到:- 现实世界是如何转换成计算机能理解的形式的,比如位、逻辑、数字、文本和颜色。- 组成计算机的基本构件,包括逻辑门、加法器、译码器、寄存器和存储器。- 为什么设计与计算机硬件(特别是内存)相匹配的程序可以提高性能。- 如何将程序转换为计算机能够理解的机器语言。- 软件构建块是如何结合起来创造Web浏览器等程序的。- 让程序更高效的巧妙技巧,如循环不变式、强度削弱和递归细分等。- 计算机安全和机器智能的基础知识。- 项目设计、文档编制、日程安排、可移植性、维护和其他实用的编程经验。了解代码在机器上运行时到底发生了什么将帮助你编写更好、更高效的代码。<br/>
目录展开

译者序

前言

致谢

作者简介

审校者简介

引言

第1章 计算机的内部语言

1.1 什么是语言

1.2 书面语言

1.3 比特

1.4 逻辑运算

1.5 用比特表示整数

1.6 表示实数

1.7 二进制编码的十进制系统

1.8 处理二进制数的简单方法

1.9 命名位组

1.10 表示文本

1.11 用字符表示数字

1.12 表示颜色

1.13 本章小结

第2章 组合逻辑

2.1 数字计算机的案例

2.2 电学的简单入门

2.3 为位构建硬件

2.4 逻辑门

2.5 构建更复杂的电路

2.6 本章小结

第3章 时序逻辑

3.1 表示时间

3.2 内存组织和寻址

3.3 块设备

3.4 闪存和固态磁盘驱动器

3.5 检错和纠错

3.6 硬件和软件

3.7 本章小结

第4章 计算机剖析

4.1 内存

4.2 输入输出

4.3 中央处理器

4.4 指令集

4.5 最终设计

4.6 RISC和CISC指令集

4.7 图形处理单元

4.8 本章小结

第5章 计算机架构

5.1 基本架构元素

5.2 过程、子程序和函数

5.3 堆栈

5.4 中断

5.5 相对寻址

5.6 内存管理单元

5.7 虚拟内存

5.8 系统和用户空间

5.9 存储器层次和性能

5.10 协处理器

5.11 在内存中排列数据

5.12 运行程序

5.13 内存功耗

5.14 本章小结

第6章 通信故障

6.1 低电平I/O

6.2 网络

6.3 数字世界中的模拟

6.4 人机界面设备

6.5 本章小结

第7章 组织数据

7.1 原始数据类型

7.2 数组

7.3 位图

7.4 字符串

7.5 复合数据类型

7.6 单链表

7.7 动态内存分配

7.8 更有效的内存分配

7.9 垃圾收集

7.10 双链表

7.11 层次数据结构

7.12 块存储

7.13 数据库

7.14 索引

7.15 移动数据

7.16 矢量I/O

7.17 面向对象存在的问题

7.18 排序

7.19 哈希算法

7.20 效率与性能

7.21 本章小结

第8章 语言处理

8.1 汇编语言

8.2 高级语言

8.3 结构化程序设计

8.4 词法分析

8.5 从单词到句子

8.6 每日语言俱乐部

8.7 语法树

8.8 解释器

8.9 编译器

8.10 优化

8.11 小心硬件

8.12 本章小结

第9章 Web浏览器

9.1 标记语言

9.2 统一资源定位符

9.3 HTML文档

9.4 文档对象模型

9.5 串联样式表

9.6 XML和它的朋友们

9.7 JavaScript

9.8 jQuery

9.9 SVG

9.10 HTML5

9.11 JSON

9.12 本章小结

第10章 应用程序和系统程序设计

10.1 猜动物程序版本1:HTML和JavaScript

10.2 猜动物程序版本2:C语言

10.3 本章小结

第11章 捷径和近似法

11.1 表格查找

11.2 整数方法

11.3 递归细分

11.4 更多地回避数学运算

11.5 随机事物

11.6 本章小结

第12章 死锁和竞态条件

12.1 竞态条件是什么

12.2 共享资源

12.3 进程和线程

12.4 锁

12.5 浏览器JavaScript

12.6 异步函数和承诺

12.7 本章小结

第13章 安全性

13.1 安全和隐私概述

13.2 密码学

13.3 软件卫生

13.4 本章小结

第14章 机器智能

14.1 概述

14.2 机器学习

14.3 人工智能

14.4 大数据

14.5 本章小结

第15章 现实世界的考虑

15.1 价值主张

15.2 来龙去脉

15.3 编程环境

15.4 开发方法

15.5 项目设计

15.6 项目开发

15.7 与时俱进

15.8 修复,不要再创造

15.9 本章小结

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部