12 Star 26 Fork 11

openEuler-competition / Summer 2021

 / 详情

No. 144 - 开发Linux 跨进程共享地址空间引擎

待办的
任务 拥有者
创建于  
2021-05-18 14:45

描述

现代的 Linux 操作系统中的用户态程序均基于 Virtual Address。不用用户态程序的 Virtual Address 相互独立,即用户态程序独占各自的 Virtual Address Space。当两个或者多个进程进行进程间通信时,通过基于 share memory 的 IPC 机制可以将不同 Virtual Address Space 中的 Virtual Address 指向相同的 physical memory。但 App1 中 “共享内存” 所占用的 Virtual Address 和 App2 中 “共享内存” 所占用 的 Virtual Address 可能并不相同。试想有一个 ‘SVA engine’,通过 ‘SVA engine’ 提供的操作接口,将多个 APP 挂载到 ‘SVA engine’ 上。挂载到 ‘SVA engine’ 上同一个 ‘channel’ 的 APP 将共享 Virtual Address Space 中的一段或者多段虚拟地址。

难度

导师 @liliang

联系方式 liliang6@me.com

产出标准

独立的内核模块,可支持 Linux 进程共享(分段的)虚拟地址空间;
对 Linux 内核尽量小的侵入式改动;
2 个以上的 Linux demo app,可以直接通过 SVA 共享数据结构;

技术要求

基于 openEuler 内核
基本 ARM64 体系架构
独立的内核模块实现
支持 4 个以上的进程共享分段的虚拟地址空间
支持进程动态分享虚拟地址空间

评论 (0)

Joyee 创建了任务
Joyee 修改了描述
展开全部操作日志

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(1)
114870 bluesky1213 1610081847
1
https://gitee.com/openeuler-competition/summer-2021.git
git@gitee.com:openeuler-competition/summer-2021.git
openeuler-competition
summer-2021
Summer 2021

搜索帮助