Implement filesystem services, and the required kernel objects.

Meh. It probably doesn't matter in this case, but in general please don't assume that such strings are null-terminated, particularly when there's even `size` information given.