logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

一文讲解Linux内核——性能调优攻略

让我们先来说说如何什么是系统性能。这个定义非常关键,如果我们不清楚什么是系统性能,那么我们将无法定位之。我见过很多朋友会觉得这很容易,但是仔细一问,其实他们并没有一个比较系统的方法,所以,在这里我想告诉大家如何系统地来定位性能。Throughput,吞吐量。也就是每秒钟可以处理的请求数,任务数。Latency, 系统延迟。也就是系统在处理一个请求或一个任务时的延迟。一般来说,一个系统的性能受到这两

文章图片
#linux#服务器#开发语言 +1
解析Linux内核内存管理与漏洞利用

网上已经有很多关于Linux内核内存管理的分析和介绍了,但是不影响我再写一篇:) 一方面是作为其他文章的补充,另一方面则自己学习的记录、总结和沉淀。所谓条条大路通罗马,本文只作为其中一条路,强烈建议想去罗马的朋友看完文末所列举的参考文章。在我们平时学习相对复杂的系统时,仅仅了解实现文档只能算是走出第一步;阅读代码并且上机调试可以将理解加深一个层次,知道“what's inside“;不过,如果能从

文章图片
#linux#服务器#数据结构
Linux内核黑科技——mmap实现详解

从上图可以看出,mmap 的原理就是将虚拟内存空间映射到文件的页缓存,我们可以知道:对文件进行读写时需要经过页缓存进行中转的。所以,为了降低分析的难度和让读者能够更容易看懂,在分析源码时更注重知识点的实现,而在不影响理解的情况下,我会忽略一些细节问题。其用途是将文件映射到内存中,然后可以通过对映射区的内存进行读写操作,其效果等同于对文件进行读写操作。系统调用并没有直接将文件的页缓存映射到虚拟内存中

文章图片
#科技#开发语言#linux +1
Linux内核无线子系统(建议深究)

一般 WiFi 驱动包含如下三个部分:配置、发送回调、接收回调。再以 USB WiFi 适配器为例,当内核探测到设备被插入时,会调用 probe 函数。这可能发生在注册配置好的 ieee80211_ops 时。首先, ieee80211_alloc_hw 分配一个 ieee80211_hw 结构体,代表着相应 WiFi 设备。wiphy 结构:主要用来描述 WiFi 硬件参数(如, MAC 地址、

文章图片
#linux#网络#运维
Linux内核中断上半部处理程序

上面的例程存在问题,因为其实现往往是简单禁止、允许中断(x86下,local_irq_disablecli指令,local_irq_enablesti指令),如果在这之前已经禁止中断,调用该例程后,将无条件恢复中断。上面3个函数调用可以嵌套,但在一条指定的中断线上,对disable_irq()和disable_irq_nosync()的每次调用,都需要相应地调用一次enable_irq()。此外,

文章图片
#嵌入式硬件#linux#驱动开发 +1
深入Linux内核架构——数据结构(vm_area_struct,优先树)

总结:每一个inode都有一个唯一的address_space,每一个address_space都有唯一一个专属prio_tree_root,其上的结点类型为prio_tree_node,vm_area_struct中share中的raw_prio_tree_node类型成员在插入时会转化为prio_tree_node,插入方法如上文讨论,类似于基准树,并且上文中的区间的左区间保存在vma->vm

文章图片
#数据结构#c++#算法 +2
学了三个月Linux内核,面试薪资直接翻番,我才明白TA的重要性

目录为什么要学习Linux内核,这个问题我相信很多人都不一定答得上来。只是从技术层上讲,对内核的研究会加深我们的技术的理解,更多的理解源码,是从思想和思考方式上的优化。而在一般的敲代码过程中对于它的实际使用场景并不多。用一句很吊的话说,不懂内核你可以成为一名优秀的码农,但是成不了一名优秀的程序员。那回到为什么要学的问题上来。现阶段国内大学的计算机教学情况是不容乐观的,教材过时或者实战性不够成为通病

文章图片
#linux#服务器#驱动开发 +2
Linux内核高危提权漏洞,这些版本快升级

据介绍,本地用户可以将自己的数据注入敏感的只读文件,消除限制或修改配置以获得更高的权限。有研究人员通过利用该漏洞修改 /etc/passwd 文件进行了举例,修改后可直接取消 root 用户的密码,然后普通用户使用 su root 命令即可获得 root 账户的访问权限。Max 表示,“脏管道”漏洞与几年前的“脏牛”类似,所以采用了相似的名字,不过前者更容易被利用。因为非特权进程可以将代码注入 r

文章图片
#linux#安全#开发语言 +2
Linux内核移植小知识——网络驱动修改

修改好设备树和 Linux 内核以后重新编译一下,得到新的 zImage 镜像文件和 imx6ull-mybsp-emmc.dtb 设备树文件, 使用网线将 I.MX6U-ALPHA 开发板的两个网口与路由器或者电脑连接起来,最后使用新的文件启动 Linux 内核。所以我们要删除SPI4的IO口掉重新定义。首先需要找到 LAN8720A 的驱动文件,LAN8720A 的驱动文件是 drivers/

文章图片
#linux#运维#服务器
内核大佬讲述,Linux内核源码分析方法(建议收藏)

Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径。我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写。编程固然重要,但是往往只编程的人很容易把自己局限在自己的知识领域内。如果要扩展自己知识的广度,我们需要多接触其他人编写的代码,尤其是水平比我们更高的人编写的代码。通过

文章图片
#linux#服务器#开发语言 +2
    共 11 条
  • 1
  • 2
  • 请选择