David's TODO list

This is the to-do/wish list of David van Moolenbroek, who believes that all of these projects are either downright necessary or incredibly helpful for the MINIX3 project. It is not necessarily exhaustive, final, accurate, or in any way to be taken as indicative of what may happen in the future. Interested contributors are free to adopt any of these projects as their own and/or communicate with David about doing so.

Make dup2 an actual system call

See if SUSPEND can be redefined to EDONTREPLY

Preserve mounted file systems while remounting root FS

Make libblockdriver accept chardriver requests as well

Get rid of _SIGN for errno numbers

Implement stack trace support in kernel/trace(1) for ARM

Rewrite the VFS pipe code to operate properly

Move code shared between tty and pty into a library

Deliver debugger signals only upon process receipt

Add a very basic debugger

Add support for lchown, lchmod, fchownat, fchmodat

Increase MFS's maximum file size to from 2GB-1 to 4GB-1

Replace REQ_INHIBREAD with a flag to read/peek

Implement true vector support for readv/writev/sendmsg/recvmsg

Implement SA_RESTART support

Implement proper subpage block size support in libminixfs ("reworking minixfs, part 2")

Document the lib{block,char,fs,input,net,sock}driver abstraction libraries

Implement call permission ACLs in PM and VFS

Implement VM page protection and mprotect

Improve out-of-memory management in VM

Add GPT support

Add devfs

Add SEM_UNDO support to SysV IPC semaphores

Add support for SysV IPC message queues

Make procfs no longer import other services' headers and tables

Make procfs optional

Rework the DS publish/subscribe API

Make the MIB service's RMIB calls asynchronous

Extend RMIB functionality/robustness to match service requirements

Disallow killing processes in an uninterruptible system call

Add support for pselect(2)

Implement job control

Merge TwinFS

Move the BSD socket API into VFS

Look into setuid/seteuid behavior

Resolve the issue of soft faults versus partial success in file systems

Change grant IDs to incorporate generation numbers

Add support for missing IPC server information calls

Create a libkvm wrapper system to support ps(1)

Allow nonroot users to create PTYs

Put the current clock value on the kinfo page, at least for system processes

Add support for wait4