[系统]《深入理解计算机系统》《计算机程序的构造和解释》
系统
《深入理解计算机系统》CSAPP
Computer Systems: A Programmer's Perspective **Randal E·Bryant / David O'Hallaron **
《计算机程序的构造与解释》SICP
Structure and Interpretation of Computer Programs **Harold Abelson / Gerald Jay Sussman / Julie Sussman **
特点
CSAPP
其他的系统类书籍都是从构建者的角度来写的,讲述如何实现硬件或系统软件,包括操作系统、编译器和网络接口。而本书是从程序员的角度来写的,讲述应用程序员如何能够利用系统知识来编写出更好的程序。当然,学习一个计算机系统应该做些什么,是学习如何构建一个计算机系统的很好的出发点,所以,对于希望继续学习系统软硬件实现的人来说,本书也是一本很有价值的介绍性读物。大多数系统书籍还倾向于重点关注系统的某一个方面,比如:硬件架构、操作系统、编译器或者网络。本书则以程序员的视角统一覆盖了上述所有方面的内容。 第1章:计算机系统漫游; 第2章:信息的表示和处理; 第3章:程序的机器级表示; 第4章:处理器体系结构; 第5章:优化程序性能; 第6章:存储器层次结构; 第7章:链接; 第8章:异常控制流; 第9章:虚拟内存; 第10章:系统级I/O; 第11章:网络编程; 第12章:并发编程;-- 摘自《深入理解计算机系统》前言部分
-
很有意思,在卓越用**《计算机组成原理》、《操作系统》、《计算机体系结构》这三门课去搜书本,都会出现《深入理解计算机系统》这本书,是否可以理解成《深入理解计算机系统》 = 《计算机组成原理》+《操作系统》+《计算机体系结构》**?
-
有好人分享自己的笔记
【不周山之读薄 CSAPP】零 系列概览 http://wdxtub.com/2016/04/16/thin-csapp-0/ 这是一本非常经典的教材,也是一本大部头,第三版一千多页,并不是所有人都能坚持看完,希望以『读薄』的形式,让更多人能领略到经典的风采..... "我在 CMU 的时候在书本作者的亲自教授下修完了以这本书为教材的『镇校神课』并完成了所有实验,一是总结,二是分享,在交流的过程中加深对知识的理解。”
- 可否这样理解,如果我期望自己实现一个操作系统内核或者编程语言编译器,就可以用CSAPP这本书打底?
SICP
向热爱计算机科学的你推荐SICP http://www.nowamagic.net/librarys/veda/detail/1905
为什么我们要学习这本书?因为这本书告诉我们如何抽象。为什么我们要学习如何抽象?因为抽象是我们控制软件复杂性的重要手段。软件是人类有史以来最复杂的系统。
构造程序的方法也是抽象。从最简单的元素开始,基本元素(自演算表达式,包括数字,字符串和布尔值),然后定义基本过程(基本运算符,四则运算和布尔运算),进一步,自定义标识符(如同代数),再自定义过程(函数),再将过程作为值参与运算(高阶过程)。一步步的抽象,形成了整个程序的结构。而我们编程,无非就是从现实世界抽象出模型,再将模型不断的提炼抽象,属性、方法、类、继承、层次、框架。
第一章讨论程序设计的最基本原则:原语(primitive expressions)、组合(means of composition)和抽象(means of abstraction),以及如何利用这些基本原则化解复杂度。重点是过程抽象和高阶过程(high-order procedures)。 第二章讨论数据抽象,即利用基本数据构造复杂结构。 第三章主要讨论了状态(local state)和环境(environment model),可变数据结构(mutable data),以及状态和时间的交互(concurrency和laziness)。 第四章用Scheme实现了一个简单的Scheme解释器。 第五章介绍将Scheme编译为现实中的寄存器机器模型(register machine)。
向热爱计算机科学的你推荐SICP http://www.nowamagic.net/librarys/veda/detail/1905
- Scheme? Functional programming language ??函数式编程语言???函数式编程????lambda????递归?????抽象??????
??
- 构造程序?构造复杂系统??SICP???
- 利用系统知识编写程序??CSAPP???
- 可是计算机系统本身不就一个很”大”的程序吗???
转载于:https://my.oschina.net/uza/blog/887960