一、系统调用 系统调用由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(API),是应用程序同系统之间的接口。当用户态进程发起一个系统调用, CPU将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程序的要求,例如操作文件、进行网络通讯或者申请内存资源等。 操作 ...
分类:
其他好文 时间:
2019-12-19 23:42:21
阅读次数:
167
KVM虚拟化架构KVM模块直接整合在Linux内核中KVM组成1.KVMDriver·虚拟机创建·虚拟机内存分配·虚拟CPU寄存器读写·虚拟CPU运行2.QEMU(经过简化与修改)·模拟PC硬件的用户控件组件·提供I/O设备模型及访问外设的途径KVM虚拟化三种模式·客户模式·用户模式(工具层)·内核模式KVM工作原理KVM基本功能管理查看命令帮助查看KVM的配置文件存放目录查看虚拟机状态虚拟机关机
分类:
其他好文 时间:
2019-12-19 23:20:16
阅读次数:
119
一、建立gdb与gdbserver的通信: 在gdb设置断点在start_kernel阻塞 在gdb调试窗口输入指令c,QEMU继续启动 通过gdb可以跟踪到内核代码start_kernel。 二、为MenuOS集成网络通信程序,即为MenuOs添加replyhi命令。 此时会重启MenuOS 三、 ...
分类:
系统相关 时间:
2019-12-19 19:01:21
阅读次数:
90
qemu综述 https://www.ibm.com/developerworks/community/blogs/5144904d-5d75-45ed-9d2b-cf1754ee936a/entry/20160805?lang=en qemu整体架构和线程模型 https://www.ibm.co ...
分类:
其他好文 时间:
2019-12-16 11:42:58
阅读次数:
80
今天尝试用qemu+gdb的方式调试内核,但是当设置了断点,程序执行到断点时就报错:remote ‘g’ packet reply is too long,错误图片如下 解决办法网上了,说是改一下gdb/remote.c的代码,开始一脸懵逼,都不知道改哪里,知道看到了这篇博客:https://blo ...
分类:
数据库 时间:
2019-12-11 21:42:01
阅读次数:
218
Init属性服务 系统属性服务 属性梳理 来源和读取时机 来源:内核参数 ro.kernel.* 代表有qemu内核参数才会设置(在虚拟机中) ro.boot.* 1.内核设备树相关的设备属性,从 /proc/cmdline 的androidboot.* 中来 2.内部变量export_kernel ...
分类:
移动开发 时间:
2019-12-11 09:35:06
阅读次数:
114
1:实验环境选择 我选择的是实验楼平台,在 LinuxKernel 目录已经构建好了基于 3.18.6 的内核环境,可以使用实验楼的虚拟机打开 Xfce 终端(Terminal), 运行 MenuOS 系统。 2:启动内核 打开终端键入以下命令: $ cd ~/LinuxKernel/ $ qemu ...
分类:
系统相关 时间:
2019-12-10 22:33:41
阅读次数:
140
调试Linux内核环境MenuOS系统 一、实验简介 本文采用自己搭建环境的方式对gdb进行了模拟。 (1)工具介绍 1)QEMU介绍 QEMU是一个主机上的VMM(virtual machine monitor),通过动态二进制转换来模拟CPU,并提供一系列的硬件模型,使guest os认为自己和 ...
分类:
系统相关 时间:
2019-12-09 14:14:34
阅读次数:
201
博文大纲:虚拟磁盘管理;KVM虚拟机快照管理;在KVM虚拟机中有两种磁盘格式,分别是:RAW:裸格式。占用空间较大,性能比较好,但不支持快照功能;qcow2:占用空间较小,性能相比较RAW稍差,,但它支持快照功能;1.虚拟磁盘管理:举例说明:[root@localhost~]#qemu-imgcreate1234.raw5G//创建虚拟磁盘,名称为1234.raw,大小为5G,创建磁盘默认格式为r
分类:
其他好文 时间:
2019-12-02 20:49:09
阅读次数:
215