彷徨的我

原创 2017年06月30日 11:06:27

在找工作面试时,一位面试过我两次的大神面试官(缘分。。),建议我读一读一本书。

《深入理解计算机系统》

上网找了一下相关介绍,借鉴别人对这本书的总结。

第一章 计算机系统漫游 A Tour of Computer System
本章对计算机系统做了一个总体的介绍,用简单明了的语言概括了一些后续章节将要重点展开的概念。
应试 ★★:在笔试中可能会碰到一些整体上的概念题。
修炼 ★:属于计算机最基本的概念。


第二章 信息的表示和处理 Representing and Manipulating Information
本章介绍了信息在计算机中的表示形式,重点讲述整数和浮点数的表示形式。
应试 ★:应试中很少会考到。
修炼 ★★★:有很多人可能写了多年的代码都不知道浮点数是如何用那4(8)个字节存储的,不知道其实表达式(x-y<0)并不能替代(x


第三章 程序的机器级表示 Machine-Level Representation of Program
本章其实就是汇编语言课程的复习。
应试:重要程度依赖于求职目标,如果是和我一样偏算法的工程师,汇编语言是不会考到的。
修炼 ★★★★★:理解汇编语言和寄存器结构是后面很多内容的基础。


第四章 处理器体系结构 Processor Architecture
本章其实就是计算机体系结构课程的内容。主要介绍的内容有处理器结构,各种逻辑门、功能单元,指令集;指令的执行,指令执行的流水线等。
应试 ★: 对于软件相关职位来说,很少会考到这么底层的东西的。
修炼 ★★★: 对于从事软件层面的技术人员来说,不用深入,但是也应该理解,知道是怎么回事。


第五章 优化程序性能 Optimizing Program Performance
本章讲述如何优化程序的执行效率,包括代码的优化,编译器的优化,以及CPU级别的优化。
5.1-5.6节 主要介绍了几种能有效提高代码性能的方法。
应试 ★★★★: 经常会有一些让你寻找程序瑕疵的问题,如果你能看出代码在哪些细节上可以优化,必定能加分不少。
修炼 ★★★★★: 你当然需要知道编译器在什么层面上能自动帮你优化代码,在编译器无法优化时你自己又如何在小细节上进行优化。
5.7节以后 主要介绍了CPU级别的优化,微指令的概念,功能单元上微指令的并行,程序分支的预测等。
应试 ★: 对于软件相关职位来说,基本不会考这些东西的。
修炼 ★★★: 不用深入,但是应该知道并能够理解。


第六章 存储器层次结构 The Memory Hierarchy
本章详细介绍了计算机系统中的存储结构。


6.1 介绍了不同种类的存储设备以及对应的存取数据的方式。
应试和修炼 ★: 很少会考到,了解一下即可。
6.2-6.7 介绍了存储设备的组织形式,着重介绍了Cache及其工作方式,程序是如何和cache打交道的,不同的循环嵌套顺序、遍历方向等对cache命中的影响。
应试 ★★★★: 在面试中,经常会考到跟cache相关的题目;修改循环嵌套顺序以提高cache命中率也是一些程序改错题的高级玩法。
修炼 ★★★★: 存储结构和cache是计算机中很基础也很重要的概念。


第七章 链接 Linking
顾名思义,本章详细讲解了程序的链接过程,主要分为静态链接和动态链接,以及链接过程中使用到的技术如符号解析、重定位等。
应试 ★★:知道一些基本概念即可。
修炼 ★★★★★:一个软件工程师应该懂得自己写出来的程序是怎么成为一个可执行文件的,有的时候,你很可能会被一个链接错误折磨好几天。


第八章 异常控制流 Exceptional Control Flow
顾名思义,本章主要讲解异常控制,不过这里的“异常”并不是Java或者C++里狭义的异常,而是一个广义的“Exceptions”的概念,包括中断(Interrupt),陷阱(Trap),错误(Falut),中止(Abort)等。本章同时引入了进程的概念,介绍了进程级别的 Exception:信号(signal)以及操作系统处理这个异常的手段--上下文切换(context switch)。
应试 ★★: 主要掌握进程的概念即可。
修炼 ★★★: 知道异常控制流是怎么回事,用户程序和系统交互(如系统调用)的原理和方式即可,不用太深入。


第九章 虚拟存储器 Virtual Memory
非常重要的一章,虚拟存储机制是计算机实现多任务的一项重要技术。计算机正是通过时间片技术使得每个进程在执行时仿佛独占CPU,进而又通过虚拟存储机制使得每一个进程在执行时仿佛独占内存。
10.1介绍了虚拟地址和物理地址,CPU进行寻址操作产生的是虚拟地址,通过存储管理单元(memory management unit)转换为实际的物理内存地址。
10.3~10.5讲述了虚拟存储机制的优点:使得内存可以作为硬盘的cache;能够更方便的管理内存;能更好的提供内存保护机制。
10.6 介绍了虚拟地址如何转换为物理地址。
10.7 很精彩的一节,通过Intel Pentium和Linux的实例讲述了整个存储管理机制。记得以前上操作系统课的时候,各种理论、机制学了一大堆,但就是不知道实际的操作系统到底用的哪套方法,而本节内容正是通过实例让你对刚学的理论机制有一个直观的了解。
10.8~10.10 讲述了存储映射(Memory Mapping)、动态内存分配和垃圾回收机制。
10.11 很实用的一节,列举了一些C编程中容易犯的内存引用错误。
应试 ★★★★★: 本章内容是操作系统课程的重点内容,如果考操作系统,几乎肯定会考到;10.11节的知识也能帮你应对一些程序挑错题。
修炼 ★★★★★: 操作系统中重要的基础内容,即使你只使用Java这样的高级编程语言,至少也应该弄懂垃圾回收机制吧。


第十章 系统级I/O System-Level I/O
介绍类Unix系统下的I/O读写,主要介绍系统层面的I/O接口。由于我们日常编程所用的I/O接口都是各种高级语言提供的经过封装的标准接口,故而如果不进行底层开发的话这部分知识不是必须的,我便跳过没读。


第十一章 网络编程 Network Progranmming
本章简单介绍了网络模型,TCP/IP协议,类Unix系统的socket接口等。
应试和修炼 ★★: 因为篇幅限制,本章只做了简单讲解,要掌握网络编程知识还需要参考专门的网络技术书籍。


第十二章 并发编程 Concurrent Programming
本章简单介绍了并发程序设计的内容,主要包括:
1.进程级别的并发,各子进程拥有不同的虚拟地址空间,需要IPC(InterProcess Communication)机制共享数据,切换开销大。
2.I/O复用,事件驱动,单进程运行,共享虚拟地址空间,并发效果不理想。
3.线程,介于上述两种中间,各子线程共享进程的虚拟地址空间,切换开销较小。
另外介绍了并发编程中访问共享变量的信号量机制,并给出了4类容易引起线程不安全的函数。
应试 ★★: 除应聘相关职位外,并发编程考的比较少,不过需要清楚锁机制和信号量机制等。
修炼 ★★★: 多线程程序在现今的开发中还是很常见的,但是本章介绍的比较简单,需要参考另外专门的书籍。


总的来说,我觉得这本书很适合在找工作之前读一读,因为从网上流传的各种笔试和面试题中,我们就能看出各大IT公司在招聘工程师的时候是很看重基础知识的,而对于像我这样上了三年研究生的同学来说,很多知识由于长时间没用早就忘了,所以需再要再复习一下。但是我们可能没有时间按照课程一门一门地去复习,即使一门一门去看了,也不一定能把知识都联系起来,而这本书正好提供了这样一个视角,从程序员的角度把计算机专业最重要的基础知识都串了起来,形成了一个完整的计算机系统的概念。
 

java c c++ .net 程序员的未来 迷茫的时候看一看 别彷徨

这篇文章是为双十一备战 值班通宵时候突然感到迷茫找到的 随着互联网创业潮的兴起,作为互联网核心的工程师们逐渐走入了大众的视野。但不知为何,程序员在许多人中的印象并不是特别好,蓬头垢面、满脸油光、格子...

彷徨前路二

在西藏的奥运会期间,由于有些私事,也没有怎么去旅游。有重要比赛时,就呆着宾馆里面看比赛。由于在离职之前,那个list界面的滑动功能还没有全部实现,当时还有同事打电话过来询问相关的事情。当时觉得很奇怪,...
  • goyoung
  • goyoung
  • 2011年12月07日 21:18
  • 599

让新手不再彷徨:Firefox7(火狐7)浏览器完美配置简明教程

好像我还没有写过类似的文章。这次依然是百忙之中抽空写篇文章。       我一直是IE浏览器的忠实用户,但是最近由于开发ASP.NET程序,不得不使用火狐浏览器。早就耳闻火狐浏览器非常强大,尤其是强...

挣扎与彷徨--我的2014

随着2014年接近尾声,蓦然发现自己离不惑之年已经不远。可自己的内心,并没有不惑,甚至与很惑,直至恐惧。       我自认为自己是一个悲观主义者。想事情比较容易往坏处想,有时候可能就是想多了,但无法...

一个“学术型”学生干部的“苦恼与彷徨”

做为一个学术型学生干部,我遇到了很多的问题,这些问题令我非常的尴尬和难受,下面我先说一下自己遇到的问题。 1.打比赛与搞学术的尴尬,其实做为一个学生实验室的主任,真的很尴尬,老师希望你搞学术,每天...

从唏嘘彷徨中开始自己的博客之旅

为什么没有能够成为自己想要成为的人?小时候自己的理想很清晰,就是笼统的发明家。想要和课本中的爱迪生一样,发明成千上万的东西;又被中国没有诺贝尔科学奖的熏陶,想要在科学上有所建树。却没有想过共和国几十年...

书评之《彷徨之刃》

执法者并不保护市民,他们要保护的是法律,为防止法律受到破坏,普通民众只是法律修正道路上的代价,但是如何去判断法律的是否正确?我们通过媒体杂志上的来的信息只是空谈更多是以吸引群众情绪为眼球或以受害者为牺...

我不要的彷徨

我同所有的人都一样,也许同所有的人也有点不一样。出生在平凡的家庭,爸爸只是一名平常的司机,妈妈只是一个家庭主妇,出生在大山里,渺小的似乎不及一粒沙子的价值,一路走来我已经19周岁,也是在磕磕绊绊的成长...
  • UN3009
  • UN3009
  • 2017年01月01日 15:02
  • 101

[31期] 写给和我曾经一样迷茫、彷徨、徘徊的朋友

一转眼来兄弟连都3个多星期了,在这发现时间过得很快,但是过得很充实。其实一直都想学习程序这块,可由于各种原因,一直都没能如愿,终于今年下定决心,瞒着家人先报了名。不过后来他们知道我已经做好了决定,也就...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:彷徨的我
举报原因:
原因补充:

(最多只允许输入30个字)