One possibility is if we think we'll be doing a lot of UI, to make an in-memory "read-only" copy of everything we will need.
Alternatively you can implement your own "platform" backend just as there are for Windows, Linux, Mac etc. It isn't very many functions to implement.
Since you are doing your own locking, you can turn most of the locking calls into no-ops. You could even track when you do writes and let locking go through then. Roger