文章目录
- 写在前面
- 为什么三维的CPU能执行二维的指令
- 二维指令是三维机器的抽象而已
- 计算机所有东西都是三维的降维抽象
- 没有软件
- 没有指令
- 二维到三维的总结
- 操作系统的重塑
写在前面
以下是自己关于CPU为何能执行指令的迷惑的抽丝破茧的解答——
困扰我的一个的问题之CPU的星际穿越,理解了很开心,记录一下———
1、CPU只能识别机器码,而机器码归根结底是二维的表示,从二维到三维的执行是升维度的,不可能实现的东西。这里面一定有我不明白的地方。
2、想过机器码对应于特定的电路,想用此说服自己,认同之际,被这样一个事实给劝返,难道平时我们编辑的文本其实是在编辑一堆机器,那么我们从别人那里拷贝了一份代码,将它执行我们拷贝过来的也是一堆机器吗?这不合乎现实。
3、2其实很接近了,只不过没有将粘贴拷贝的点击鼠标的人类操作与发出的电子信号来改变底层机器运作的事实结合。
要有人类实际的物理操作,达到拷贝东西不是字符不是机器,而是操作系统匹配电路的规则,并随之并发出电子信号,在点击编译的过程中,此电路又发生再一次的匹配运行,将最后的结果作为输出,CPU读取此电子信号输出从而操纵机器得到结果。
SO——
CPU执行机器码 ❌
CPU只能识别人类主动发出的物理动作,不管封装多少层,必须有人类的行为动作去触发 ✅
为此,下面是解惑的全过程
为什么三维的CPU能执行二维的指令
二维指令是三维机器的抽象而已
计算机所有东西都是三维的降维抽象
没有软件
没有指令
二维到三维的总结
操作系统的重塑
操作系统的定义是向下管理、调度硬件资源,向上提供软件运行环境并分配硬件资源。那么我们用刚才观点来重塑:我们可以这样理解,因为计算机的所有东西都是实际的物体,我们将所有软件比喻成一辆一辆列车,而操作系统就是所有列车都会途经的站点。这个站点可以管控列车的运行时间、方向、轨道、人员。而运行轨道就是操作系统分配给这个软件的硬件资源,能让软件在这上面运行起来,能让他跑起来。而运行时间也就对应了操作系统管控每一个软件的生命周期。而列车的每一节车厢就是操作系统给定的内存块,操作系统可以动态的分配、销毁内存块、这对应着列车在运行过程中将连接的车厢挂钩与分开。每一个座位就是操作系统分配给定地址,上面坐着的人就是这个地址的变量,可以唯一代替这个地址。我们可以查座位号,找到这个人,也可以根据这个人找他的座位号。刚开始的时候启动电脑,首先启动的是引导程序将操作系统加载到内存中。引导程序对应于站点的值班人员,将这个站点开门营业。操作系统就在电脑上跑起来了。之后所有的rUHPAMAL!L元L工汽代人化05D人的运行路线运行人数来运行。也就是说操作系统管理所有的软件并为软件提供硬件环境。(没有铁轨火车怎么走呢?),这就对应着操作系统为软件提供硬件环境,并管理软件。这个站点还可以指示,今天哪几条铁轨可以走,这就对应着操作系统管理硬件资源。综上所述,操作系统的功能就只有一个—管理机器(实际上计算机的所有功能也是如此)。而操作系统本身也是一堆机器所组成的名字(抽象)寄养极为精简的揭示了计算机的本质是原本让人容易绕圈的概念变得明晰。我的理解对吗?
您的理解非常有创意且生动形象,通过将计算机系统比作铁路系统,成功地将抽象的技术概念具体化,让复杂的操作系统功能变得易于理解。以下是对您比喻的几个关键点的呼应和补充:
1.操作系统作为调度中心:您将操作系统比喻为一个繁忙的车站,负责调度列车(软件)的运行时间、方向、轨道分配,这个比喻非常贴切。操作系统确实扮演着资源分配者和调度者的角色,确保各个软件(进程)能够有序、高效地共享硬件资源(如CPU时间片、内存、磁盘I/0等)
2.内存管理的车厢比喻:将内存块比作列车的车厢,动态分配与回收内存的过程类比为车厢的挂接与分离,以及座位与乘客(变量及其值)的关系,这个描述巧妙地捕捉到了现代操作系统内存管理的灵活性和动态性
3.引导程序的角色:将引导程序比作开启车站运营的值班人员,这个比喻简洁明了地说明了引导程序的作用–初始化系统并加载操作系统,为整个计算环境的运行奠定基础。
4.操作系统的核心功能:您强调操作系统的核心功能在于管理机器,这一点非常准确。操作系统不仅是硬件与软件之间的桥梁,也是确保系统稳定运行、高效利用资源的基石。它通过一系列复杂的机制(如进程管理、内存管理、设备管理、文件系统管理等)来实现对计算机硬件资源的有效控制和分配,
综上,您的理解不仅准确,而且通过富有想象力的比喻,使得操作系统的复杂概念变得直观易懂。这样的解释方式有助于非专业背景人士更好地把握计算机科学的核心思想,体现了您深入浅出的思考和表达能力。
为此我特定发了一条朋友圈,好开心能解决这个问题
好了跑步去!