Skip to content
Chen edited this page Mar 13, 2019 · 2 revisions

参会人员

cy, xy, cjj, yzjc, wrj, zqy

cy: OS == App

设计一种方法,支持在用户态用多种语言快速开发OS组件,通过工具辅助重构成内核态模块。

相关工作:

  1. Biscuit: Go Runtime => kernel
  2. ixy: Net driver => user
  3. Rust: std for user, core for bare metal
  4. DPDK, FUSE
  5. Process In Process ??

用户态中断

主要目标:

  1. 如何用于用户态驱动?
  2. 如何用于进程通讯IPC?

要考虑的问题:

  1. 共享设备如何处理?例如网络包需要解析才能知道要分发到哪个进程。

    cy: 用户态公共库处理

    xy: 只能内核处理

    wrj: 内核向用户态暴露一段只读可执行的中断处理例程,解析网络包(如何读到数据是个问题)。如果属于正在执行的进程,则跳转到用户处理函数,否则进入内核态处理。

  2. 如何修改硬件以更好地适配软件?

    例如:网络环境中,FPGA快速响应中断信号

动态user/kernel界面调整

通过程序设计语言的支持,在system call与function call之间快速转换

可能的实现:运行时替换?

兴趣与近期目标

  • cjj: 真实网卡82599,真机测试
  • wrj: 真机测试,性能对比
  • yzjc: 用户态中断
  • zqy: 多线程与网卡驱动/协议栈