《深入理解计算机系统》总结 第一章--机算机系统漫游

来源:互联网 发布:网络端口怎么看 编辑:程序博客网 时间:2024/06/16 15:31

第一章:计算机系统漫游

1.1 信息就是位+上下文

计算机以文件的形式存储信息,每一个文件实际上就是以字节为单位的字节序列,而每一个字节是由8个位所组成。而文件中信息的获取需要结合文件的环境来看,也就是结合文件的上下文来看,比如说一个文件有.xml .json .txt三个种不同的格式,每一种格式代表着文件是在不同的环境下创建的。信息就是位+上下文,位和上下文缺一不可,位是文件最基本的组成单元,而上下文指定了获取文件的环境。

1.2 程序被其他程序翻译成不同的格式

书中的可执行的hello程序是由高级语言编写的由ASCII字符序列组成的文件使用其他程序进行翻译,经过四个阶段的翻译转换最后生成的。四个阶段分别是:1.预处理阶段:在程序编译之前,预处理器对源代码中的预处理语句进行处理。2.编译阶段:编译器将输入的高级语言语句转换成汇编指令。3.汇编阶段:汇编器将汇编指令转换成机器能够读懂的机器码。4.链接阶段:链接器添加程序中所用到的库函数和程序启动代码,生成可执行程序。

1.3 了解编译系统如何工作是大有益处的

好处有:1.能够优化程序性能。2.能够理解链接时出现的错误3.能够避免程序的安全漏洞

1.4 处理器读并解释存储在存储器中的指令

首先了解系统硬件的组成:系统由总线,I/O设备,主存,处理器组成。

总线:

一个用于在各自部件之间传送定长字节块(又叫做字,如果字有4个字节长就是32位,8个字节长就是64位)信息的一组电子管道。

I/O设备:

又叫做输入输出设备,是系统与外部世界联系的通道。一般系统包括4个I/O设备:作为用户输入的键盘和鼠标,作为用户输出的显示器,作为长期存储数据的硬盘。每个I/O设备都通过控制器或者适配器与I.O总线相连。I/O总线再通过I/O桥与系统总线和存储器总线相连。

主存:

主存一个用于储存程序和程序处理数据的临时存储设备。主存是由一组动态随机存取存储器(DRAM)芯片组成。与存储器总线相连。

处理器:

中央处理单元,简称处理器。是解释和执行存储在主存中指令的芯片、

1.5 存储设备形成层次结构

根据机械原理,较大的存储设备要比较小的存储设备存储慢,而快速设备的造价往往比较高。这导致系统中各个设备传输信息的速度之间的差距很大,为了缩小差距,我们需要在存储设备之间加入速度缓冲。通过在不同速度的存储设备之间加入更小更快的设备的存储设备,使得计算机系统的存储设备组成一个存储器层次结构。

1.6 操作系统管理硬件

操作系统是应用程序和硬件之间的一个软件。通过操作系统我们可以:1.控制应用程序对硬件资源的索取。2.将硬件与软件隔离,使得软件具有在不同硬件中运行的能力。操作系统通过3个基本的抽象概念:进程、虚拟存储器、文件来实现这两个功能。文件是I/O设备的抽象,虚拟存储器是对主存和磁盘I/O设备的抽象。进程是对处理器、主存和I/O设备的抽象表示。下面详细介绍一下:

进程:

进程指定的是应用程序的执行过程,是操作系统对正在运行程序的一种抽象,通过进程,我们可以在处理器有限的情况下运行多个程序,而且程序之间可以同时运行(只是看起来如此)互不干扰。这种同时运行的假象是操作系统通过跟踪每个进程运行所需的所有状态信息(上下文)来实现的,通过将控制权在不同进程之间快速切换,使得每个线程都得到运行来实现使用起来产生同时运行效果的要求。进程的实现需要硬件与操作系统之间的精密合作。

虚拟储存器:

虚拟储存器提供通过将主存划分为不同的区域来实现每个进程独占主存的假象。每个进程看到的虚拟地址空间由大量区构成。这些区有:程序代码和数据、堆(动态存储空间)、共享库(存放标准库代码和数据的区域)、栈(函数调用指针存储空间)、内核虚拟存储器(操作系统内核的一些代码和数据)。

文件:

文件就是字节序列。每个I/O设备都可视为文件。通过文件我们不必要了解具体的I/O设备的存储技术而创建出在不同存储技术上运行的程序。

1.8系统之间利用网络通信

网络可视为一个I/O设备。用于不同计算机之间的通信。

0 0