首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux内核 | 漫画全景图

我是cloud3, 大家可能看过一幅图片,是Daniel Stori画的。画中linux内核被画成了一间房子。 房子里面有什么呢,我们先看看全景图: 依据这张图,我们看看内核中有什么。...最底层有几排柜子,这代表文件系统,用来存储文件的,我们看到有人(进程)在柜子的抽屉里拿东西。 中间一层基本上就是进程管理了。...桌子旁边居然有两只狗子(代表watchdog),看门狗在linux中的作用也是很重要的,居然还养了两条。 角上两个家伙在抬钢管,他们不是要跳舞,他们是在交流啊,进行管道通信。...旁边还有一个很忙碌的胖小伙。他叫cron是用来做定时任务的进程。 旁边张牙舞爪的家伙叫wine,这个进程是用来在linux上运行windows软件的翻译。...图片的内容就这些,虽然题目叫inside the kernel,但是kernel里的东西远不止这些,但画的内容还是很精彩的。

51630

【Linux 内核】Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

文章目录 一、下载 Linux 内核源码 二、使用 VSCode 阅读 Linux 内核源码 一、下载 Linux 内核源码 ---- 参考 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的...Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 ) 博客 , 下载 Linux 5.6.18 版本的内核源码 ; 5.x 内核源码下载地址...: https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/ Linux 内核 5.6.18 版本 : https://mirrors.edge.kernel.org...参考 【错误记录】解压 Linux 内核报错 ( Can not create symbolic link : 客户端没有所需的特权 | Windows 中配置 7z 命令行执行解压操作 ) 博客 ;...不同版本的 Linux 内核 区别 : 系统调用 : 其系统调用是相同的 , 新的版本可能会增加新的系统调用 ; 设备文件 : 各内核版本的设备文件都是相同的 , 但是 内部接口 可能不同 ; 二、使用

23.6K32
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    查看linux版本内核 Linux内核版本的变化

    linux内核 linux内核版本号格式  major.minor.patch-build.desc   1、major:表示主版本号,有结构性变化时才变更。   ...Linux内核版本的变化 自从1991年9月17日,Linus Torvals正式宣布了 Linux的第一个正式版本—0.02版本,到现在,Linux的内核版本发生了一系列的变化,新旧版本之间的时间间隔是几个月甚至几个星期...从Linux诞生开始,Linux内核就从来没有停止过升级,从Linus第一次发布的0.02版本到1999年具有里程碑意义的2.2版本,一直到我们现在看到的2.4版本,都凝聚了Linux内核开发人员大量辛苦的劳动...现在的Linux内核里已经开始了这方面的支持。...4.小内核 · 内核本来就很小:Linux的整个内核源代码大概需要占用20多MB的硬盘空间,但是编译出来的二进制代码只占用600KB左右的空间,完全可以放在一张软盘上,随时可以使用这张软盘将系统启动

    22.4K20

    【Linux 内核】Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

    文章目录 一、下载 Linux 内核源码 二、使用 VSCode 阅读 Linux 内核源码 一、下载 Linux 内核源码 ---- 参考 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的...Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 ) 博客 , 下载 Linux 5.6.18 版本的内核源码 ; 5.x 内核源码下载地址...参考 【错误记录】解压 Linux 内核报错 ( Can not create symbolic link : 客户端没有所需的特权 | Windows 中配置 7z 命令行执行解压操作 ) 博客 ;...不同版本的 Linux 内核 区别 : 系统调用 : 其系统调用是相同的 , 新的版本可能会增加新的系统调用 ; 设备文件 : 各内核版本的设备文件都是相同的 , 但是 内部接口 可能不同 ; 二、使用...按钮 , 此时就可以在 VSCode 中阅读 Linux 内核源码 ;

    21.4K30

    linux内核启动流程(文章最后流程图)

    大家好,又见面了,我是你们的朋友全栈君。 原文:linux内核启动流程 本文以Linux3.14版本源码为例分析其启动流程。各版本启动代码略有不同,但核心流程与思想万变不离其宗。...内核映像被加载到内存并获得控制权之后,内核启动流程开始。通常,内核映像以压缩形式存储,并不是一个可以执行的内核。因此,内核阶段的首要工作是自解压内核映像。...得到内核入口函数为 stext(linux/arch/arm/kernel/head.S) 内核引导阶段 ENTRY(stext) 。 。 。...当内核被引导并进行初始化后,内核启动了自己的第一个用户空间应用程序_init,这是调用的第一个使用标准C库编译的程序,其进程编号时钟为1....以下为内核启动流程图: 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163595.html原文链接:https://javaforall.cn

    1.7K40

    linux内核编程_linux内核是什么

    内核——操作系统的内在核心 设备驱动程序 启动引导程序 命令行shell 其他种类的用户界面—-操作系统的外在表象 基本的文件管理工具和系统工具 Linux内核的组成 Linux内核源代码目录结构是什么...Linux 的每个进程享有4GB的内存空间,0~3GB属于用户空间,3~4GB属于内核空间 虚拟文件系统有什么作用?...只能通过系统调用和硬件中断完成 Linux内核的编译及加载 内核的配置系统由哪既部分组成? Makefile:分布在Linux 内核源代码中的Makefile,定义Linux 内核的编译规则。...记录哪些部分被编译入内核、哪些部分被编译为内核模块。 在Linux 内核中增加程序需要完成哪些工作? 将编写的源代码复制到Linux 内核源代码的相应目录。...次引导加载程序加载Linux内核和可选的初始RAM 磁盘,将控制权交给Linux内核源代码。 运行被加载的内核,并启动用户空间应用程序。

    18.9K31

    精致全景图 | linux内核输出的日志去哪里了

    /linux-kernel-illustrated 另外,精致全景图系列文章,以及之后的linux内核分析文章,我都会整理到这个github仓库里。...熟悉linux内核,或者看过linux内核源码的同学就会知道,在内核中,有一个类似于c语言的输出函数,叫做printk,使用它,我们可以打印各种我们想要的信息,比如内核当前的运行状态,又或者是我们自己的调试日志等...为了解答这些疑问,我画了一张printk全景图,放在了文章开始的部分,这张图既包含了printk在内核态的实现,又包含了其输出的信息在用户态如何查看。...我们可以根据这张图,来理解printk的整体架构。...对于linux内核来说,它会选择一个使用内存最多的进程,然后将其kill掉,以此来释放内存,保证后续的内存分配操作能够成功,这个我在之前文章 为什么我的进程被kill掉了 有详细讲过。

    2.9K30

    一张图看懂linux内核中percpu变量的实现

    但你知道吗,不仅是在编程语言中,在linux内核中,也有一个类似的机制,用来实现类似的目的,它叫做percpu变量。...好奇的你们肯定都在问,它是怎么实现的呢? 我们先不管细节,先来看一张图,这样从全局的角度来了解下它的实现。 ?...linux内核在启动时,会先把vmlinux文件加载到内存中,然后根据cpu的个数,为每个cpu都分配一块用于存放percpu变量的内存区域,之后把vmlinux中的.data..percpu section...读过linux内核源码的同学都知道,在linux内核中,宏使用的非常多,且比较复杂,如果我们对自己进行宏展开的正确性没有信心的话,可以使用下面我介绍的这个方式,使用它,你可以非常容易的得到任意文件宏展开后的结果...现在,有关percpu变量的知识,你是否已经完全了解了呢,如果还有疑问,可以再去看看文章开始我画的那张图,或者给我留言,我们可以一起讨论。 - END -

    2.4K21

    Linux内核-什么是内核

    作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。...让我们了解和熟悉基本的Linux内核相关的信息,Linux内核我们主要从以下几个方面来讲解: Linux内核-什么是内核(本章节) Linux内核-内核参数 Linux内核-proc文件系统 Linux...什么是Linux内核 Linux 内核是Linux操作系统的核心部分,它是一个自由和开放源代码的类Unix操作系统内核。...以下是Linux内核的一些关键特点和功能: 开源:Linux内核的源代码是公开的,任何人都可以查看、修改和发布自己的版本。...Linux内核的官方网址就是https://www.kernel.org/ 本地内核文件 我们在Linux基础-linux目录介绍过/boot目录就是内核相关的的目录,这个是未升级内核之前的目录结构,可以和上面的内核版本进行对应

    12610

    LINUX内核

    一、Linux内核2.6特点: 1.新的调度器 2.内核抢占 3.改进线程模型 4.虚拟内存 5.文件系统 6.音频:音频体系结构ALSA.支持USB音频和MIDI设备,并支持全双工重放功能。...二、LINUX内核的组成 1.LINUX内核源代码目录结构 1)arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。如i386,arm,powerpc,mips等。...:头文件,与系统相关的头文件放在include/Linux下。...模块 16)sound:ALSA,OSS音频中设备的核心代码和常用设备驱动 17)usr:实现了用于打包和压缩的CPIO等 2.LINUX的内核组成部分 2.1 LINUX主要用进程调度,虚拟文件系统,...3.Linux内核空间与用户空间 Linux只能通过系统调用和硬件中断来完成用户空间到内核空间的控制转移

    13.9K30

    【Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )

    文章目录 一、解压内核源码 二、查询当前 Linux 内核版本号 三、进入并查看 linux 内核源码目录 一、解压内核源码 ---- 将 下载的 Linux 内核源码 linux-5.6.14.tar.gz...拷贝到 Ubuntu 虚拟机中 , 执行 tar xvf linux-5.6.14.tar.gz 命令 , 解压 Linux 内核源码 ; 解压完毕后 , linux-5.6.14 目录中就是解压后的...Linux 内核源码 ; 二、查询当前 Linux 内核版本号 ---- 执行 uname -a 命令 , 查询当前 Ubuntu 系统的 Linux 内核版本号 , 执行过程如下 : root@ubuntu...x86_64 x86_64 x86_64 GNU/Linux root@ubuntu:~/kernel# root@ubuntu:~/kernel# 当前的内核版本号是 4.13.0 ; 三...、进入并查看 linux 内核源码目录 ---- 进入之前解压的 linux-5.6.14 内核源码目录 ; root@ubuntu:~/kernel# ls linux-5.6.14 linux-5.6.14

    87.1K60

    Linux内核21-Linux内核的中断处理过程

    为了响应中断处理,需要几个数据结构和函数去描述IRQ请求线的状态和要执行的函数功能。图4-4展示了处理中断的过程原理图。其中的函数,后面描述。...为了统一处理这些硬件,Linux内核使用了面向对象的编程思想,构建了一个PIC对象,包含PIC名称和7个PIC标准方法。...但是,万变不离其宗,核心的设计思想没变。 多核系统中的IRQ分配 我们知道SMP的全称是对称多处理系统,这意味,Linux内核不应该对一个CPU有任何偏向。...因此,Linux2.6内核使用一个特定的内核线程叫kirqd进行纠正IRQ的自动分配(如果有必要的话)。...总结 其实内核经过这么多年的发展,在实现方式上已经发生了很大变化。但是其基本思想没变。比如我们以Linux4.4.203内核对于中断的处理为例,与上面的处理过程进行比较,理解其主要变化。

    2.4K20

    Linux 内核 vs Windows 内核

    对于服务器使用的操作系统基本上都是 Linux,而且内核源码也是开源的,任何人都可以下载,并增加自己的改动或功能,Linux 最大的魅力在于,全世界有非常多的技术大佬为它贡献代码。...操作系统核心的东西就是内核,这次我们就来看看,Linux 内核和 Windows 内核有什么区别? ---- 内核 什么是内核呢?...完成第一版 Linux 后,Linux Torvalds 就在网络上发布了 Linux 内核的源代码,每个人都可以免费下载和使用。...Monolithic Kernel Monolithic Kernel 的意思是宏内核,Linux 内核架构就是宏内核,意味着 Linux 的内核是一个完整的可执行程序,且拥有最高的权限。...,内核中抽象出了微内核的概念,也就是内核中会有一个小型的内核,其他模块就在这个基础上搭建,整个内核是个完整的程序; Linux 的内核设计是采用了宏内核,Windows 的内核设计则是采用了混合内核。

    16.4K30

    Linux内核20-Linux内核的异常处理过程

    异常处理的基本过程 当异常发生时,Linux内核给造成异常的进程发送一个信号,告知其发生了异常。...但是,除了这些常规的异常以外,Linux有时候会特意利用某些CPU异常管理硬件资源。...比如,可以使用Device not available这个异常,结合cr0寄存器中的TS标志,强迫内核重新加载CPU的浮点寄存器,从而更新最新的值。...异常处理程序基本上都是下面这样的代码:(所有的异常和中断处理函数都可以在linux\arch\x86\entry\entry_32.S文件中找到) handler_name: pushl $0...如果进程是在用户态,则信号交给进程自身的信号处理程序(如果存在的话);如果是在内核态,则内核通常会杀死进程。 最后异常处理程序跳转到ret_from_exception()函数地址处,从异常状态返回。

    1.6K70

    linux 查询内核版本_linux内核版本号的构成

    )简介  Linux内核版本命名在不同时期有着不同的规范,在涉及到Linux版本问题时经常容易混淆,主线版本/稳定版/长期支持版本经常搞不清楚,本文主要记录下内核版本命名的规则以及如何查看Linux系统版本信息...Linux内核(Linux kernel)简介 内核是操作系统的核心 ,其主要功能有: 响应中断,执行中断服务程序 管理多个进程,调度和分享处理器的时间 管理进程地址空间的内存管理 网络和进程间通信等系统服务程序...内核的活动范围: 运行于用户空间,执行用户进程 运行于内核空间,处于进程上下文,代表某个特定进程的执行 运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断 Linux内核版本号 第一种方式...: Linux 的版本号分为两部分,即内核版本与发行版本。...Apr 13 09:27:15 UTC 2021:内核的编译时间(build date)为 2021/04/13 09:27:15 3、在ARM Cortex-A7内核的嵌入式Linux开发板下 Linux

    13.3K40

    linux内核编程指南_linux内核源码详解

    本章主要是as86与gas两种汇编语言的简要介绍,C语言与汇编语言的相互嵌套,目标文件的结构与及makefile文件的简要语法。   ...1,as86汇编的简要语法及命令可以参考http://blog.csdn.net/astraylinux/article/details/7301596   2,gas汇编与intel汇编的主要区别:(...   5,在C语言中嵌入汇编的语法格式    6,C语言调用的堆栈结构,栈内控制权转移,AT&T的栈组织方式与intel汇编应该是一样的,主要是cpu指令所决定的。     ...7,在C语言中调用汇编的函数主要是实现方法是汇编,参数获取是从栈中根据esp偏移来取得,而调用函数的C这些语言代码与调用C语言的函数形式上是一样的。     ...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    37.4K10
    领券