Goals for 1.0

Matt Dillon has posted his list of personal tasks to finish before the 1.0 release in June of this year.

“After a great deal of thought I have decided that the AMD64 port can wait
until after the first release. Instead, I would like to finish up and
make operational (hopefully) three major infrastructure interfaces. I
have my work cut out for me, to say the least. Here are my personal
goals:

* Directory services. Most of the infrastructure is now in place, the next step for me is to start integrating support into libc.

* Syscall interface layer and messaging (true async syscalls), and related upcall and other interfaces, such as placing the syscall compatibility layer into userland.

I’m not happy with the current infrastructure. I am going to rework it and use a shared memory segment between userland and the kernel that the messages would be transfered through, allowing us to avoid copyin/copyout. The same rendezvous memory API could be used to augment the directory services IPC syscalls (CAPS calls) to greatly improve their performance as well.

I don’t know if I will have time to actually move the compatibility layer (sysv, ibcs, linux compat) to userland before the first release, but I’ll try.

* Userland VFS and DEV interfaces. Not yet started. I’ll consider this goal as ‘done’ when I have sucessfully created a userland ‘vn’ like device and migrated, say, ext2fs, to userland. As part of this I am going to try to ‘fix’ the buffer cache code to reduce the number of kvm mappings it has to do.”