大总结:qemu第二轮源码学习--Apple的学习笔记
  2Nv1H5BMjysw 2023年11月02日 33 0

一,前言

我原来想开启学习qemu的目的除了感觉好奇想探秘意外,有如下几个目的

1,掌握qemu创建开发板的方法,我之前认为是8小时内就可以完成的,这样有利于我自己定制各种开发板玩。

结果分析源码后才知道8h绝对完成不了,只能基于原来开发板做小修改。

2,借着掌握qemu源码来进一步熟悉linux内核的进程切换原理及启动流程

结果发现其实关系不大,所以熟悉linux内核进程切换原理及启动流程最简单的是去看linux0.11源码及相关学习资料,网上很多。

3,了解优秀基于linux的c应用开发是如何设计的

结果如愿以偿,get到了一些小tip,对glibc库也加深了了解,最重要的学习到了c语言面向对象的另外一种设计方法。

4,想搞清楚qemu和kvm还有hypervise及virtio驱动这些技术的关系及区别

结果基本都了解了,知道了硬件虚化(直接映射io),半虚化,全虚化(效率最低,特别是mmu多层切换)的概念,知道了kvm是内核的通过ioctrl来控制,知道了virtio主要是知道设备是虚拟的然后使用的特殊驱动,用fifo设计来降低io负载,也都属于半虚化。

5,想搞清楚做qemu的人都是哪些工种,是否和功能安全有关

结果了解到主要是做服务器容器开发为主,双系统并行运行用到hypervise调度共享底层资源,但是从功能安全角度没有独立硬件,混合操作硬件的反而是不安全的。

二,内容

2.1 第二轮qemu源码分析

Qemu源码分析(1)—Apple的学习笔记

https://blog.51cto.com/AppleCai/7402306

Qemu源码分析(2)—Apple的学习笔记

https://blog.51cto.com/AppleCai/7483657

Qemu源码分析(3)—Apple的学习笔记

https://blog.51cto.com/AppleCai/7493755

Qemu源码分析(4)—Apple的学习笔记

https://blog.51cto.com/AppleCai/7494473

Qemu源码分析(5)—Apple的学习笔记

https://blog.51cto.com/AppleCai/7502695

qemu源码分析(6)--Apple的学习笔记

https://blog.51cto.com/AppleCai/7516182

Qemu源码分析(7)--Apple的学习笔记

https://blog.51cto.com/AppleCai/7586221

Qemu源码分析(8)—Apple的学习笔记

https://blog.51cto.com/AppleCai/7629931

qemu源码分析(9)--Apple的学习笔记

https://blog.51cto.com/AppleCai/7664864

Qemu源码分析(10)—Apple的学习笔记

https://blog.51cto.com/AppleCai/7694211

Qemu源码分析(11)—Apple的学习笔记

https://blog.51cto.com/AppleCai/7701587

2.2 qemu过程中学习的linux内核相关复习

qemu中的glib库api试用--Apple的学习笔记

https://blog.51cto.com/AppleCai/7419784

基于wsl的ubuntu vscode调试环境搭建--Apple的学习笔记

https://blog.51cto.com/AppleCai/7529769

Linux的双链表复习—Apple的学习笔记

https://blog.51cto.com/AppleCai/7614626

MMU复习--Apple的学习笔记

https://blog.51cto.com/AppleCai/7615238

通过linux0.11学习操作系统原理--Apple的学习笔记

https://blog.51cto.com/AppleCai/7684036

三,总结

学以致用乐趣无穷。我已经把学到的log方法移植到了我自己项目中,且尝试了qemu中QObject的面向对象设计方法,过程中复习了rcu看了qemu简单版的rcu实现源。这是第二次qemu拔草,依然有新鲜感,不过暂时发现它对我的工作没多大帮助,而我想了解的5项内容也都基本完成。所以close file,进行资料打包封存。

注:我的qemu第一轮学习地址

大总结:Qemu虚化源码二次开发--Apple的学习笔记



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

2Nv1H5BMjysw