-
Notifications
You must be signed in to change notification settings - Fork 103
AAA TODOs and misc ideas for Tilck
Vladislav K. Valtchev edited this page Oct 5, 2024
·
5 revisions
This is an informal list of TODOs and nice ideas for the Tilck project.
Legend
-
S = Size (1-10)
- 1 means less than 100 LoC
- 2 means up to hundreds of LoC
- 3 means 1-2k LoC
- 4 means 2-3k LoC
- 5 means at least 3-4k LoC
- 8 means at least 7-8k LoC, hopefully less than 10k
- 10 means at least 10k-15k LoC or more
-
C = Complexity (1-10), for an experienced kernel engineer (L4-L5 level).
- 1 means trivial
- 2-3 means simple
- 5-6 means medium
- 7 means challenging
- 8-9 means difficult
- 10 means extremely difficult
For non-kernel engineers, it's totally non-obvious how to do determine the complexity of a task. It depends a lot on the particular profile of the person. Generally speaking, the subjective complexity of a task raises when the person is less experienced. For example, depending on the person, a simple or medium task might be perceived subjectively as difficult.
Idea / Task / Project | S | C | Status | Component |
---|---|---|---|---|
Make Tilck work on x86-64 | 10 | 10 | in progress | everything |
Add support for SMBIOS table | 2 | 3 | not started | kernel |
Design and implement utils to test corner cases | 2 | 2 | not started | sys tests |
Write unit tests for the console ANSI sequences | 3 | 2 | not started | unit tests |
Use QEMU's QMP instead of the human monitor for tests | 4 | 4 | not started | test infra |
Implement sys_statx() in Tilck | 2 | 3 | not started | kernel |
Implement CoW of page tables for faster fork() | 3 | 8 | not started | kernel |
Make the latest VIM run on Tilck | 3 | 7 | not started | kernel |
Support SIGTTIN and SIGTTOU for job control | 3 | 7 | not started | kernel |
Add support for dynamic linking | 3 | 8 | not started | kernel |
Add support for IDE disks | 3 | 6 | not started | kernel |
Add support for SATA disks | 6 | 8 | not started | kernel |
Add support for SCSI disks | 6 | 8 | not started | kernel |
Intr. block devices and rethink VFS | 6 | 9 | not started | kernel |
Make the FAT32 use block dev abstraction | 4 | 7 | not started | kernel |
Intr. a full ext2 implementation | 9 | 8 | not started | kernel |
Write a minimal driver for a network device (e1000) | 5 | 8 | not started | kernel |
Introduce abstractions and syscalls for networking | 8 | 8 | not started | kernel |
Make Tilck run on AARCH64 (Raspberry PI) | 10 | 10 | not started | everything |