嵌入式Linux和基于PC的Linux一样吗?

我以前在教嵌入式Linux时,学生常问,”李老师,学习嵌入式Linux有什么好的推荐书啊?“但我知道其实很多同学此前是学过Linux的。他们总觉得嵌入式Linux和基于PC的Linux有很大的区别。诚然,嵌入式Linux的环境和基于PC的Linux环境,乍看起来有很大的区别。例如,PC上的Linux基本上输入有键盘、鼠标,输出有显示器。然而,嵌入式Linux的环境里可能只有一个串口或者是网口。这导致了大家对学习嵌入式Linux有一个很大的误区就是:跑嵌入式Linux和在PC上跑的Linux是完全不同的.

事实上,这完全是一个误区。

无论是嵌入式Linux也好,还是我们的PC上用的Linux也好。本质上来讲,它们的系统结构都是一致的。无论怎么样,都是bootloader + kernel + 根文件系统 (如果是ARM架构的系统的话,新版的内核启动时还需要用到设备树)。此外,在常见的命令行(准确讲应该是shell)操作时,只要使用的shell是一样的,那么语法也是通用的。开始入门的话,建议学习最常见的shell之一bash。几乎所有的Linux发布版本中都会带有bash的。因此,在学习shell命令时,我们只看用的是什么shell。也就是说,不用管是嵌入式Linux还是PC上的Linux环境。 更近一步说,只要在Linux操作系统上的基于某种语言的应用编程,例如基于shell脚本、基于C语言、JAVA语言等等,在极大多数情况下,同样的代码经过正确的编译器编译或解析器解析后,在Linux系统中是都可以跑的。

注意,之所以说极大多数情况下,是因为可能由于嵌入式Linux硬件环境本身的限制,例如CPU较慢、内存数量有限等原因,或者是编译器的限制,导致一些原来在通用PC上可以跑的代码,在嵌入式Linux环境中无法正常运行。但是,对于初入门的学习者而言,一开始请不用在意这些极少数情况。

敲黑板:

请放心大胆地在PC上尽情学习Linux的知识就好。你会发现,你在PC上学习的Linux知识的技能,在嵌入式Linux上几乎都用得到。

发布了4 篇原创文章 · 获赞 0 · 访问量 540

猜你喜欢

转载自blog.csdn.net/jumpingpig/article/details/104085753