整机分析:Shell命令行运行hello文件(“./hello“)

本文从硬件和操作系统角度详细分析了Shell命令行运行hello文件的过程,包括键盘和I/O接口交互、CPU中断处理、DMA加载文件以及执行hello文件的步骤。重点探讨了中断查询、DMA处理和虚拟存储器在执行过程中的作用。
摘要由CSDN通过智能技术生成

文章目录


前言

从硬件、软件角度分析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处理器

 此时计算机正在赶来(执行机器指令)的路上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值