Kan*_*ghu 0 assembly portability operating-system
ASM因处理器而异,因此您为处理器体系结构编写的代码不会对另一个处理器体系结构起作用.但是为什么操作系统可以做到这一点,它们包含一些asmA线路代码的KLOC?
Tho*_*nin 5
现代(或至少不是太旧)操作系统(如Linux)大多用C语言编写,并且只包含几行特定于平台的汇编代码.要移植到另一个架构,必须重写这样的汇编代码 - 这就是所做的.但是C代码可以重新编译,不需要重写它.尽管平台的汇编方言不同,但它们都是基于相同的概念构建的(例如,通过MMU进行基于页面的内存管理).一些操作必须在汇编中完成,因为可移植C不提供任何方法(例如任务切换或中断处理的初始步骤),但操作系统所做的大部分是纯算法,它可以在C中完成(例如,所有网络代码都在C中;只有通过以太网接口发送数据包的极低级别部分才需要最多十几行程序集.
归档时间:
14 年,8 月 前
查看次数:
161 次
最近记录: