1、先说Linux内核,内核就是系统本身。 驱动呢,可以编译进内核,也可以不编译进去。不编译进去的时候,可以在内核跑起来之后,用insmod 加载进内核,这个过程,就好比你在win7 下,从网上下载一个显卡驱动并装上。应用呢,就是内核起来后,可以在系统里跑的程序,比如浏览器什么的。那么驱动和应用有啥不同呢,应用是调用内核提供给用户空间的接口,而驱动是在内核空间运行的,用的是内核内部的接口。
2、首先脑子中要有个概念 U-BOOT(BOOTLOADER)LINUX内核(一般包含驱动,也就是和内核一起编译好后下载到板子中) 文件系统(包含用户应用程序等)这三个重要部分 是按照预先设定好的位置放置于NAND FLASH(我这里就不说BOOTLOADER放在NOR FLASH,从NOR 启动了),板子上电后直接运行 BOOTLOADER,BOOTLOADER 根据预先设置好的位置 把LINUX内核加载到内存,并将控制权交给LINUX内核,内核利用文件系统驱动(比如YAFFS驱动等)来从NAND FLASH中操作文件系统。
应用程序是放在文件系统(比如YAFFS文件系统)中的,所以应用程序不放在内核中,而是放在文件系统中,制作成文件系统一并下载到NAND FLASH中(或者通过其它途径把文件拷贝到该文件系统中)。
Linux内核和应用程序之间的关系
最新推荐文章于 2024-03-16 09:30:23 发布
本文介绍了Linux内核、驱动程序和应用程序的区别。内核作为系统基础,驱动可以编译进内核或动态加载。应用程序调用内核接口运行,而驱动则直接使用内核内部接口。此外,文章还概述了U-BOOT、Linux内核和文件系统在嵌入式系统中的作用,强调了文件系统中存储应用程序的方式。
摘要由CSDN通过智能技术生成