Recent posts

Linux的virtio设备前端驱动实现

1 minute read

众所周知,virtio协议是虚拟化场景下诞生的一种前后端设备通信协议,极大提升了虚拟化场景下的I/O性能。该协议需要前后端共同配合实现,Guest OS内部需要安装virtio设备的前端驱动,后端VMM则负责模拟对应的virtio设备后端,两者基于virtio规范进行通信。 本文主要基于Linux Kernel ...

KVM在ARM架构上的初始化

less than 1 minute read

KVM是Linux内核里集成的一种type 2虚拟化方案,它作为内核的一个模块负责虚拟化环境初始化,虚拟机和虚拟CPU模拟,以及I/O捕获与转发等功能。

Sleepable RCU

1 minute read

经典RCU在临界区内不能睡眠或阻塞,因此SRCU(Sleepable RCU)被提出允许在读者的临界区内睡眠。为了尽量避免在临界区内睡眠导致的RCU callbacks积压,SRCU采用了域隔离,即使出现RCU callbacks积压,也只影响当前域的SRCU。

从源码全面了解crun

5 minute read

crun是Redhat的工程师Giuseppe开发的一款低层级的OCI runtime,与runc一样都全面兼容OCI标准规范,负责执行容器生命周期等各种管理功能。但与runc使用go语言不同,crun使用C语言开发,使其具有优异的性能与较小的内存开销,同时其程序的二进制文件更小,而且支持更多OCI不支持的新特性...

虚拟机的重启、关机以及重置

3 minute read

目前物理计算机的电源管理大部分均采用ACPI技术,它是英特尔等公司提出的操作系统应用程序管理所有电源管理接口的规范,包括了软件和硬件方面的规范,操作系统的电源管理功能通过调用 ACPI 接口,实现对符合 ACPI 规范的硬件设备的电源管理。和物理计算机一样,虚拟机同样需要类似重启、关机、重置等的生命周期操作,本文...