Linux Kernel
文章平均质量分 93
Linux Kernel
执假以为真
Learning, Coding, Writing
展开
-
Linux中常见的过滤拦截
Linux中常见的拦截过滤本文着重介绍Linux平台上常见的拦截: 用户态动态库拦截。 内核态系统调用拦截。 堆栈式文件系统拦截。 inline hook拦截。 LSM(Linux Security Modules) eBPF Hook拦截。(本文新增) 动态库劫持Linux上的动态库劫持主要是基于LD_PRELOAD环境变量,这个环境变量的主要作用是改变动态库的加载顺序,让用户有选择的载入不同动态库中的相同函数。但是使用不当就会引起严重的转载 2022-05-15 18:07:29 · 1849 阅读 · 0 评论 -
抢占是如何发生的
进程切换有自愿(Voluntary)和强制(Involuntary)之分,在前文中详细解释了两者的不同,简单来说,自愿切换意味着进程需要等待某种资源,强制切换则与抢占(Preemption)有关。抢占(Preemption)是指内核强行切换正在CPU上运行的进程,在抢占的过程中并不需要得到进程的配合,在随后的某个时刻被抢占的进程还可以恢复运行。发生抢占的原因主要有:1. 进程的时间片用完了,或者 2. 优先级更高的进程来争夺CPU了。抢占的过程分两步,第一步触发抢占,第二步执行抢占,这两步中间不转载 2021-03-11 22:47:13 · 1110 阅读 · 0 评论 -
抽丝剥茧 - Linux内核中的双向链表
本文简单介绍一下Linux内核中的双向链表。1. 第一个宏 offsetof首先,看一个宏 offsetof. 这个宏定义在<kernel.h>中。#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)这个宏解决什么问题呢?看下面三个结构体的定义。struct list_hea...原创 2019-04-23 23:59:27 · 339 阅读 · 0 评论 -
Linux块设备I/O栈浅析
看了网上若干关于Linux I/O栈的文章,觉得这篇还可以。故转载之。另外,在本文结尾,再配上比较新的(kernel 4.10)的Linux I/O栈的架构图等。原文:http://www.sysnote.org/2015/08/06/linux-io-stack/ 块存储,简单来说就是使用块设备为系统提供存储服务。块存储分多种类型,有单机块存储,网络存储(如NAS,SAN等),分布式...转载 2019-01-01 17:24:41 · 898 阅读 · 0 评论 -
内存气球技术实验(Memory Balloon)
Memory Balloon 实验原创 2017-02-08 00:31:05 · 4112 阅读 · 2 评论 -
如何使用内存相同页合并特性
如何使用内存相同页合并特性翻译 2017-01-31 21:49:11 · 1701 阅读 · 0 评论 -
《深入Linux内核架构》读书笔记第一章简介和概述
《深入Linux内核架构》读书笔记第一章 简介和概述原创 2017-01-05 00:01:55 · 860 阅读 · 0 评论 -
如何参与Linux内核社区开发
总结了Linux内核社区开发的一些要点原创 2016-12-16 21:50:21 · 2083 阅读 · 0 评论 -
如何做Linux内核的开发
How to do Linux Kernel development翻译 2016-12-15 20:50:05 · 1819 阅读 · 0 评论