程序执行涉及的硬件

本文介绍了程序执行过程中涉及的硬件,包括总线、I/O设备、主存和处理器的工作原理。以hello程序为例,详细阐述了从源代码到运行的过程,涉及到磁盘、主存、处理器和高速缓存的角色。高速缓存作为解决处理器与主存速度差异的解决方案,利用局部性原理提高程序执行效率。
摘要由CSDN通过智能技术生成

程序执行涉及的硬件

一、示例程序代码

#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、总线

总线,贯穿整个系统的一组电子管道,它携带信息字节并负责在各个部件之间

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值