操作系统移植学习
前景了解
操作系统的作用?
资源管理,程序控制和人机交互等
Linux操作系统移植的概念
嵌入式操作系统与通用操作系统的最显著的区别之一就是它的可移植性。一款嵌入式操作系统通常可以运行在不同体系结构的处理器和开发板上。为了使嵌入式操作系统可以在某款具体的目标设备上运行,嵌入式操作系统的编写者通常无法一次性完成整个操作系统的代码,而必须把一部分与具体硬件设备相关的代码作为抽象的接口保留出来,让提供硬件的OEM厂商来完成。
为什么要进行操作系统的移植?
不同架构的处理器指令集不兼容,即便是相同的处理器架构,板卡不同驱动代码也是不兼容的。
Linux是一个通用的内核并不是为某一个特定的处理器架构或者板卡设计的,所以从官方获取的Linux源码后我们要先经过相应的配置使其与我们当前的硬件平台相匹配后才能进行编译和安装。
将已有的软件,根据硬件平台的差异,进行少量的代码修改,使得该软件可以在新的硬件平台上运行起来的过程,就是将linux系统经过裁剪,移植到arm开发板上。
Linux系统?
linux系统 = linux内核 + 根文件系统;
根文件系统 = 库(/lib和/usr/lib) + 命令( /bin和/usr/bin) + 配置文件( /etc) + GUI(图形化界面,如:QT)