Monday, May 30, 2005

Applications Rethought

Previously, i mentioned that filesystems and applications could be mixed to create a general search system. One that encompassed all things a computer could do. This was lead by a desire to bring together applications and files into one element, and make them equally addressable under normal search criteria.
This need to bring things together to save the user from having to think has already been addressed by memory managers. Virtual memory was seamlessly integrated into real ram meaning the computer user never had to wonder about how much ram they had left. Does anyone remember trying to make DOS boot disks to play games?
So, applications are instanced in ram. Right? Why?

If applications were instanced in files (just like they would be in a system with very limited ram ;) ), then any operating system crashes would be more survivable. Consider if you will the possibiltiy of having lots of important documents open... unsaved. Then, the system hangs, hangs bad... Have you lost all your work? on a normal system, yeah. But if all applications were literally instanced as files, then only the crashed application(s) would not revive with restart. There is a problem with crashing programs running after restart, but that is a seperate but not incredibly difficult problem to solve (just check for app death by running virtual machines? maybe).
To do this with win32, the operating system has to explicitly allocate a file for each application instance, has to guarantee that DLLs (windows dynamic libraries) arrive in the same location every boot, that the kernel has the same open file handles etc...etc...etc... This is quite a large task (the number of different things to look out for), and only gets more complicated when applications start working outside the box (apps that "investigate" other apps, or apps that twiddle things in the OS so things can happen / not happen).
So basically windows is incompatible with a proper file based application instance mechanism.
Oh well.
Maybe adding that will make the next OS worth having though eh?

No comments: