深入理解计算机系统---读书笔记1

文件就是字节序列,仅此而已。
系统中的所有输入都是通过使用一小组称为Unix I/O的系统函数调用读写文件来实现的。
Amdaha定律(Amdahl's law)
该定律的主要思想是,当我们对系统的某个部分加速时,其对系统性能的影响取决于该部分的重要性
和加速程度。
虽然我们对系统的一个主要部分做出了重大改进,但是获得的系统加速比却明显小于这部分的加速比。
这就是Amdahl定律的主要观点-----要想显著加速整个系统,必须提升全系统中相当大的部分的速度。
当构建一个由单操作系统内核控制的多处理器组成的系统时,我们就得到了一个多处理器系统。
多内核运行多少个系统????
Intel Core i7处理器可以让每个核执行两个线程,所以一个4核的系统实际上可以并行地执行8个线程。
在较低的抽象层次上,现代处理器可以同时执行多条指令的属性称为指令级并行。
在最低层次上,许多现代处理器拥有特殊的硬件,允许一条指令产生多个可以并行执行的操作,
的操作,这种方式称为单指令、多数据,即SIMD并行。
文件是对I/O设备的抽象,
虚拟内存是对程序存储器的抽象
进程是对一个正在运行的程序的抽象
虚拟机,它提供对这个计算机的抽象,包括操作系统、处理器和程序。
因为虚拟地址是以这样的一个字来编码的,所以字长决定的最重要的系统参数就是虚拟地址
空间的最大大小。
参数12345的十六进制表示为0x00003039
最低有效字节值0x39最先输出,这说明它们是小端法机器。
C语言中字符串被编码为一个以null(其值为0)字符结尾的字符数组。
“12345”31 32 33 34 35 00ASCII 字符码
linux> gcc -0g -o p p1.c p2.c
long mult2(long, long);
void multstore(long x, long y, long *dest) {
long t = mult2(x, y);
*dest = t;
}
linux> gcc -0g -S mstore.c
C语言编译器生成的汇编代码
linux> gcc -0g -c mstore.c
GCC 会编译并汇编该代码
【深入理解计算机系统---读书笔记1】linux> objdump -d mstore.o
反汇编器

    推荐阅读