Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,同时也是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多的企业网络中,被广泛使用。
要学习Linux,首先就要掌握Linux系统结构。一般而言,Linux是由内核、bootloader、文件系统,Shell和应用程序构成,缺一不可,每个部分在Linux中都扮演着十分重要的角色。
下面为大家一一介绍:
1、内核内核是Linux系统的核心,它往下直接与硬件打交道,向上连接应用程序。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。
内核是由Linux社区来共同维护,其中Linus是核心人物。内核主要是由C语言及少量汇编语言编写而成,是最著名的一个开源项目之一。
2、BootloaderBootloader就是一个单片机程序,用来引导系统启动。这个程序比较简单,有些高手甚至自己手写了bootloader程序。Linux文件系统有ext3、ext4等,而windows 有 fat32 、ntfs等。
3、文件系统文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。
Linux下面的文件类型主要有:普通文件:C语言元代码、SHELL脚本、二进制的可执行文件等。 Linux目录文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上;目录提供了管理文件的一个方便而有效的途径。Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。
4、shellshell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。用户可以在提示符下输入命令行,由 Shell 解释执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利用系统提供的丰富命令可以快捷而简便地完成许多工作。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
5、应用程序标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、X Window、办公套件、Internet工具和数据库等。
Linux的众多优点还是它在嵌入式范畴取得了普遍的使用,并呈现了一片繁荣昌盛的景象。了解了linux的系统结构后,我们再看看嵌入式Linux到底有什么优势。
Linux作为嵌入式操作系统比较突出的优势有以下几点:
1、优秀的开发工具开发嵌入式系统的关键是需要有一套完善的开发和调试工具。传统的嵌入式开发调试工具是在线仿真器(In-Circuit Emulator,ICE),它通过取代目标板的微处理器,给目标程序提供一个完整的仿真环境,从而使开发者能够非常清楚地了解到程序在目标板上的工作状态,便于监视和调试程序。在线仿真器的价格非常昂贵,而且只适合做非常底层的调试,如果使用的是嵌入式Linux,一旦软硬件能够支持正常的串口功能时,即使不用在线仿真器也可以很好地进行开发和调试工作,从而节省了一笔不小的开发费用。嵌入式Linux为开发者提供了一套完整的工具链(Tool Chain),它利用GNU的gcc做编译器,用gdb、kgdb、xgdb做调试工具,能够很方便地实现从操作系统到应用软件各个级别的调试。
2、内核高效稳定Linux内核的高效和稳定已经在各个领域内得到了大量事实的验证,Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分,其独特的模块机制可以根据用户的需要,实时地将某些模块插入到内核或从内核中移走。这些特性使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。
3、广泛的硬件支持Linux能够支持x86、ARM、MIPS、ALPHA、PowerPC等多种体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的CPU上。Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和新硬件技术,甚至可以在没有存储管理单元(MMU)的处理器上运行,这些都进一步促进了Linux在嵌入式系统中的应用。
4、完善的网络通信和文件管理机制Linux至诞生之日起就与Internet密不可分,支持所有标准的Internet网络协议,并且很容易移植到嵌入式系统当中。此外,Linux还支持ext2、fat16、fat32、romfs等文件系统,这些都为开发嵌入式系统应用打下了很好的基础。
5、开放源码,软件丰富Linux是开放源代码的自由操作系统,它为用户提供了大限度的自由度,由于嵌入式系统千差万别,往往需要针对具体的应用进行修改和优化,因而获得源代码就变得至关重要了。Linux的软件资源十分丰富,每一种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。在Linux上开发嵌入式应用软件一般不用从头做起,而是可以选择一个类似的自由软件做为原型,在其上进行二次开发。
虽然嵌入式Linux优势显而易见,然而我们也必须认识到嵌入式Linux也不是万能的,也会有一些缺陷,遏制了嵌入式Linux的发展,比如说嵌入式Linux对于用户的要求相对比较高,而且不具备实时性。
动力节点的Linux教程对Linux有更全面的介绍,便于大家更深层次的理解嵌入式Linux。
Linux入门到精通视频教程
https://www.bilibili.com/video/BV1Li4y1V7pG
Linux资料下载
http://www.bjpowernode.com/?toutiao