网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 计算机底层的秘密 |
分类 | 教育考试-考试-计算机类 |
作者 | 陆小风 |
出版社 | 电子工业出版社 |
下载 | |
简介 | 内容推荐 本书以图解的方式通俗易懂的讲解计算机系统中各项技术的本质,包括编程语言的本质是什么、操作系统、进程线程协程等的本质是什么、到底什么是内存、什么是堆区栈区、内存分配等是怎么一回事、怎样从晶体管构建出CPU、I/O是如何实现的等等,从根源出发,一步步讲解一项技术到底是怎么来的,同时内容可视化——辅助大量精心设计的插图,几乎做到了平均一页有一图,把对技术的理解门槛降到最低。 目录 第1章 从编程语言到可执行程序,这是怎么一回事 1.1 假如你来发明编程语言 1.1.1 创世纪:CPU是个聪明的笨蛋 1.1.2 汇编语言出现了 1.1.3 底层的细节vs高层的抽象 1.1.4 套路满满:高级编程语言的雏形 1.1.5 《盗梦空间》与递归:代码的本质 1.1.6 让计算机理解递归 1.1.7 优秀的翻译官:编译器 1.1.8 解释型语言的诞生 1.2 编译器是如何工作的 1.2.1 编译器就是一个普通程序,没什么大不了的 1.2.2 提取出每一个符号 1.2.3 token想表达什么含义 1.2.4 语法树是不是合理的 1.2.5 根据语法树生成中间代码 1.2.6 代码生成 1.3 链接器不能说的秘密 1.3.1 链接器是如何工作的 1.3.2 符号决议:供给与需求 1.3.3 静态库、动态库与可执行文件 1.3.4 动态库有哪些优势及劣势 1.3.5 重定位:确定符号运行时地址 1.3.6 虚拟内存与程序内存布局 1.4 为什么抽象在计算机科学中如此重要 1.4.1 编程与抽象 1.4.2 系统设计与抽象 1.5 总结 第2章 程序运行起来了,可我对其一无所知 2.1 从根源上理解操作系统、进程与线程 2.1.1 一切要从CPU说起 2.1.2 从CPU到操作系统 2.1.3 进程很好,但还不够方便 2.1.4 从进程演变到线程 2.1.5 多线程与内存布局 2.1.6 线程的使用场景 2.1.7 线程池是如何工作的 2.1.8 线程池中线程的数量 2.2 线程间到底共享了哪些进程资源 2.2.1 线程私有资源 2.2.2 代码区:任何函数都可放到线程中执行 2.2.3 数据区:任何线程均可访问数据区变量 2.2.4 堆区:指针是关键 2.2.5 栈区:公共的私有数据 2.2.6 动态链接库与文件 2.2.7 线程局部存储:TLS 2.3 线程安全代码到底是怎么编写的 2.3.1 自由与约束 2.3.2 什么是线程安全 2.3.3 线程的私有资源与共享资源 2.3.4 只使用线程私有资源 2.3.5 线程私有资源+函数参数 2.3.6 使用全局变量 2.3.7 线程局部存储 2.3.8 函数返回值 2.3.9 调用非线程安全代码 2.3.10 如何实现线程安全代码 2.4 程序员应如何理解协程 2.4.1 普通的函数 2.4.2 从普通函数到协程 2.4.3 协程的图形化解释 2.4.4 函数只是协程的一种特例 2.4.5 协程的历史 2.4.6 协程是如何实现的 2.5 彻底理解回调函数 2.5.1 一切要从这样的需求说起 2.5.2 为什么需要回调 2.5.3 异步回调 2.5.4 异步回调带来新的编程思维 2.5.5 回调函数的定义 2.5.6 两种回调类型 2.5.7 异步回调的问题:回调地狱 2.6 彻底理解同步与异步 2.6.1 辛苦的程序员 2.6.2 打电话与发邮件 2.6.3 同步调用 2.6.4 异步调用 2.6.5 同步、异步在网络服务器中的应用 2.7 哦!对了,还有阻塞与非阻塞 2.7.1 阻塞与非阻塞 2.7.2 阻塞的核心问题:I/O 2.7.3 非阻塞与异步I/O 2.7.4 一个类比:点比萨 2.7.5 同步与阻塞 2.7.6 异步与非阻塞 2.8 融会贯通:高并发、高性能服务器是如何实现的 2.8.1 多进程 2.8.2 多线程 2.8.3 事件循环与事件驱动 2.8.4 问题1:事件来源与I/O多路复用 2.8.5 问题2:事件循环与多线程 2.8.6 咖啡馆是如何运作的:Reactor模式 2.8.7 事件循环与I/O 2.8.8 异步与回调函数 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。