So, I know that at a basic level, a block device driver would probably need I/O permissions, and I'm guessing that it would be handling requests from a file system driver.

Is that basically how the seL4 software ecosystem is laid out?  What's typical for how "software in the wild" is actually organized and layered on top of the microkernel?

I only know about seL4 from a theoretical standpoint, read the manual and stuff, and mostly familiar with the actual kernel, but I'm a complete noob when it comes to actual software.