不会难分啊,bootloader分成2份的,一半以固件的形式烧死在ROM里的,那这一半是程序;剩下的一半写在磁盘里是软件。如果要换硬件,比如换个CPU,只需要升级ROM里的那部分,不需要动磁盘里的那一半。
driver也一样,程序里也有driver,OS里也有driver,但程序的driver比软件的driver起码快1个数量级。OS里还可以搭虚拟机,虚拟机还能再装driver。比如下面这个微信小程序写的低功耗蓝牙设备启动连接到完成监听要耗时6-8秒(光是关闭特征扫描就用了3秒),换成嵌入式片内程序,整个过程撑死用不了100ms。

程序有程序的driver,软件有软件的driver,你不能混为一谈
【 在 donald2020 的大作中提到: 】
: 移植的概念先不谈了,又有争议估计
: 但是所有的BootLoader它都是硬件相关的,即使它不是“烧录”在硬件上,但对于不同硬件确实需要重新编译。它也不是运行在OS上的。
: 按你的分类很难说它是programme还是software。还有就是driver,它虽然工作在os上,也是安装的,但实际上它又绝对硬件相关而且操作的也是硬件,够“底层”。
: ...................
--
修改:Oriphia FROM 14.223.162.*
FROM 14.223.162.*