1、系统的硬件组成
(1)总线
贯穿整个系统的是一组电子管道,称作总线,它携带信息字节并负责在各个部件间传递。通常总线被设计成传送定长的字节块,也就是字,32位4个字节,64位8个字节
(2)I/O口设备
I/O口设备(输入与输出)是系统与外部世界的联系通道。包括键盘、鼠标、显示器、磁盘。每个I/O设备都通过一个控制器或适配器 与I/O总线相连。控制器和适配器之间的区别主要在于他们的封装方式。控制器是I/O设备本身或者系统的主印制电路板(主板)上的芯片组。而适配器则是一块插在主板插槽上的卡。无论如何,它们的 功能都是在I/O总线和I/O设备之间传递信息。
(3)主存
主存是一个临时存储I设备,在处理器执行程序时,用来存放程序和程序处理的数据。从物理上来说,主存是由一组动态随机存取存储器(DRAM)芯片组成的。
(4)处理器
中央处理单元(CPU),简称处理器,是解释(或执行)存储在主存中指令的引擎。处理器的核心是一个大小为一个字的存储设备(或寄存器),称为程序计数器PC
2、运行hello程序
初始时,shell程序执行它的指令。等待我们输入一个命令。当我们在键盘上输入字符串“./hello”后,shell程序将字符逐一读入寄存器,再把它存放在内存中。
当我们在键盘上敲回车键时,shell程序就知道 我们已经结束了命令的输入。然后shell执行一系列指令来加载可执行的hello文件,这些指令将hello目标文件中的代码和数据从磁盘复制到主存。数据包括最终会被输出的字符串“hello,world\n”.
一旦目标文件hello中的代码和数据被加载到主存,处理器就开始执行hello程序的main程序中的机器语言命令。这些指令将“hello,world \n”字符串中的字节从主存复制到寄存器文件,再从寄存器文件中复制到显示设备,最终显示在屏幕上。
3、高速缓存器
4、操作系统管理硬件
文件是对io设备的抽象表示,虚拟内存是对主存和磁盘io设备的抽象表示,进程则是对处理器、主存和io设备的抽象表示