acccidiccc wrote:
thanks for your reply! I have implemented them to run as kernel-space. this discussion will probably boil down to micro vs monolithic kernel.
i decided to use the probably more simple monlithic kernel model.
Yes, but I only run the file systems as servers (microkernel), and the rest is still based on a monolithic kernel design. So, I don't think you need to place a kernel into a single category.
Also, I don't implement a generic IPC protocol that servers can use (which is typically done in a microkernel), rather I have implemented a custom protocol for the FS only which is not that useful for moving other parts to a microkernel.
Actually, my primary objective for having the file systems as user processes is that they get more linear memory and don't have to compete for it with other file systems or other drivers. Every partition has 2GB private linear memory for storing FS data and every disc has another 1GB for buffers. I can also isolate filesystem data from the rest of the kernel, and I can use C++ for the FS implementations.