一、计算机系统漫游 本章通过运行一个hello程序为例,概述了计算机操作系统的运行过程,讲述了组成计算机系统的硬件和系统软件,讲到了处理器处理一个程序的过程。 这一章中出现了一个我首次听说到的词汇Amdahl定律,该定律的主要思想是,当我们对系统的某个部分加速时,其对整体性能的影响取决于该部分的重要 ...
分类:
其他好文 时间:
2017-11-19 16:05:41
阅读次数:
104
第一章 计算机漫游 P13:用户栈和运行时堆有什么区别?数据结构中经常说堆栈,这里的堆和栈一样吗?和操作系统的堆、栈有什么区别? 参考: "堆和栈的区别(内存和数据结构)" 操作系统: 栈:由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。操作方式类似于数据结构中的栈。 堆:一般由程序员分 ...
分类:
其他好文 时间:
2017-11-19 15:41:17
阅读次数:
118
你能获得的对程序最大的加速比就是当你第一次让它工作起来的时候。 在讲解如何优化程序性能之前,我们首先要明确写程序最主要的目标就是使它在所有可能的情况下都能正常工作,一个运行的很快的程序但是却是错误的结果是没有任何用处的,所以我们在进行程序性能优化之前,首先要保证程序能正常运行,且结果是我们需要的。 ...
分类:
其他好文 时间:
2017-11-06 22:58:41
阅读次数:
220
三大基础 1计算机原理,参考书:《程序是怎样跑起来的》、《深入理解计算机系统》 2操作系统原理,参考书:《计算机的心智-操作系统之哲学原理》 3编译原理,参考书:《编译原理(龙书)》 二个协议 1TCP/IP,参考书:《图解TCP/IP协议》 2HTTP,参考书:《图解HTTP协议》 一种结构 1数 ...
分类:
其他好文 时间:
2017-10-28 20:30:45
阅读次数:
152
CSAPP buffer lab为深入理解计算机系统(原书第二版)的配套的缓冲区溢出实验,该实验要求利用缓冲区溢出的原理解决5个难度递增的问题,分别为smoke(level 0)、fizz(level 1)、bang(level 2)、boom(level 3)、kaboom(level 4).在实 ...
分类:
移动开发 时间:
2017-10-14 21:12:18
阅读次数:
330
《算法导论》Thomas H.Cormen、 Charles E.Leiserson 《深入理解计算机系统》Randal E. Bryant 《人月神话》Frederick P.Brooks 《编程珠玑》Jon Bentley 《高性能MySQL》施瓦茨 (Baron Schwartz)、 扎伊采夫 ...
分类:
其他好文 时间:
2017-10-11 14:13:31
阅读次数:
124
上一篇博客我们讲解了汇编语言中过程(函数)的调用实现。理解数据如何在调用者和被调用者之间传递,以及在被调用者当中局部变量内存的分配以及释放是最重要的。那么这篇博客我们将讲解数组的分配和访问。 1、数组的基本原则 我们知道数组是某种基本数据类型数据的集合,对于数据类型 T 和整型常数 N,数组的声明如 ...
分类:
编程语言 时间:
2017-10-08 11:21:24
阅读次数:
163
前面我们所讲的所有指令,代码执行顺序都是一条接着一条顺序的执行。但是实际上在编码过程中,会有某些结构,比如条件语句(if-else),循环语句(for,do-while)和分支语句(switch)等等,都要求有条件的执行,根据数据测试的结果来决定操作执行的顺序。 在机器代码中,提供两种基本的低级机制 ...
分类:
其他好文 时间:
2017-10-04 18:30:14
阅读次数:
221
2017-2018-1 20155208 《信息安全系统设计基础》第四周学习总结 教材学习内容总结 实验楼学习 利用假期的时间,我重新从头开始学习了娄老师的私课《深入理解计算机系统》 的实验楼:我重新学习了第一课和第二课,并且根据第三课的内容完成了第二周的作业。 关于Vim编辑器的学习,我上学期自己 ...
分类:
其他好文 时间:
2017-10-02 13:27:01
阅读次数:
102
在进行本章的讲解之前,我们先说明讲解的机器语言型号。上一篇汇编语言和机器语言我们讲过,机器语言是直接面向处理器(Processor:CPU)的程序设计语言,但是每一种这样的微处理器(CPU)由于硬件设计和内部结构的不同,所以每一种微处理器都有自己的机器指令集,也就是机器语言。而汇编语言是便于记忆的机 ...
分类:
其他好文 时间:
2017-09-27 19:08:46
阅读次数:
190