十二天深入理解计算机系统(一)

计算机系统漫游

1 信息就是位+上下文

系统中所有的信息都是由一串位表示的,在不同的上下文中,一个同样的字节序列可能表示一个整数、浮点数、字符串或者机器指令。

2 文本文件和二进制文件

有ASCII字符构成的文件称为文本文件,所有其他文件都是二进制文件。

3 源程序到可执行目标文件的过程

1)预处理 根据以字符#开头的命令,修改原始的hello.c程序,生成hello.i文件。

2)编译阶段 把hello.i文件翻译为汇编语言的hello.s文本文件。

3)汇编阶段 把hello.s翻译为可重定位目标文件hello.o

4)连接阶段 合并hello.o、printf.o生成可执行目标文件

wps_clip_image-7349

4 字

与总线相关的概念,总线每次可以转送一个字,字中的字节数是一个基本的系统参数,一般为四个字节。

5 进程

是对处理器、主存、I/O设备的抽象,比如我们运行一个程序,看上去只有这个程序在使用处理器、主存和I/O设备。

6 虚拟存储器

是主存和I/O设备的抽象(参考文章内存就是RAM?更能体会),每个进程看到的是一致的存储器。详细介绍请参考我前面的文章内存管理之程序内存分布

7 文件

是I/O设备的抽象,为应用程序提供了一个统一的视角,来看待系统中可能含有的所有各式各样的I/O设备。

8 多处理器 多核以及超线程

这几个概念可以参考我前面的文章超线程 多核 多处理器区别

9 超标量

指在一个时钟周期执行比一条指令更快的速率。

10 总结

本章主要介绍一些基本概念。但是我们除了了解这些基本概念外,我们要学到一种基本思想--抽象,比如抽象出进程、虚拟存储器、文件以及我们在编程中对代码抽象出了函数,对函数抽象出了类等等。

posted @ 2013-11-24 23:19  TheBug  阅读(2520)  评论(0编辑  收藏  举报