主要观点:Redox 获 NGI Zero grants,作者负责其 POSIX 信号项目,此项目旨在实现合适的 POSIX 信号处理和进程管理,且在用户空间进行。公告后一周作者准备内核以适应新 IPC 变化,之后用大部分基于用户空间的方式替换当前信号实现,此改动接近合并。
关键信息:
- 改进的用户空间方案协议和无状态 IO:新的方案数据包格式和两个新系统调用使 RedoxFS 复制性能提高 63%,新格式类似 io_uring,添加了新系统调用
SYS_PREAD2
和SYS_PWRITE2
。 - 信号处理:内核信号实现已改进,但仍有限,如缺乏对
sigprocmask
等的支持。目前提议仅使用共享原子内存访问实现sigaction
等,重点优化接收相关信号 API,还提出了用户空间进程管理器。
重要细节: - 数据包结构变化:旧的
Packet
结构在 2016 年定义,最多支持 3 个参数,导致技术债务,新的Sqe
和Cqe
结构更适合,分别用于提交和完成队列条目。 - 信号实现细节:用两个
AtomicU64
位集在 TCB 中存储标准和实时信号,实现sigprocmask
等,目前未实现针对整个进程的信号,之后将继续实现相关功能。 - 相关计划:信号项目按计划进行,夏季末有望完成 POSIX 信号支持,之后将开始用户空间进程管理器的工作,可能包括新的内核性能或功能改进。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。