文章目录
前言
从硬件、软件角度分析Shell命令行运行hello文件的详细过程;
#include <stdio.h>
int main(int m)
{
int x1=1;
x1= x1 + m;
printf("hello,world\n");
return 0;
}
提示:主要从计算机组成原理和操作系统角度分析
一、键盘和I/O接口
(1)键盘读取字符,送入I/O接口
<1> 按下一个键时,开关接通,相关芯片产生一个扫描码;
<2> 松开按键时将扫描码和其字符码通过设备线送入I/O接口中的数据寄存器;
例如:按下键盘 “.” 按键时,产生一个扫描码34,松开按键时将扫描码34和 “.” 对应的ASCII码送入数据端口中;
<3> 根据扫描码类型:如果字符码(如ASCII码),则将其送入内存中的BIOS键盘缓冲区;
如果是控制码和切换码,则将其转变为状态字节,写入内存中存储状态字节的单元;
(2)I/O接口发送中断请求
<1> I/O控制逻辑通过控制线发送中断请求
补充:当设备就绪时,且该设备未被屏蔽,将其中断请求触发器INTR置为1;
二、CPU处理器
此时计算机正在赶来(执行机器指令)的路上