编程技术分享平台

网站首页 > 技术教程 正文

都说Linux内核很吊,它到底是个啥玩意儿?

xnh888 2025-05-03 17:21:18 技术教程 10 ℃ 0 评论

了解完基本信息之后,我们来看一看,为什么说它吊?吊在哪里?

甚至我觉得不仅仅是c/c++Linux开发的可以学习,Java、Python等方面的都可以学习提升一下。

linux内核有什么用?

linux内核有什么功能呢?

1、进程管理

内核负责创建和销毁进程,并处理它们与外部世界的联系(输入和输出)。不同进程间通讯(通过信号,管道,或者进程间通讯原语)对整个系统功能来说是基本的,也由内核处理。另外,调度器,控制进程如何共享CPU,是进程管理的一部分。更通常地,内核的进程管理活动实现了多个进程在一个单个或者几个CPU 之上的抽象。

2、内存管理

计算机的内存是主要的资源,处理它所用的策略对系统性能是至关重要的。内核为所有进程的每一个都在有限的可用资源上建立了一个虚拟地址空间。内核的不同部分与内存管理子系统通过一套函数调用交互,从简单的malloc/free对到更多更复杂的功能。

3、文件系统

Unix 在很大程度上基于文件系统的概念;几乎Unix中的任何东西都可看作一个文件。内核在非结构化的硬件之上建立了一个结构化的文件系统,结果是文件的抽象非常多地在整个系统中应用。另外,Linux 支持多个文件系统类型,就是说,物理介质上不同的数据组织方式。例如,磁盘可被格式化成标准Linux的ext3文件系统,普遍使用的FAT 文件系统,或者其他几个文件系统。

4、设备控制

几乎每个系统操作终都映射到一个物理设备上。除了处理器,内存和非常少的别的实体之外,全部中的任何设备控制操作都由特定于要寻址的设备相关的代码来进行,这些代码称为设备驱动.。内核中必须嵌入系统中出现的每个外设的驱动,,从硬盘驱动到键盘和磁带驱动器。内核功能的这个方面是本书中的我们主要感兴趣的地方。

5、网络

网络必须由操作系统来管理,因为大部分网络操作不是特定于某一个进程:进入系统的报文是异步事件。报文在某一个进程接手之前必须被收集,识别,分发。系统负责在程序和网络接口之间递送数据报文,它必须根据程序的网络活动来控制程序的执行。另外,所有的路由和地址解析问题都在内核中实现。

那Linux内核是如何工作的呢?

工作队列特点

(1)工作队列中是可以阻塞或睡眠的;

(2)调用schedule_work(&work)后,work马上就会被调度执行;

(3)Linux工作队列属于一种异步处理机制;

(4)工作队列是通过内核进程实现的;

29.3 相关函数说明

29.4 工作队列实例

在驱动编写中,我们可以创建一个新的队列,也可以用内核已有的工作队列,这样我们就可以少去创建工作队列的代码,而直接用内核工作队列,这一般是满足我们的开发需要的。

总结;

要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。

写的不好大家别喷哦,嘻嘻嘻嘻嘻,有什么建议可以留下大家一起学习,需要C++/Linux相关资料的后台私信;资料;MF分享一起学习

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表