嵌入式Linux --- Linux简介

萧升
2023-12-01

嵌入式 Linux 学习笔记

Linux诞生了这么多年,要详细讲解Linux的历史和发展,还是比较困难的,鉴于我的主要目的是学习嵌入式Linux,Linux的发展历史就随便记一点吧。

一、Linux的诞生

Linux 操作系统是UNIX 操作系统的一种克隆系统。1991年,芬兰赫尔辛基大学的学生 Linus Torvals 开发了 Linux 操作系统,起初这只是他出于爱好,但当他将系统的内核代码上传到互联网时,这个简单的操作系统却吸引了很多的计算机爱好者。这些热心的网友在认可Linux 的同时,通过邮件、社区等方式向 Linus Torvals 提出了改进建议,就这样,Linux 在 Linus Torvals 和 Linux社区等人的共同维护下逐渐完善,它从一开始只支持 Intel 386 体系结构,到后来的 X86、ARM、IA64、MIPS等等体系结构。同时,由于 Linux 一直坚持开源共享以及其稳定的性能,Linux 的用户群体越来越壮大,成为了如今的第二大操作系统。

二、Linux发行版简介

严格地来说,Linux 只是一个操作系统内核,我们平常提到的操作系统往往是一个功能完整的且带图形界面的系统。而 Linux发行版则解决了这个问题,Linux 发行版是一些个人组织或公司,将 Linux 内核和文档包装起来,并提供一些配套软件,从而形成的一个完整的操作系统。

市面上主要的 Linux 发行版包括:
1.非商业组织 Debian 开发的 Debian GUN/Linux
2.美国的 Red Hat 公司开发的 Read Hat Linux
3.法国的 Mandrake 公司开发的 Mandrake Linux
除此以外,国内众多公司也发行了中文版的 Linux,如红旗 Linux.

Linux发行版的种类众多,据说有200-300种,接下来,我就对常用的 Red Hat 、Ubuntu进行介绍:

1.Red Hat

Red Hat 是可能大家最熟悉的发行版Linux,同时它也是我使用的第一个Linux 发行版,Red Hat 最早由 Bob Young 和 Marc Ewing 在 1995年创建,自 Red Hat 9.0 以后,它分为了两个系列:由 Red Hat 公司提供收费技术支持和更新的 RHEL (Red Hat Enterprise Linux),以及主要由社区开发的免费桌面版 Fedora Core.
Red Hat 企业版有3个版本——AS、ES、WS。AS是其中功能最为强大和完善的版本,而正统的桌面版Red Hat 版本更新早已停止,最后一版是 Red Hat 9.0。

2.Ubuntu

Ubuntu 基于 Debian 发行版和 GNOME 桌面环境,拥有Debian 所拥有的所有优点,是一个近乎完美的 Linux 操作系统。,与Debian 不同的是它6个月会发布一个新版本。
Ubuntu 被誉为对硬件支持最好、最全面的Linux 发行版之一,并且,Ubuntu采用自行加强的内核,安全性方面更加突出。

三、Linux 与 Windows 的对比

偷个懒,在网上找了篇文章:Linux与Windows对比:13个方面大对决 ,不过是很久以前的了,仅供参考,内容如下:

1、 编程篇

虽然五年已经过去了,但是系统编程的模式基本没有什么改变,由于GPL的存在linux在编程效率上比windows要高不少,这是因为GPL公开程序代码,这样可以减少重复开发,所以linux在编程模式上比windows要略微强点。

但是须知windows还是常用软件的主要载体,所以windows下的软件还是要移植到windows下的,当然有很多软件还是一直就在windows下开发的,所以这点windows并不比linux弱的太多。

值得一提的是windows8种引入的windows store,这样的应用不知道可不可以在linux下开发,貌似目前windows8 app都是在windows8下开发的。

2、运行平台篇
linux系统可以运行在几乎所有的硬件结构上,无论是intel、amd、arm处理器都可以,甚至我国的龙芯上跑的也是linux。而windows在更新到windows8后也实现了支持intel、amd和arm三大处理器架构。但是相对而言,windows8 RT只能运行在特定的架构上并且不发售零售版,所以可以暂时不考虑。即linux比windows支持的处理器平台多。

但是linux下处理器性能能否达到windows的标准还很难说,因为电源管理等诸多问题,linux并不一定能发挥硬件的全部效率。这点在显卡上体现的特别明显。AMD的显卡开源驱动只能实现显卡一半的性能,所以在运行平台上,linux兼容的更多,但是windows更完美,相对而言,只考虑运行平台的话(能用)linux略占优势。

3、 硬件支持篇
linux的硬件支持除了显卡外我感觉还是和windows保持同步的,比如usb3.0,HDMI等
但在显卡方面,尤其是双显卡方面linux就和windows差距明显了,linux目前还没有可靠的双显卡交火或者双显卡交互手段,所以就凭这一点linux在硬件支持方面占极大劣势,因为没有双显卡支持会导致双显卡一直通电,能耗直线上升! 虽然linux的新内核早已解决了这个问题,但是linux下显卡驱动的不足也导致这方面问题没有根本解决。

4、网络篇
个人感觉除了google的chorme os外linux的网络已经发展的登峰造极了,linux对网络的利用率是非常高的,毕竟GPL的基本交流手段就是网络,所以网络功能上linux很给力的,至于ipv6什么的windows和linux早就一样哈皮了。Linux与视频文件的硬解播放

不过有一点就是flash player上的问题制约了linux网络媒体的应用,因为flash player在linux占用的资源过高,导致性能下降……

5、 设备驱动篇
这个linux基本上什么设备都能认出来,但是能驱动的设备显然没有windows多,毕竟除了arm处理器外基本上每个硬件都会为windows写驱动,但是能为linux写驱动的就不多了,很多linux驱动是用开源驱动的,这样的话效率……

所以个人感觉windows的驱动比linux下强。

6、 UNIX能力篇
这个,我不太同意原作者设立这个指标的,毕竟linux是unix like系统,而windows和这个不沾边……所以UNIX能力肯定是linux强啊,但是不是还有原版的unix么,所以这点应该列入评价指标。

7、性能篇
这个是很重要的一点,原作者分为开放性、多用户和多任务三个方面来进行的对比。

开放性其实linux和windows都一样的,都很开放,不过windows8相比前辈们有点保守,所以linux的开放性应该更好点。多用户方面,linux和windows都支持多个用户,但是linux可以多用户同时登陆,不过考虑到个人电脑的情况,这个指标一般没有什么用。多任务,这点有很多测评,大家可以去百度或者google一下,一般大家都认为linux效率更高一点。

8、创新篇
我实际上很反对这种为了创新而创新的对比方式的。

windows和linux都是操作系统,为了实现类似的功能,出现多多少少一些类似是正常的。就开发状态而言,linux是开源的,而windows不开源,所以linux应该高点,但是不要忘了windows系统也能得到全世界的很多第三方软件的支持,所以创新性而言双方并没有可比性,因该是在同一水平。

9、病毒防护篇
这一点毫无疑问是linux获胜,目前世界上还没有一种可以在linux下大规模泛滥的病毒,而且linux的安全性完全是建立在其保守的内核设计上的,所以linux是很安全的。相对于windows虽然windows8在win7的基础上又提高了很多,但是与linux还是有差距的。

实际上,为了保证用户体验,很多时候windows是必须牺牲防护性能的,所以能做到这点已经非常不容易了,真要超级安全的还FreeBSD是不是更安全呢?

10、稳定篇
系统稳定性上我感觉linux与windows不相上下,因为windows与linux都会崩溃,虽然windows崩溃原因很多,而linux崩溃大部分是有误操作,但是二者的差距真心没有那么大,而且windows实际上出现蓝屏代码什么的故障次数也已经比以前少多了。

11、购买能力篇
大部分linux是免费的,而windows就算是最便宜的windows8也要200+人民币,linux的购买了更好。

12、安装篇
系统安装现在大部分不需要用户解决的,不过既然提出来了还是分析一下,linux安装主要是很多人对linux分区不太理解,或者搞得不好,通常linux如果分区弄好安装也是很简单的,当然,那种arch linux一样的安装方式还是免了。就安装最简单的ubuntu而言和windows的安装模式已经基本差不多了,总的来说linux还是稍微难点。

13、总结篇
总的来说,linux在个人电脑领域并不比windows突出,虽然很多人都在用盗版,但是还是有不少人用正版的windows的,正版windows带来的用户体验和完整的服务支持确实是linux和盗版系统暂时无法比拟的……

个人建议,支持正版,如果实在囊中羞涩的话盗版也无妨,至于linux,除非有一定的电脑基础,不推荐用。但还是希望大家试试,毕竟linux还是有很多新理念什么的值得借鉴,而且不要再一棵树上吊死也是一种保险的做法……

这篇 linux 和 windows 的对比虽然写于多年前,但这足以让我对两个主流操作系统有进一步的了解,同时,我希望再以后的探索中,能自己总结出一些结论。

 类似资料: