{"id":13463791,"url":"https://github.com/yifengyou/learn-kvm","last_synced_at":"2025-05-16T12:07:46.616Z","repository":{"id":37382710,"uuid":"138052940","full_name":"yifengyou/learn-kvm","owner":"yifengyou","description":"Qemu  KVM(Kernel Virtual Machine)学习笔记","archived":false,"fork":false,"pushed_at":"2022-12-13T09:09:03.000Z","size":24657,"stargazers_count":1233,"open_issues_count":4,"forks_count":293,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-04-02T07:37:55.989Z","etag":null,"topics":["hypervisor","kernel","kvm","qemu","virsh","virtualization","vmx"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yifengyou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-20T15:39:02.000Z","updated_at":"2025-03-31T10:56:08.000Z","dependencies_parsed_at":"2022-08-03T02:30:21.779Z","dependency_job_id":null,"html_url":"https://github.com/yifengyou/learn-kvm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yifengyou%2Flearn-kvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yifengyou%2Flearn-kvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yifengyou%2Flearn-kvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yifengyou%2Flearn-kvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yifengyou","download_url":"https://codeload.github.com/yifengyou/learn-kvm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008628,"owners_count":21032556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hypervisor","kernel","kvm","qemu","virsh","virtualization","vmx"],"created_at":"2024-07-31T14:00:28.594Z","updated_at":"2025-04-09T09:02:47.793Z","avatar_url":"https://github.com/yifengyou.png","language":"C","funding_links":[],"categories":["C","C (286)"],"sub_categories":[],"readme":"# QEMU KVM学习笔记\n\n![20200206_083449_72](image/20200206_083449_72.png)\n\n## 仓库介绍\n\n* QEMU KVM 学习笔记\n\n```\nSomething I hope you know before go into the coding~\nFirst, please watch or star this repo, I'll be more happy if you follow me.\nBug report, questions and discussion are welcome, you can post an issue or pull a request.\n```\n\n## 相关站点\n\n* GitBook : \u003chttps://yifengyou.gitbooks.io/learn-kvm/content/\u003e\n* GitHub  : \u003chttps://github.com/yifengyou/learn-kvm\u003e\n* GitPage : \u003chttps://yifengyou.github.io/learn-kvm/\u003e\n\n## 目录\n\n**虚拟化相关**\n* [虚拟化技术简介](docs/虚拟化技术简介/虚拟化技术简介.md)\n* [虚拟化实现技术](docs/虚拟化实现技术/虚拟化实现技术.md)\n* [Intel硬件虚拟化技术](docs/Intel硬件虚拟化技术/Intel硬件虚拟化技术.md)\n* [AMD硬件虚拟化技术](docs/AMD硬件虚拟化技术/AMD硬件虚拟化技术.md)\n* [Xen虚拟化技术](docs/Xen虚拟化技术/Xen虚拟化技术.md)\n* [Lguest虚拟化技术](docs/Lguest虚拟化技术/Lguest虚拟化技术.md)\n\n**QEMU(用户态) 相关**\n\n* [QEMU介绍](docs/QEMU介绍.md)\n    * [QEMU历史](docs/QEMU介绍/QEMU历史.md)\n* [QEMU基本结构](docs/QEMU基本结构.md)\n* [QEMU工作原理](docs/QEMU工作原理.md)\n* [QEMU功能](docs/QEMU功能.md)\n    * [虚拟处理器](docs/QEMU功能/虚拟处理器.md)\n    * [虚拟磁盘](docs/QEMU功能/虚拟磁盘.md)\n    * [虚拟网络](docs/QEMU功能/虚拟网络.md)\n    * [虚拟USB](docs/QEMU功能/虚拟USB.md)\n    * [其他虚拟外设](docs/QEMU功能/其他虚拟外设.md)\n    * [VNC](docs/QEMU功能/VNC.md)\n    * [GDB调试](docs/QEMU功能/GDB调试.md)\n    * [直接引导Linux内核](docs/QEMU功能/直接引导Linux内核.md)\n* [QEMU模拟不同体系架构系统](docs/QEMU模拟不同体系架构系统.md)\n    * [x86架构](docs/QEMU模拟不同体系架构系统/x86架构.md)\n    * [x86_64架构](docs/QEMU模拟不同体系架构系统/x86_64架构.md)\n    * [PowerPC架构](docs/QEMU模拟不同体系架构系统/PowerPC架构.md)\n    * [MIPS架构](docs/QEMU模拟不同体系架构系统/MIPS架构.md)\n    * [ARM架构](docs/QEMU模拟不同体系架构系统/ARM架构.md)\n* [QEMU使用](docs/QEMU使用.md)\n    * [QEMU运行x86_64虚拟机](docs/QEMU使用/QEMU运行x86_64虚拟机.md)\n\n**KVM(内核态) 相关**\n\n* [KVM介绍](docs/KVM介绍.md)\n  * [KVM历史](docs/KVM介绍/KVM历史.md)\n* [KVM基本结构](docs/KVM基本结构/KVM基本结构.md)\n* [KVM工作原理](docs/KVM工作原理/KVM工作原理.md)\n* [构建KVM环境](docs/构建KVM环境/构建KVM环境.md)\n* [KVM核心基础功能](docs/KVM核心基础功能/KVM核心基础功能.md)\n    * [QEMU-KVM基本格式](docs/KVM核心基础功能/QEMU-KVM基本格式.md)\n    * [QEMU-KVM网络配置](docs/KVM核心基础功能/QEMU-KVM网络配置.md)\n    * [QEMU-KVM图形界面](docs/KVM核心基础功能/QEMU-KVM图形界面.md)\n* [KVM高级功能](docs/KVM高级功能/KVM高级功能.md)\n* [KVM内核模块源码分析](docs/KVM内核模块源码分析/KVM内核模块源码分析.md)\n    * [kernel-2.6-KVM源码目录树分析](docs/KVM内核模块源码分析/kernel-2.6-KVM源码目录树分析.md)\n    * [kernel-4.2-KVM源码目录树分析](docs/KVM内核模块源码分析/kernel-4.2-KVM源码目录树分析.md)\n    * [KVM源码分析-基本工作原理](docs/KVM内核模块源码分析/KVM源码分析-基本工作原理.md)\n    * [KVM的初始化流程](docs/KVM内核模块源码分析/KVM的初始化流程.md)\n    * [KVM源码分析-虚拟机的创建与运行](docs/KVM内核模块源码分析/KVM源码分析-虚拟机的创建与运行.md)\n    * [KVM源码分析-CPU虚拟化](docs/KVM内核模块源码分析/KVM源码分析-CPU虚拟化.md)\n* [KVM开源社区](docs/KVM开源社区/KVM开源社区.md)\n\n**附录**\n\n* [参考书籍](docs/附录/参考书籍.md)\n* [相关概念](docs/附录/相关概念.md)\n\n\n## 相关站点\n\n* QEMU官网 : \u003chttps://www.qemu.org/\u003e\n* QEMU官方文档 : \u003chttps://qemu.weilnetz.de/doc/qemu-doc.html\u003e\n* QEMU源码托管仓库 : \u003chttps://git.qemu.org/git/qemu.git/\u003e\n* kvm源码托管仓库 : \u003chttps://git.kernel.org/pub/scm/virt/kvm/kvm.git/\u003e\n* Kernel Virtual Machine : \u003chttp://www.linux-kvm.org/page/Main_Page\u003e\n* KVM早起源码pkgs : \u003chttps://src.fedoraproject.org/lookaside/pkgs/qemu/\u003e\n* SourceForge KVM页 : \u003chttps://sourceforge.net/projects/kvm/\u003e\n\n## 经典图示\n\n![20200206_081602_17](image/20200206_081602_17.png)\n\n![20200206_081805_84](image/20200206_081805_84.png)\n\n## 思维导图\n\n![1531909971346.png](image/1531909971346.png)\n\n![1534161835343.png](image/1534161835343.png)\n\n* kvm_x86_ops针对具体CPU架构进行虚拟化时的函数指针，分别对应kvm-intel.ko和kvm-amd.ko\n\n![1534161866401.png](image/1534161866401.png)\n\n* struct KVM 结构体唯一代表一个虚拟机\n\n![1534165263011.png](image/1534165263011.png)\n\n\n\n## 总结\n\n```\n  1.基础永远值得花费90%的精力去学习加强。厚积而薄发~\n  2.要理解一个软件系统的真正运行机制，一定要阅读其源代码~\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyifengyou%2Flearn-kvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyifengyou%2Flearn-kvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyifengyou%2Flearn-kvm/lists"}