大家好,今天小编关注到一个比较有意思的话题,就是关于linux内核构建教程学习的问题,于是小编就整理了5个相关介绍Linux内核构建教程学习的解答,让我们一起看看吧。
LINUX内核有几种类型?
linux内核有以下四种类型:
①generic
大家好,今天小编关注到一个比较有意思的话题,就是关于linux内核构建教程学习的问题,于是小编就整理了5个相关介绍Linux内核构建教程学习的解答,让我们一起看看吧。
linux内核有以下四种类型:
①generic
Linux默认的内核种类。
②preempt
这种内核是基于generic内核的源代码进行构建的,但在配置中加入了不同的参数设置来减少延时,也被称为软实时内核。
③realtime
基于 vanilla内核源代码树,并应用了Ingo Molnar维护的PREEMPT_RT补丁,也称为硬实时内核。
④lowlatency
和preempt内核非常相似,也是基于generic内核源代码树,但是使用更具攻击性的配置来进一步减少延迟,也称为软实时内核。
1、veket系统
veket系统目前包括veket-x86平台系统和随身系统,还有上网本系统,分别对应veket-8系统、veket-7系统和veket-5系统。经过测试,veket-7和veket-5在使用上比较完善。veket-8目前还处于测试期,在功能上可能还不稳定。
2、Ubunto系统
这个系统又名乌班图系统,也是一个以桌面应用为主的Linux操作系统,系统分为云平台,服务器版和桌面版。可以根据需要选择相应的版本。桌面版目前最新版本好像是Ubuntu13.10版本,在虚拟安装过,还算可以。
3、Fedora系统
此系统,也是基于linux的一款不错的操作系统,在界面上比较美观,安装文件可能会相对较大一些,大家可以尝试一下。
4、麒麟操作系统
这个算是国产的一个自主可控的基于linux的操作系统,在功能上也算比较完善,有32位和64位的系统,想尝试的朋友可以下载安装试一下。
因为LINUX的先天优势导致嵌入式开发大多***用LINUX系统:
1.开源,代码开放,省去了自己编写的麻烦,节约成本而且不会涉及到专利和产权***。
2.功能齐全,对于很多硬件设备都有丰富的驱动程序,只需要移植一下,不需要改动太多。
3.稳定,linux确实比windows要稳定。
4.对于大多数芯片,都有裁剪的配置文件,在Linux内核源代码下,arch/arm/configs中有许多芯片的配置文件。
5.Linux分而治之的思想,可以使得驱动和应用程序并行开发,加快开发速度。
Linux开发需掌握以下核心知识:
1. Linux操作系统原理:熟悉文件系统、进程管理、内存管理、网络通信、shell脚本编程等。
2. 命令行操作:熟练使用常用命令,如文件操作、权限管理、查找替换等。
4. 网络编程:理解TCP/IP协议,掌握Socket编程。
5. 底层原理:了解Linux内核架构,具备内核模块或设备驱动开发[_a***_]。
7. 软件开发流程与调试技巧:掌握编译构建工具如Makefile,具备问题定位和调试经验。
一个完整的Linux内核一般由5部分组成,它们分别是内存管理、进程管理、进程间通信、虚拟文件系统和网络接口。
1、内存管理
内存管理主要完成的是如何合理有效地管理整个系统的物理内存,同时快速响应内核各个子系统对内存分配的请求。
Linux内存管理支持虚拟内存,而多余出的这部分内存就是通过磁盘申请得到的,平时系统只把当前运行的程序块保留在内存中,其他程序块则保留在磁盘中。在内存紧缺时,内存管理负责在磁盘和内存间交换程序块。
2、进程管理
进程管理主要控制系统进程对CPU的访问。当需要某个进程运行时,由进程调度器根据基于优先级的调度算法启动新的进程。:Linux支持多任务运行,那么如何在一个单CPU上支持多任务呢?这个工作就是由进程调度管理来实现的。
3、进程间通信
进程间通信主要用于控制不同进程之间在用户空间的同步、数据共享和交换。由于不用的用户进程拥有不同的进程空间,因此进程间的通信要借助于内核的中转来实现。
一般情况下,当一个进程等待硬件操作完成时,会被挂起。当硬件操作完成,进程被恢复执行,而协调这个过程的就是进程间的通信机制。
4、虚拟文件系统
到此,以上就是小编对于linux内核构建教程学习的问题就介绍到这了,希望介绍关于linux内核构建教程学习的5点解答对大家有用。