在Lee哥说linux内核之前,先给大家看看官方对他的定义(这个定义来自百度百科,这里Lee哥完全没有要黑百度的意思),今天小编就来聊一聊关于linux内核通俗解释?接下来我们就一起去研究一下吧!

linux内核通俗解释(那它到底是个什么玩意儿)

linux内核通俗解释

在Lee哥说linux内核之前,先给大家看看官方对他的定义(这个定义来自百度百科,这里Lee哥完全没有要黑百度的意思。)

https://baike.baidu.com/item/Linux内核/10142820?fr=aladdin

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

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

linux内核有什么用?

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

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

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

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

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

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

深度介绍Linux内核是如何工作的 - bitbit - 博客园

如果大家有看完上面的内容的话,那说到底,我们为什么要学习Linux内核?

Lee哥觉得现在很多时候我们都是在使用辅助开发环境进行开发,我们并没有真正理解操作系统的工作原理,只是在做二次性的开发工作。

如果对内部的机制和原理没有深入的理解,我们并不能真正设计和写好程序,对于就业来说,当下企业互联网公司中运用的计算机技能和知识远远要比学校授予学生的知识要专业,前沿,更佳商业化,对计算机的理解能力提出了更高的要求。很多时候感觉一个专业对口的本科生进入社会,回头想想,我在学校学了啥?

甚至Lee哥觉的很多有一定开发工作经验的人,都还没搞懂Linux内核,业务代码倒是很熟练。

对于技术的追求?。。。。。。。。

书籍推荐:

Linux内核必读五本书籍(强烈推荐) - 知乎

视频推荐:

可能是你看过的最佳Linux内核技术讲解(附视频) - 知乎

,