Watch 6 Star 7 Fork 2

openEuler / marketingMulanPSL-2.0

No. 19 - LSCA - Linux 系统调用代理

任务
待办的
liliang  Opened this issue

标题 No. 19 - LSCA - Linux 系统调用代理

任务描述 Linux 内核提供了系统调用给用户态程序调用。Linux APP 通过系统调用获取 Linux 内核提供的各项服务。对 APP 而言,使用到的系统调用可能只是 Linux 内核提供的全部系统调用集合的一个子集。

基于如下考虑:

对一个标准 APP 而言,其一般通过 glibc 提供的对系统调用的封装进行系统调用。那么 LSCA(Linux System Call Agent)
期望取代 glibc 完成的功能,针对系统调用,进行自定义的封装。

LSCA 首先接管 APP 的系统调用请求,然后根据配置,完成:

  • log 到日志(依据配置,可选)
  • 完成真正的 System Call(真正的系统调用不能够 通过和 Linux 内核进行交互来完成,特征是,由 Linux 内核提供的系统调用服务需要切换处理器运行模式,而此处提供系统调用服务的是 LSCA daemon 服务,不需要切换处理器运行模式)。

难度

导师 @liliang

联系方式 liliang6@me.com

产出标准

  1. 共享库和提供 System Call 服务的 LSCA daemon;
  2. 通过 LD_LIBRARY_PATH 在 APP 启动时进行系统调用代理;
  3. 模块化的接口,对于完成真正 System Call 的方式可选择替换后端;
  4. 能够对标准 TCP echo server 和 TCP echo client 应用程序进行系统调用代理;

技术要求

  1. 基于 openEuler 内核
  2. 基本 ARM64 体系架构
  3. 基于共享内存实现 LSCA(Linux System Call Agent)daemon 和 APP 直接的通信;

相关项目

  • strace
  • gvisor

相关资料

Attachments
5329419 openeuler ci bot 1578984659 23249 genedna 1586065964 total 4 participants

Comments (1)

5329419 openeuler ci bot 1578984659
openeuler-ci-bot 2020-05-22 10:57 owner

Hey @liliang , Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot .
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

Sign in to comment

Assignees
Labels
Not set
Projects
Milestones
Branches
Planed to start
Planed to end
Top level
Priority
1
https://gitee.com/openeuler/marketing.git
git@gitee.com:openeuler/marketing.git
openeuler
marketing
marketing

Search