首页 > 软件开发 >linuxx86软件开发 linux 软件开发

linuxx86软件开发 linux 软件开发

IT信息网 2024-08-14 21:22:10 0

大家好,今天小编关注到一个比较有意思的话题,就是关于linuxx86软件开发的问题,于是小编就整理了1个相关介绍linuxx86软件开发的解答,让我们一起看看吧。

为什么linux可以同时兼容x86和arm,一个操作系统不是只能对应特定的硬件系统吗?

操作系统最大部分代码都是通过C语言来写的,很少一部分驱动是汇编语言来写的,这部分和CPU架构是相关的。一般来说操作系统经过编译,同一涛代码可以跑在不同的CPU上,去针对不同的CPU架构进行编译就可以了,下面汇编部分的驱动那要重写。

linuxx86软件开发 linux 软件开发

这当中起作用的是编译器,红楼梦是一个故事,用编译器编译成汉字,我们就都能看懂,用英语编译器编译成英文,美国人都能看懂,这个故事叫红楼梦,类似于作为操作系统的linux.

系统和驱动层之间有一层抽象层,该层向上屏蔽硬件信息,向下屏蔽操作系统信息,该层主要是对驱动层进行再封装,这样,硬件平台不一样时,只需要改动该层的驱动即可,从理论来讲,更好的方式是驱动层再封装一次,平台移植时只更新具体的驱动代码,个人见解

linux 操作系统 相当于 整车,x86 arm 相当于不同的发动机,操作系统支持不同硬件平台,就相当于整车换不同发动机,从汽油发动机换成柴油发动机,上边的方向盘,油门,空调,车灯等接口不变,上边如何操作是一样的。linux 设计时,就设计成 高级接口 和 不同构架 实现相分离,这样更换不同cpu 时,只要将不同构架 实现函数,写一遍,再用 每种构架 特定的 编译器,将程序编译一道,就可以了。是源代码 大部分相同,arm,和x86 有少量不同,分别用x86和arm 编译器就可以了。编译出来是不同镜像,不能互换使用。

这个得看系统安装包了。如果windows发行的有针对arm架构(包括指令集)的安装包,也一样可以在arm上跑windows,当然,应用程序开发员得编译基于arm架构的应用程序。

到此,以上就是小编对于linuxx86软件开发的问题就介绍到这了,希望介绍关于linuxx86软件开发的1点解答对大家有用。