Exokernels are nice, but as I see it, the point (or at least one of them) of an OS is to provide application developers with a clear abstraction of the hardware, not let them do the decision-making

I haven't done user/kernel mode switching yet, which will probably cause me problems, but I can explain a little.JJeronimo wrote:Also, until recently, I did not understand completely the idea of microkernels. For example, I didn't understand how would it be possible to move entire kernel subsystems (process manager and/or filesystem interface) to userspace. Moving drivers seemed obvious, but moving entire subsystems seemed weird.
Perhaps a more efficient system here would be either to use an interrupt from the message-handling system where the disk driver is woken from a sleep state when there is a message to process. Otherwise you may have who knows how many drivers all polling for messages.lhc wrote:Just imagine a simple program with a loop checking a message queue, when it gets a request it reads from the disk at the requested spot and puts the data back in the message and sends it back.