尝试实现ltp
已实现的系统调用(共 20+ 个):
| 类别 | 系统调用 | 状态 |
|---|---|---|
| Futex | futex, set_robust_list, get_robust_list | |
| 信号 | sigaltstack, sigsuspend, rt_sigpending | |
| I/O多路复用 | epoll_create1, epoll_ctl, epoll_pwait | |
| 事件通知 | eventfd2, timerfd_create, timerfd_settime, timerfd_gettime | |
| 文件监控 | inotify_init1, inotify_add_watch, inotify_rm_watch | |
| 进程管理 | waitid, wait4, exit_group | |
| I/O操作 | pipe2, preadv, pwritev | |
| 内存文件 | memfd_create |
当前状态评估
可以运行的 LTP 测试:
- 基础的 futex 测试
- 简单的信号测试
- 基本的进程管理测试
- 部分 I/O 测试
仍可能缺失的关键功能:
- 完整的信号实现 - SA_SIGINFO、信号队列
- 完整的 futex 实现 - PI 锁、robust 列表清理
- 进程组/会话管理 - setpgid, getsid 等
- 资源限制 - setrlimit/getrlimit
- 定时器 - setitimer/getitimer
- 文件锁 - flock, fcntl 锁