From 913102699e80887958f47dd7e348257fbba84cbd Mon Sep 17 00:00:00 2001 From: Bin Wu Date: Mon, 11 Oct 2021 02:30:56 +0000 Subject: [PATCH] docs: add the high level design for logical partition Continue to desgin the basic idea of the logical partition. Signed-off-by: Bin Wu --- docs/assets/Logical_partition.png | Bin 0 -> 39293 bytes docs/design.md | 14 +++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 docs/assets/Logical_partition.png diff --git a/docs/assets/Logical_partition.png b/docs/assets/Logical_partition.png new file mode 100644 index 0000000000000000000000000000000000000000..18dbae65386b09a59bb39b1df132364bfd676a69 GIT binary patch literal 39293 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 lq|9JU{cDE!zx$?dbGz;r6 + + + +其中,管理分区是Capsule Hypervisor所运行的系统,一旦某个物理CPU被分配给一个逻辑分区后,该物理CPU就会从管理分区中下线,完全脱离管理分区的管辖(无法对分区中的CPU进行任务调度),并重新进入初始化过程,进而开始执行逻辑分区中的程序;物理内存会被划分成独立的区间供不同逻辑分区命名用,通过硬件辅助虚拟化技术中的内存隔离能力可以确保不同逻辑分区不会相互干扰,但是GPA到HAP转换阶段不会产生缺页异常;此外,外部设备借助虚拟设备直通技术以独占方式被逻辑分区使用。 ## 用户态与内核态接口 -内核模块呈现全局唯一**/dev/capsule**字符设备,用户态模块通过ioctl使用全局基本功能: +内核模块呈现全局唯一/dev/capsule字符设备,用户态模块通过ioctl使用全局基本功能: >* API兼容性获取; >* 创建虚拟机或分区; -- Gitee