linux内核特性

Jul
17

cgroup限制读写速率

0-前言 经常存在需要模拟用户场景下的性能测试,模拟的一个方式就是构造特定带宽的io,而fio、dd等等io测试工具是不具备限制读写速度的功能的,所以这里就要用到cgroup的能力,这里记录一下如何限制特定进程、盘符的读写能力。 1-安装工具&创建组 首先要安装group工具 yum install libcgroup-tools 然后用cgroup工具创建一个iocgroup组 cgcreate -g blkio:/iotest 如果创建成功后,
3 min read
Jul
12

inux中断-硬中断

0、前言 中断子系统有一次大改造,先mark一下 https://lore.kernel.org/all/20200521200513.656533920@linutronix.de/ arm64参考:Linux 中断管理机制 1、概述 广义上的中断主要分为同步中断和异步中断两种 * 同步(
18 min read
Jan
23

系统调用

1、概述 linux中有很多的命令是通过用户态实现的调用,例如最基础的read、write函数,通过系统调用,陷入内核态,执行内核中的相关系统sys_read、sys_writeAPI逻辑。 函数的命名也基本遵循上述规律,用户态的函数通常是xyz(),而内核态中的相关调用则是sys_xyz()。由于整个流程涉及到内核态与用户态的切换,所以系统调用的实现与架构强相关。 2、用户态实现 通常来说,
8 min read
Jan
12

内核同步机制1

1、原子操作 原子操作的核心和是完成命令整个操作不会被打断。 原子操作(atomic operation),不可分割的操作。其通过原子变量来实现,以保证单个CPU周期内,读写该变量,不能被打断,进而判断该变量的值,来解决并发引起的互斥。 由于原子操作的原理,所以在功能实现上需要硬件平台的支持,以x86平台为例,在执行原子操作的时候会在指令前增加一个LOCK_PREFIX前缀, static __always_
20 min read