编辑推荐
一本将理论与实践有机结合的计算机工作原理实践指南。
内容简介
全书包含41个实践项目,涵盖了从电路设计到代码编写的广泛主题。通过本书,读者将实践构建数字电路、设计一个猜谜游戏、将十进制数字转换为二进制、检查虚拟内存使用情况、运行自己的Web服务器等。
作者简介
作者马修·贾斯蒂斯(Matthew Justice),一位在微软工作了17年的软件工程师,从事过各种工作,包括调试Windows内核、开发自动修复程序,以及领导工程师团队构建诊断工具和服务。
从事过从底层软件开发到高级网络应用程序开发的所有工作。拥有电气工程学位。
章节目录
版权信息
前言
致谢
技术审稿人简介
第1章 计算机的概念
1.1 计算机的定义
1.2 模拟和数字
1.2.1 模拟方法
1.2.2 数字化
1.3 数字系统
1.3.1 十进制数
1.3.2 二进制数
1.4 位和字节
1.5 前缀
1.6 十六进制
1.7 总结
第2章 二进制
2.1 数字化表示数据
2.1.1 数字文本
2.1.2 ASCII
2.1.3 数字颜色和图像
2.1.4 表示颜色和图像的方法
2.1.5 解释二进制数据
2.2 二进制逻辑
2.3 总结
第3章 电路
3.1 电学术语
3.1.1 电荷
3.1.2 电流
3.1.3 电压
3.1.4 电阻
3.1.5 水类比
3.2 欧姆定律
3.3 电路图
3.4 基尔霍夫电压定律
3.5 真实世界中的电路
3.6 发光二极管
3.7 总结
设计1:搭建并测量电路
设计2:搭建简单的LED电路
第4章 数字电路
4.1 什么是数字电路
4.2 用机械开关实现逻辑运算
4.3 神奇的晶体管
4.4 逻辑门
4.5 用逻辑门进行设计
4.6 集成电路
4.7 总结
设计3:用晶体管实现逻辑运算
设计4:用逻辑门构建电路
第5章 数字电路中的算术运算
5.1 二进制加法
5.2 半加器
5.3 全加器
5.4 4位加法器
5.5 有符号数
5.6 无符号数
5.7 总结
设计5:搭建半加器
第6章 存储器和时钟信号
6.1 时序逻辑电路和存储器
6.2 SR锁存器
6.3 在电路中使用SR锁存器
6.4 时钟信号
6.5 JK触发器
6.6 T触发器
6.7 在3位计数器中使用时钟
6.8 总结
设计6:用NOR门搭建SR锁存器
设计7:搭建一个基本的自动贩卖机电路
设计8:在自动贩卖机电路中添加延迟复位功能
设计9:将锁存器用作手动时钟
设计10:测试JK触发器
设计11:搭建3位计数器
第7章 计算机硬件
7.1 计算机硬件概述
7.2 主存
7.3 中央处理器
7.3.1 指令集架构
7.3.2 内部结构
7.3.3 时钟、内核和高速缓存
7.4 其他组件
7.4.1 辅存
7.4.2 输入/输出
7.5 总线通信
7.6 总结
第8章 机器码与汇编语言
8.1 软件术语
8.2 机器指令示例
8.3 用机器码计算阶乘
8.4 总结
设计12:汇编语言中的阶乘运算
设计13:检查机器码
第9章 高级编程
9.1 高级编程概述
9.2 C和Python简介
9.3 注释
9.4 变量
9.4.1 C中的变量
9.4.2 Python中的变量
9.5 栈和堆
9.5.1 栈
9.5.2 堆
9.6 算术运算
9.7 逻辑运算
9.7.1 按位运算符
9.7.2 布尔运算符
9.8 程序流
9.8.1 if语句
9.8.2 循环
9.9 函数
9.9.1 定义函数
9.9.2 调用函数
9.9.3 使用库
9.10 面向对象的编程
9.11 编译或解释
9.12 用C语言计算阶乘
9.13 总结
设计14:查看变量
设计15:改变Python中变量引用的值类型
设计16:栈或堆
设计17:编写猜谜游戏
设计18:使用Python中的银行账户类
设计19:用C语言实现阶乘
第10章 操作系统
10.1 无操作系统编程
10.2 操作系统概述
10.3 操作系统系列
10.4 内核模式和用户模式
10.5 进程
10.6 线程
10.7 虚存
10.8 应用程序编程接口
10.9 用户模式气泡和系统调用
10.10 API和系统调用
10.11 操作系统软件库
10.12 应用程序二进制接口
10.13 设备驱动程序
10.14 文件系统
10.15 服务和守护进程
10.16 安全
10.17 总结
设计20:查看运行中的进程
设计21:创建并观察线程
设计22:查看虚存
设计23:尝试操作系统API
设计24:观察系统调用
设计25:使用glibc
设计26:查看加载的内核模块
设计27:了解存储设备和文件系统
设计28:查看服务
第11章 互联网
11.1 网络术语
11.2 互联网协议套件
11.2.1 链路层
11.2.2 网络层
11.2.3 传输层
11.2.4 应用层
11.3 游历互联网
11.4 互联网基础功能
11.4.1 动态主机配置协议
11.4.2 私有IP地址和网络地址转换
11.4.3 域名系统
11.5 网络即计算
11.6 总结
设计29:查看链路层
设计30:查看网络层
设计31:查看端口使用情况
设计32:跟踪到达互联网上一个主机的路由
设计33:查看IP地址
设计34:查看设备IP是公有的还是私有的
设计35:在DNS中查找信息
第12章 万维网
12.1 万维网概述
12.1.1 分布式网络
12.1.2 可寻址网络
12.1.3 链接网络
12.1.4 网络协议
12.1.5 可搜索的网络
12.2 网络语言
12.2.1 用HTML构造网络
12.2.2 用CSS设计网络样式
12.2.3 用JavaScript编写网络脚本
12.2.4 用JSON和XML构造网络数据
12.3 网络浏览器
12.3.1 渲染页面
12.3.2 用户代理字符串
12.4 网络服务器
12.5 总结
设计36:查看HTTP流量
设计37:运行自己的网络服务器
设计38:从网络服务器返回HTML
设计39:为网站添加CSS
设计40:为网站添加JavaScript脚本
第13章 现代计算机
13.1 app
13.1.1 本机app
13.1.2 网络app
13.2 虚拟化和仿真
13.2.1 虚拟化
13.2.2 仿真
13.3 云计算
13.3.1 远程计算的历史
13.3.2 云计算的分类
13.4 深网和暗网
13.5 比特币
13.5.1 比特币基础
13.5.2 比特币钱包
13.5.3 比特币交易
13.5.4 比特币挖掘
13.6 虚拟现实和增强现实
13.7 物联网
13.8 总结
设计41:用Python控制自动贩卖机电路
附录
附录A 参考答案
附录B 相关资源
计算机是如何工作的:人人都能懂的计算机软硬件工作原理是2023年由机械工业出版社出版,作者[美] 马修·贾斯蒂斯。
得书感谢您对《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。