![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux内核
文章平均质量分 93
JinrongLiang
开放、自由、分享
展开
-
Linux进程虚拟地址空间
提及Linux的内存虚拟地址空间,还要从程序说起。我们编写好一个应用程序时,以C程序为例,经过预处理、编译、汇编、链接后,生成Linux中的可执行文件ELF文件。当我们运行可执行文件时,进程就出现了,可以理解为进程就是运行中的程序。在32位Linux系统中,每个进程都有4GB的虚拟地址空间,其中0-3GB是用户空间,3-4GB是内核空间。每个进程都以为自己独占整个4GB的地址空间,但实际上1GB的内核空间是所有进程共享的,独占的3GB用户空间也只是虚拟的。那么进程的虚拟地址空间是怎么管理的呢?我们知道,原创 2021-08-31 22:14:54 · 1260 阅读 · 0 评论 -
Linux内核子系统
分享Linux内核子系统结构图一张,需要原图可联系我Liangjinrong111@163.com。原创 2020-03-20 13:52:12 · 226 阅读 · 0 评论 -
Linux 系统调用(二)——使用内核模块添加系统调用(无需编译内核)
本文将介绍Linux使用内核模块添加系统调用的方法(无需编译内核),思路就是修改映射在内存中的系统调用表,把一个空闲的系统调用表项指向自己写的模块中的函数,如果是已使用的表项,甚至可以实现系统调用劫持。1、查看预留系统调用号不同内核版本,文件位置有所不同,我们可以直接查找unistd_64.h文件,命令如下:sudo find / -name unistd_64.hsudo cat /...原创 2020-03-14 00:55:11 · 6659 阅读 · 6 评论 -
Linux 系统调用(一)
Linux内核系统调用原创 2020-03-07 00:01:52 · 1194 阅读 · 0 评论 -
eBPF & bcc实例分析
上一篇博客简单介绍了 eBPF 并介绍了 bcc 框架的安装及简单应用,本篇开始实战,动手写 bcc 程序。先来一个简单的bcc 程序,作用为探测 sys_sync ,检测到 sync 时打印出“sys_sync() called”。sys_sync系统调用被用户空间函数调用,用来将内核文件系统缓冲区的所有数据写入存储介质,sys_sync系统调用将buffer、inode和super在缓存中的数...原创 2020-02-28 09:16:29 · 2766 阅读 · 1 评论 -
内核同步对性能的影响及perf的安装和简单的使用
内核同步对性能的影响及perf的安装和简单的使用看了一篇关于多线程应用程序性能分析的外文,结合之前学过的内核同步的相关内容,分享一下内核同步对性能的影响及性能分析工具perf的安装和使用。1、几个重要的概念进程:应用程序的执行实例,每个进程由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,即进程是操作系统进行资源分配的最小单元。进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的...原创 2020-02-14 18:23:59 · 1094 阅读 · 0 评论 -
如何使用Linux内核中没有被导出的变量或函数
如何使用Linux内核中没有被EXPORT_SYMBOL宏导出的变量或函数? 我们拿代码举例,给出三种方法,给出验证。原创 2019-12-15 17:53:38 · 1803 阅读 · 3 评论 -
Linux内核之内核同步(三)——自旋锁
Linux内核中常见的锁机制有忙等待和睡眠锁两种,代表分别为自旋锁和信号量,本文主要介绍自旋锁。原创 2019-11-30 21:49:39 · 607 阅读 · 0 评论 -
Linux内核之内核同步(一)——内核同步基础
内核同步实际上就是进程间通过一系列同步机制,并发执行程序,不但提高了资源利用率和系统吞吐量,而且进程之间不会随意抢占资源造成系统紊乱。原创 2019-11-30 15:00:52 · 543 阅读 · 0 评论 -
Linux内核之时间系统
Linux内核时间系统,重要数据结构,常用的关于时间的命令原创 2019-11-17 20:41:56 · 1418 阅读 · 0 评论 -
Linux系统cpu负载浅析
Linux系统cpu负载分析原创 2019-10-16 21:37:03 · 877 阅读 · 0 评论 -
Linxu内核模块开发入门(金荣的第一篇个人技术博客)
第一次使用Markdown语法编辑的第一篇CSDN技术文章,内容为本人第一个内核模块的入门教程,如有不完善的地方,请大家多多批评指正,支持开放、自由、分享,谢谢大家。原创 2019-07-07 21:22:18 · 1055 阅读 · 3 评论 -
Linux内核之话说进程
回望笔者之前发的数篇技术博客,中规中矩,阅读量更是不尽人意,看来没帮到多少人,不行,文风要改,要大改。于是乎,笔者摇身一变,化作Linux OS的一个进程,我是一个进程,我来讲述我的故事。原创 2019-08-04 18:36:40 · 752 阅读 · 3 评论 -
Linux内核之内核同步(二)——原子操作
原子操作可以保证指令以原子的方式被执行,执行过程不会被打断。原创 2019-09-12 07:32:52 · 742 阅读 · 0 评论 -
Linux内核中max()宏的奥妙何在?(二)——大神Linus对这个宏怎么看?
Linus大神对这个宏怎么看?最新的max宏又是什么样子?让我们一探究竟!原创 2019-09-22 21:58:50 · 1141 阅读 · 0 评论 -
Linux内核中max()宏的奥妙何在?(一)
Linux内核中还有比较大小的宏?他和用户态下比较大小的函数有什么不同吗?这回,我们就来谈谈Linux内核中max()宏的奥妙。首先说说Linux内核中比较大小的几个函数,然后对宏定义源码进行详细分析,利用内核中的代码编写Linux内核模块,实现在Linux内核态下求最大数。当然,在kernel.h中,不仅仅只有比较大小,更多更好玩的内核宏,等你来探索。原创 2019-09-22 22:22:07 · 2968 阅读 · 5 评论 -
陈老师Linux内核概述导学
陈老师学堂在线《Linux内核分析与应用》导学第一章 : 概述原创 2019-10-08 17:40:26 · 4667 阅读 · 0 评论 -
陈老师Linux内核内存寻址导学
陈老师学堂在线《Linux内核分析与应用》导学第二章 : 内存寻址原创 2019-10-08 17:44:50 · 1317 阅读 · 1 评论 -
陈老师Linux内核进程管理导学
陈老师学堂在线《Linux内核分析与应用》导学第三章 : 进程管理原创 2019-10-08 17:49:08 · 875 阅读 · 0 评论 -
Linux内核之浅谈内存寻址
我们知道计算机是由硬件和软件组成,硬件主要包括运算器、控制器、存储器、输入设备和输出设备,软件主要是操作系统和用户应用软件,其中操作系统是联系硬件和软件的桥梁。文本主要分享运算器关于内存寻址的重点内容,从内存寻址的硬件机制重点和内核代码动手实践两部分来分享,欢迎交流。原创 2019-07-19 10:51:36 · 1133 阅读 · 2 评论