giovedì 29 novembre 2007

New features for new OSes (part 2)

Different types of data deserve different procedures for disk storage

I would split the files stored in my disks in categories:
  • System files (kernel, drivers, GUI)
  • System libraries (file system access, graphic, hardware devices, special routines optimized for the processor's capabilities such as SSE codecs and so on)
  • Application libraries shared among different applications
  • Applications
  • Configurations (for applications and user profiling)
  • User data (documents)

Different categories of files have different requirements: system files should not be modified by users and userland applications, while should be automatically maintained by auto-update or auto-heal utilities. I also like very much the microkernel architecture such as Minix's, with drivers running at a lower lever than the kernel. This could lead to some worsening of performance, but more stability and security. I'd also like to have the opportunity to keep trace of all the updates in the system, so that in the event of a buggy new driver version, the system could be able to recover loading a previous version. An intelligent cleaning system is also required, enabling the system to delete unused, older versions of components and freeing storage space.
System libraries are the interface between the core and the higher level applications: they wrap the behave of drivers, offering access to higher level languages (Java?); of course all the file system access is filtered by this level, and here I would set all the accessors to the “differed categories file system”.
This leads to another point: file system access is somehow filtered by a permission layer. Next part soon...

Nessun commento: