源程序被编译系统翻译成可执行目标文件,并放在磁盘上。在Unix系统上执行可执行文件,只需在shell应用程序中输入文件名。如:./hello
shell是一个命令行解释器,它输出一个提示符,等待输入一个命令行,然后执行这个命令。若命令行的第一个单词不是shell内置命令,那么shell会假设这是一个可执行文件的名字,将加载并运行这个文件。待完成并终止后,输出下一个提示符,等待输入下一个命令行。
系统的硬件组成

1.总线
贯穿整个系统的是一组电子管道,称作总线,它携带信息字节并负责在各个部件间进行传递。通常总线被设计成传送定长的字节块,也就是字(word)。字中的字节数(即字长)是一个基本的系统参数,各系统中不尽相同。现在大多数机器字长要么是4个字节(32位),要么是8个字节(64位)。
2.I/O设备
I/O(输入/输出)设备是系统与外部世界的联系通道。我们的实例系统包括4个I/O设备:作为用户输入的鼠标和键盘,作为用户输出的显示器,以及用于长期存储数据和程序的磁盘驱动器(磁盘)。最开始,可执行程序hello就放在磁盘上。
每个I/O设备都通过控制器或适配器与I/O总线相连。控制器与适配器之间的区别主要在于它们的封装方式。控制器是I/O设备本身或系统的主印制电路板(主板)上的芯片组。而适配器是一块插在主板插槽上的卡。他们的功能都是在I/O总线与I/O设备之间传递信息。

3.主存
主存是一个临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据。从物理上来说,主存是由一组 动态随机存取存储器(DRAM) 芯片组成。从逻辑上来说,存储器是一个线性的字节数组,每个字节都有唯一的地址(数组索引),这些地址是从零开始的。组成程序的每条机器指令都由不同数量的字节构成。
4.处理器
中央处理单元(CPU),简称处理器,是解释(或执行)存储在主存中指令的引擎。处理器的核心是一个大小为一个字的存储设备(或寄存器),称为程序计数器(PC),在任何时刻,PC都指向主存中的某条机器语言指令(即含有该条指令的地址)。

主要围绕着主存,寄存器文件,和算术/逻辑单元(ALU)进行。寄存器文件是一个小的存储设备,由一些单个字长的寄存器组成,每个寄存器都有唯一的名字。ALU计算新的数据和地址值。
网友评论