程序执行涉及的硬件
一、示例程序代码
#include <stdio.h>
int main(){
printf("hello, world\n");
return 0;
}
源文件为hello.c,是文本文件。为了运行hello.c程序,每条C语句都必须被其他程序转换成一系列的低级机器语言指令。然后这些指令按照一种称为可执行文件(exe)的格式打好包,并以二进制磁盘文件的形式存放起来。
在Unix操作系统上,从源文件到目标文件的转化是由编译器驱动程序完成的:
linux> gcc -o hello hello.c
此刻hello.c已经被编译成了可执行文件hello,并被存放在磁盘上。在Unix系统上运行可执行文件:
linux> ./hello
hello, world
linux>
./hello不是内置的shell命令,它会被认为是可执行文件,被加载并运行。那我们就来探索一下,hello程序运行所涉及的硬件吧
二、系统的硬件组成
上图为一个典型系统的硬件组成,以下对其组成部分详细介绍
1、总线
总线,贯穿整个系统的一组电子管道,它携带信息字节并负责在各个部件之间