0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文搞懂Linux系统内核的重要性

AI机械姬 来源:AI机械姬 作者:AI机械姬 2023-03-24 15:16 次阅读

今天我要跟大家分享一下Linux内核的重要性。内核就像Linux系统运行的大心脏,对系统的运行起到了至关重要的作用。那么Linux内核到底难不难学呢?今天我就大概和大家科普一下,后期还会向大家推荐一本书籍,用来巩固大家学习内核的操作。其实,Linux内核可以通过编写代码来验证,几行代码就能够表达我们需要表达的内容,但是光靠几行代码我们就真的学会了吗?真的有那么直观吗?所以只学习代码仍然不够。现在虽然流行靠代码进行计算机的学习,但是传道授业者也仅仅停留在理论知识传授的层面,对于经验总结和实际操作仍然不够;还有一个就是我们通常更加注重对理论的学习,自己上手操作的时间没有多少,因此会造成理论丰富实践贫瘠的情况;第三就是我们自己的学习力度不够,没有认真钻研,学习事物停留在表面。所以,我们千万不能抱着这样的态度去学习Linux。下面,我就给大家科普一下Linux内核知识,帮助大家更好的学习Linux系统。

poYBAGQdTliAFdJlAABE_dpBELM81.jpeg

第一是Linux内核源代码结构。Documentation很好用,它虽然没有内核的代码,但是它有一套有用的内核文档,这些内核文档大多是可以用的,例如文件系统;也有不能用的,例如进程调度。arch下面的子目录都是体系结构特有的代码,看见这个一定要记清楚。drivers是内核的驱动程序代码,里面有我们熟知的显卡、网卡、PCI等外围设备的驱动代码,所以对于我们来说是很关键的。fs:文件系统代码。包含ext2、ext3、ext4等本地文件系统。Linux命令内核中的大部分文件在include里边,我们如果有需要寻找的文件,可以先从这里开始找。kernel是Linux内核中最重要的组成部分,它的功能主要包含进程创建、销毁和调度的代码,如果缺少了它,我们的系统就不能继续运行了。除了这些代码外,还有其他的一些重要的组成部分,这里就不一一说了,但是我们需要知道的是,无论代码中的子目录或大或小,都是我们应该掌握的。

第二是内部的网络剖析过程。由于网络协议栈是由若干个层次所构成的,因此网络信息的处理过程主要是指在协议栈的不同层次间的信息传输。而按照为前一章的TCP系统所编写的流程,构建TCP系统内部的过程根据链接socket参数,绑定地址接口bind函数,侦听接口listen参数,接收链路accept变量,传送数据send函数,接受信息recv参数,关闭socket参数的次序来完成。而与此相对应内部的过程就是根据此次序完成的,因此网络信息在系统内部中的处理过程一般都是在网卡与协议栈中间完成的:由网卡接收数据,再交由协议栈处理过程;协议栈把要传输的信息经由网络发送出去。

我们在给系统传递数据的同时,也将消息经由插口层传送到协议层,协议层的UDP层增加UDP的首次、TCP层增加TCP的首次、IP层增加IP的首次,而接口层的网卡则在加载了互联网上的数据块后,再经由网卡的传输功能发送到互联网上。

接受信息的处理过程则是一种完全相反的处理过程,当有信息出现的时候,通过电话卡的中断程序将信息从互联网网卡的FIFO对列中收集到内部,然后传送到协商层,由协商层将IP层剥夺IP的首次、UDP层剥夺UDP的首次、TCP层剥夺TCP的首次并传送到插口层,经过插口层对socket的识别后,将信息发送给用户层对应的socket。

经过以上的介绍,相信大家对Linux内核有了一个大概的认识。其实学好Linux内核真的很重要,学好了Linux内核就等于学好了一半的Linux系统。但是为了大家能够进一步补齐短板,吸收理论知识和实操技能,我向大家推荐《Linux就该这么学》,这本书讲的就是怎样学好Linux系统,怎样利用Linux系统去完成一些高难度的操作。我们在知道了内核很重要的基础上,当然就要进行深度学习了。这本书非常适合零基础的新手,当然对于一些老玩家也是上下兼容。总之就是新手可以从中收获知识,老手可以从中温故而知新。我认为在我们掌握了Linux内核基础知识的情况下,利用这本书来巩固一下是很好的。

现在大家对Linux内核的重要性已经一清二楚了吧,如果想进一步的了解,那么就从这本书入手吧,相信大家经过一段时间的学习一定会有所收获的。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10981

    浏览量

    206689
收藏 人收藏

    评论

    相关推荐

    RZ/G2L Linux系统如何添加新的内核模块

    RZ/G2L Linux系统的镜像基于yocto构建,本篇介绍如何添加新的内核模块。
    的头像 发表于 01-04 12:19 922次阅读
    RZ/G2L <b class='flag-5'>Linux</b><b class='flag-5'>系统</b>如何添加新的<b class='flag-5'>内核</b>模块

    获取Linux内核源码的方法

    (ELF1/ELF1S开发板及显示屏)Linux内核是操作系统中最核心的部分,它负责管理计算机硬件资源,并提供对应用程序和其他系统组件的访问接口,控制着计算机的内存、处理器、设备驱动程
    的头像 发表于 12-13 09:49 285次阅读
    获取<b class='flag-5'>Linux</b><b class='flag-5'>内核</b>源码的方法

    Linux内核UDP收包为什么效率低

    栈收包效率真的很低,这是为什么?有没有办法去尝试着优化?而不是动不动就DPDK。 我们从最开始说起。 Linux内核作为一个通用操作系统内核,脱胎于UNIX那一套现代操作
    的头像 发表于 11-13 10:38 237次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>UDP收包为什么效率低

    如何优化Linux内核UDP收包效率低

    真的很低,这是为什么?有没有办法去尝试着优化?而不是动不动就DPDK。 我们从最开始说起。 Linux内核作为一个通用操作系统内核,脱胎于UNIX那一套现代操作
    的头像 发表于 11-10 10:51 272次阅读
    如何优化<b class='flag-5'>Linux</b><b class='flag-5'>内核</b>UDP收包效率低

    Linux内核时钟系统和定时器实现

    Linux内核时钟系统和定时器实现 Linux 2.6.16之前,内核只支持低精度时钟,内核定时
    的头像 发表于 11-09 09:12 574次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>时钟<b class='flag-5'>系统</b>和定时器实现

    Linux内核之LED子系统(一)

    Linux内核的LED子系统是一种重要的框架,用于管理和控制设备上的LED指示灯。在嵌入式系统和物联网设备中,LED子
    发表于 10-02 16:53 257次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>之LED子<b class='flag-5'>系统</b>(一)

    电源设计的重要性

    电源是最容易被忽视的,电源是系统运行的重要组成部分,电源就像“人体的心脏”,为系统的硬件输送血液(电),要是心脏(电源)运行不正常或供血(电)不足,会导致系统不运行或运行不稳定,在设计
    发表于 09-08 14:43

    linux内核源代码详解

     在安装好的Linux系统中,内核的源代码位于/ust/src/linux.如果是从GNU网站下载的Linux
    发表于 09-06 17:01 2次下载

    Linux内核如何使用结构体和函数指针?

    我将结合具体的Linux内核驱动框架代码来展示Linux内核如何使用结构体和函数指针。
    的头像 发表于 09-06 14:17 554次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>如何使用结构体和函数指针?

    Linux内核系统调用详解

    Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。从某种角度来看,
    发表于 08-23 10:37 615次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>中<b class='flag-5'>系统</b>调用详解

    linux内核线程就这样诞生了么?

    线程是操作系统重要组成部件之一,linux内核中,内核线程是如何创建的,在内核启动过程中,诞生
    的头像 发表于 07-10 10:45 459次阅读
    <b class='flag-5'>linux</b><b class='flag-5'>内核</b>线程就这样诞生了么?

    Linux内核Linux系统中到底处于一个什么样的地位

    Linux操作系统是当今世界上最为广泛使用的开源操作系统之一,内核则是一个操作系统的核心和灵魂所在。
    的头像 发表于 07-06 11:48 802次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>在<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>中到底处于一个什么样的地位

    Linux内核的作用

    Linux操作系统是当今世界上最为广泛使用的开源操作系统之一,内核则是一个操作系统的核心和灵魂所在。对于一名
    发表于 07-06 11:46 1201次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>的作用

    Linux系统内核概述

    Linux 内核Linux 操作系统的主要组件,也是计算机硬件与其进程之间的核心接口。它负责两者之间的通信,还要尽可能高效地管理资源。
    发表于 06-09 09:29 346次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>系统</b><b class='flag-5'>内核</b>概述

    PCB印刷电路板打样的重要性

    似乎是个额外的步骤,但PCB打样会在您开始全面生产运行之前对印刷电路板进行预生产分析。那么,PCB打样在电子产品研发过程中有哪些重要性呢? 1.加快整体生产 高度准确的PCB原型有助于最大限度地减少
    发表于 06-07 16:37