事物总有个核心,复杂的事物总可以模块化、层次化, 嵌入式Linux也如此。学习嵌入式Linux困难,主要因为涉及知识和概念过多,即比较复杂,所以学习嵌入式Linux的就需要找到核心,需要模块化,需要进行层次划分。

嵌入式Linux系统做模块化处理就是可划分为Bootloader(引导程序),Kernel(内核),fs(文件系统),Shell(命令行界面),Gui(图形库)和 Embeded Sql(嵌入式数据库)等。以上就是嵌入式Linux系统的7个重要模块,通过这些就可以开发出各种各样的App(应用程序)。如上网用得网络浏览器,播放歌曲的音频播放器,播放电影的视频播放器,各种游戏(如连连看)等等。

嵌入式Linux系统-- 引导程序,即Bootloader和PC的BIOS程序有些类型,最大的作是用来安装系统,就像刚买的PC如果没有安装操作系统,就需要安装操作系统,PC安装Windows操作系统通常从光驱开始,按Fn键进入安装模式,来读取光盘并启动安装过程。嵌入式Linux和此类似,Bootoader启动过程中按任意键(U-boot)进入安装模式,只不过安装不是从光驱读取系统,而是从串口(UART)或者网口读取系统。另外有个不同PC安装中文件系统包含在系统之中, 嵌入式Linux系统操作系统和文件系统是分开的需要单独安装。

嵌入式Linux系统--内核,即Kernel,是Linux系统的核心,Kernel包含了驱动程序,网络协议,内存管理,文件系统,进程管理等模块,这些概念比较抽象,在Windows操作系统做程序开发会遇到类似的模块划分,如果只是Windows操作系统的应用者是很少需要有这些概念的,不过你的使用之中是用到了这些东西。如外扩的设备需要安装额外的驱动,你就用到驱动程序这种东西了;打开office时你就用到了文件系统了;上网时用到了网络协议;同时打开千千静听和计算器你就用到了进程管理。原来 嵌入式Linux系统的这些概念早就存在Windows操作系统之中,就像遇到一个似曾相识的人,想问一句“我们好像那里见过”。

嵌入式Linux系统--文件系统,即fs,是Linux系统的重要部分,文件系统主要实现的是文件夹和文件的操作(如创建、删除、打开、关闭、读写等),这和Windows操作系统的文件系统比较相似。嵌入式Linux系统下文件系统模块通常需要Kernel提供支持的,并包含Shell命令包,就是说 嵌入式Linux文件系统不光提供对文件操作的支持,还提供对Shell包的支持,你也许有疑问什么是Shell,请向下看。

  嵌入式Linux系统--命令行,即Shell是操作系统的重要部分,当然也包括嵌入式Linux系统。在Windows操作系统下,打开“开始”点进“运行”输入“cmd”按“Enter”键,你就进入了一个比较“土”的窗口界面,这个界面就是一个 Shell,输入“ipconfig”你就可以看到本PC 的IP信息。嵌入式Linux系统也有一个类似的Shell,不过不是映射到本机(如ARM硬件板),而是映射到PC机的串口终端上(这里概念比较多,推荐记住“映射”“ARM板”、“PC机”、“串口终端”这几个关键词),就是说通过PC机的串口终端可以操作嵌入式Linux的Shell,如输入“ifconfig”就可以查看ARM硬件板IP信息,这个和上面的“ipconfig”作用相同。

嵌入式Linux系统--图形库,即Gui是用来做图形面的支撑库。如Windows系统下的“桌面”,“桌面”上的图标,都是用图形库来实现的。你用的手机显示屏背景图,显示的电话号码,短信也都是基于图形库来实现的。嵌入式Linux系统不一定用到图形库,所以图形库是嵌入式Linux系统可裁剪的模块之一,目前流行的图形库有QT/miniGUI/GTK+2/MFC,其中除了MFC都可以用在嵌入式Linux系统下。

嵌入式Linux系统--嵌入式数据库,即Embeded Sql,是嵌入式Linux系统另重要的一个可裁剪模块,就是说有些嵌入式Linux系统产品可能用到,有些可能用不到,目前最流行的嵌入式数据库就是 Sqlite。那么嵌入式数据库到底做什么用,如果你了解数据库,你可以把嵌入式数据库看成是一个小型的、轻量级的数据库。如果不明白,请设想一个班的成绩单(表),对每个学生成绩进行查看并做排名,那么做成绩单就相当于存入数据库,查看过程就相当于对数据库进行搜索(检索),查看的结果就像当于搜索(检索)的结果,排名就相当于对数据库成员按名次创建索引。说的简洁点-“数据库就是表和表的操作”。

    希望如上解析,能让你建立一些嵌入式Linux系统的概念。

(作者 冯青华 信庭嵌入式工作室-主管) <转载请注名来路>

信庭嵌入式工作室-嵌入式Linux漫谈之Linux系统相关推荐

  1. linux 嵌入式 人工智能,嵌入式人工智能有哪些相关技术

    嵌入式技术 嵌入式技术主要指嵌入式处理器+嵌入式操作系统相关的技术,比如华清远见嵌入式课程里的ARM(嵌入式处理器)+嵌入式Linux(嵌入式操作系统)+Android(在Linux内核基础上进行二次 ...

  2. 嵌入式开发教程哪家好?linux嵌入式系统开发

    嵌入式入门你知多少?对于一些初入门的初学者而言,对嵌入式入门的一些知识有助于后期的学习,从嵌入式技术的应用前景以及到ARM认知到开发板等等.嵌入式企业用人需求在增长. 如今的嵌入式开发大热是ARM+L ...

  3. alin的学习之路:嵌入式课程设计总结(基于Linux的Qt版MP3播放器)

    嵌入式课程设计总结(基于Linux的Qt版MP3播放器) 废话不多写直接上图上代码,其中有很多不规范的地方,希望大佬们指正. 1.课设题目 设计一个MP3播放器,要求:使用Linux下的madplay ...

  4. 嵌入式linux开发,unix系统整体架构图

    嵌入式linux开发,unix系统整体架构图如下

  5. 嵌入式面试题(五、Linux操作系统)

    五.Linux操作系统 1.Linux内核的组成部分 Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信. 2.Linux系统的组成部分 Linux系统一般有4 ...

  6. 嵌入式linux和桌面linux的区别

    嵌入式linux和桌面linux的区别主要区别是: 1. 硬件平台: 嵌入式Linux一般是Mips, ARM平台, 桌面Linux一般是x86平台. 2. 根文件系统 嵌入式Linux一般用UBIF ...

  7. 嵌入式操作系统基础μc/os-ii和linux pdf,嵌入式操作系统基础μC/OS-II和Linux读后感10篇...

    <嵌入式操作系统基础μC/OS-II和Linux>是一本由62.00元著作,530出版的图书,本书定价:2011-8,页数:,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助. & ...

  8. 基于嵌入式Linux的测温系统,基于嵌入式Linux的图像监控系统

    设计.发明的目的和基本思路.创新点.技术关键和主要技术指标 随着嵌入式技术的快速发展,产生了基于嵌入式系统的远程图像视频监控系统,为信息产业,管理行业.监控行业提供了快捷.高效.廉价的服务.丰富的网络 ...

  9. 嵌入式Linux视频笔记----Linux基础入门

    https://www.bilibili.com/video/BV1JK4y1t7io/?spm_id_from=333.788.videocard.2 运行于ARM-A7的嵌入式Linux系统基础知 ...

  10. 嵌入式 linux usb转串口,Linux下,USB转串口问题

    step 1: linux终端 lsusb 查找系统有没有检测到该设备.如: Device 004: ID 067b:2303 Prolific Technology, Inc. PL2303 Ser ...

最新文章

  1. SAP产品的Field Extensibility
  2. java并发编程同步器 Semaphore、CyclicBarrier、Exchanger、CountDownLatch
  3. .NET MessageBox 网页弹出消息框
  4. 技巧:Silverlight应用程序中如何获取ASP.NET页面参数
  5. python使用esmre代替ahocorasick实现ac自动机[多模匹配]
  6. Java 重入锁 ReentrantLock 原理分析
  7. html新年倒计时代码_js实现倒计时
  8. sklearn预处理转化流水线
  9. 服务器proc文件,特殊文件系统proc
  10. android消息提示方法自定义,Android自定义消息提示容器
  11. 千万别惹程序员之经典的SQL注入式***
  12. Vmware报错:此主机支持IntelVTx 但IntelVTx处于禁用状态
  13. 麒麟安装增强功能失败(未解决):Could not downgrade policy file /etc/selinux/targeted/policy/policy.29
  14. CCF中国计算机学会推荐国际学术期刊与会议
  15. c语言创意作业蜂鸣器,蜂鸣器c语言程序_c语言编写蜂鸣器发声
  16. mfc动态改变clip风格_欧式古典家具风格的演变历程
  17. L1-031. 到底是不是太胖了
  18. linux 安装 zookeeper
  19. ngrok转发mysql连接_ngrok内网转发
  20. 维度灾难 维数灾难 暂记

热门文章

  1. [从 0 开始写一个操作系统] 三、Bootloader 的实现
  2. Python3爬取西刺代理前2页国内高匿代理IP并验证有效性,若获取失败,使用快代理获取IP存入表格中
  3. 京东自营客服初级考试
  4. LeetCode-70.爬楼梯
  5. python实现word自动化操作
  6. 4星|《经济学通识课》:深入浅出的经济学思想发展简史
  7. QQ微云图标升级方法 空间免费扩容攻略
  8. flea-db使用之JPA封装介绍
  9. 算24点的一般方法及例题
  10. 小小明_小小明手游框架_xxm_小小明手游平台