十五.linux开发之Kernel移植——话说linux内核

本文详细介绍了Linux Kernel的基本概念,包括内存管理、进程调度和硬件设备管理等核心功能,以及内核和驱动的关系。强调了内核模块化设计的重要性,允许功能裁剪和动态升级。在选择内核版本时,建议根据SoC厂家移植版本以减少工作量,如S5PV210适用的2.6.35.7版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有道云笔记地址:

详情看这里链接,记录太多,就不一一排版了。

http://note.youdao.com/noteshare?id=7cc3e91b91754d1ba42913229eb18689&sub=E4714EDA91904A59AF9460249A4E1B6F

 

一、Linux Kernel简介

 

(1)linux、windows、android、ucos就是操作系统

(2)操作系统本质上是一个程序,由很多个源文件构成,需要编译连接成操作系统程序

1、操作系统核心功能:

(1)内存管理。如果没有操作系统,内存是需要程序自己来管理的。譬如在uboot中要使用内存的哪里是自己随便用的,没有注册也没有限制。这时候如果程序自己不小心把同一块内存重复用了就会出现程序逻辑错误。系统大了之后(内存多了)内存管理非常麻烦;有了操作系统之后,操作系统负责管控所有的内存,所有的应用程序需要使用内存时都要向操作系统去申请和注册,由操作系统的内存管理模块来分配内存给你使用,这样好处是可以保证内存使用不会冲突。

(2)进程调度。操作系统下支持多个应用程序同时运行(所以可以一边聊QQ一边看电影···),这是宏观上的并行。实际上在单核心CPU上微观上是不能并行的,宏观上的并行就是操作系统提供的分时复用机制。操作系统的进程调度模块负责在各个进程之间进行切换。

(3)硬件设备管理。没有操作系统时要控制任何硬件都要自己写代码,有了操作系统后操作系统本身会去控制各个硬件,应用程序就不用考虑硬件的具体细节了。操作系统的硬件设备管理模块就是驱动模块。

(4)文件系统。文件系统是管理存储设备的一种方式。存储设备是由很多个扇区组成的,每个扇区有512/1024/2048/4096字节,存储设备要以扇区为单位进行读写。如果没有文件系统,程序要自己去读写扇区,就得记得哪个文件在哪个扇区。有了文件系统之后我们人不用再关注扇区,人只用关注文件系统中的目录和文件名,而不用管这个文件在物理磁盘的哪个扇区。

2、操作系统扩展功能:

(1)协议栈

(2)有用的应用程序包。应用程序本身不属于操作系统内核的一部分,应用程序是给人用的,面向某种功能的。譬如ping程序用来测试网络是否联通,ifconfig程序用来配置网卡。

3、内核和发行版的区别

区别:

(1)内核只有一个。内核是操作系统内核的简称,内核负责实现操作系统的核心功能(资源管理模块,譬如内存管理、调度系统······),内核不包括应用程序。所以说只有内核人是没法用的,因为人做任何事情都是通过相应的应用程序来完成的。

(2)Linux的发行版本是一些组织或厂家,将Linux kernel与外围实用程序软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution)。

Linux的发行版本实质就是Linux kernel再加上外围的实用程序组成的软件包

    目前最流行的几个正式版本有:SUSE、RedHat、Fedora、 Debian、Ubuntu、CentOS、Gentoo,Mint等等,用户可根据自己的经验和喜好选用合适的Linux发行版。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值