question regarding fs drivers

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
Post Reply
User avatar
acccidiccc
Member
Member
Posts: 38
Joined: Sun Mar 21, 2021 1:09 pm
Location: current location

question regarding fs drivers

Post by acccidiccc »

hello, should i implement the fs drivers inside or outside of the kernel
iustitiae iniustos iudicat
rdos
Member
Member
Posts: 3297
Joined: Wed Oct 01, 2008 1:55 pm

Re: question regarding fs drivers

Post by rdos »

acccidiccc wrote:hello, should i implement the fs drivers inside or outside of the kernel
I used to have them as part of the kernel but I'm now redesigning them to run as servers in user-mode. The hardware drivers will still be in kernel though.
User avatar
acccidiccc
Member
Member
Posts: 38
Joined: Sun Mar 21, 2021 1:09 pm
Location: current location

Re: question regarding fs drivers

Post by acccidiccc »

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.
iustitiae iniustos iudicat
rdos
Member
Member
Posts: 3297
Joined: Wed Oct 01, 2008 1:55 pm

Re: question regarding fs drivers

Post by rdos »

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.
Ethin
Member
Member
Posts: 625
Joined: Sun Jun 23, 2019 5:36 pm
Location: North Dakota, United States

Re: question regarding fs drivers

Post by Ethin »

I mean, I'm considering making my kernel a microkernel but having most of the drivers in userspace. And having system calls to read and write PCI memory in particular. Though I could probably get away with mapping devices into driver memory spaces upon their request, come to think of it.
Post Reply