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...

giovedì 22 novembre 2007

New features for new OSes (part 1)

I'm quite satisfied by Ubuntu, Gnome and Compiz fusion, but I still have some ideas on how I would like to improve my user experience in the daily use of my computers. None of theme is dramatically new, as I heard that soon (maybe on Vista SP1) Microsoft is going to introduce WinFS on Windows, and Gnome is working on Gnome Storage. The point is that unlike user interfaces, which have evolved a lot in their metaphors, file systems are organized mostly the same way they were years ago. Actually they offer more functionality and performance, but from the user point of view the disks are always “folders” and “files”, both for documents, user data, configurations, applications.
I'd like to organize the disk differently, to gain in usability and in system stability.
Also, modern systems have self healing and self updating capabilities that could be improved with a different disk management, something able to discern between system data, programs and user documents. What could we obtain by combining a file system, a database, an intelligent system (maybe with the ability to track what the users do and adapt to their needs) and new application development techniques based on the security of virtual machines?

mercoledì 21 novembre 2007

1 anno di blog...

...durante il quale sono successe un sacco di cose interessanti :)
Mi sono munito (finalmente!) di uno smartphone, Ubuntu 7.10 è stabile ed installato sia sul desktop che sul portatile, con Compiz a pieno regime sia sulla nVidia del desktop che sulla Ati del portatile.
Ma nel mio prossimo sistema operativo vorrei vedere un'innovazione ancora più rivoluzionaria: una nuova gestione del file system.
Durante il (pochissimo, aimè) tempo libero rimasto, cercherò di organizzare un discorso più stutturato sul tema, anche perchè ho intenzione di provare a prototipare qualcosa utilizzando il motore OODB che ho in cantiere (cantina?) da tempo immemorabile..
Utilizzando la ormai onnipresente connessione in rete a banda larga, è possibile rivoluzionare la gestione del disco da parte del sistema operativo? E' possibile utilizzando le attuali infrastrutture di virtualizzazione dello strato hw (intendo Java, Mono e .NET) riorganizzare la struttura OS/Applicazioni/Dati dei computer?
Ma soprattutto, c'è vita nell'universo all'infuori di noi?

sabato 3 novembre 2007

Compiz oltre compiz

Sul blog di uno dei tipi di compiz fusion, c'è un post veramente tonante: con Octopus abbiamo sempre discusso la possibile innovazione di un interfaccia uomo-macchina veramente 3D. Questo è un passo significativo.
Ora però bisogna trovare gli occhiali...

giovedì 1 novembre 2007

Enhancements on new OSes

I've been writing various times now about the new user interfaces provided by the major Oses (Mac OS X, Linux with Compiz fusion, Vista with Aero) and I've discussed about the increased productivity made possible by these systems: they look so nice and they are so amazing that working in their environments becomes a pleasure. Still, apart from the UI there are still fields in which these systems could be improved. I have a working machine with many services and applications loaded at start up time, because I have different open projects and I need to work on different development environments (different db servers, different http servers, lot of utilities such as monitors, bluetooth and whatever); I'd like to collect some statistic about the use of the components loaded on my system, such as the shared libraries, services an so on. I want to make the system learn “how much time after my login am I using this?”, and I'd like to delay the load of some components so that the bootstrap and login gets faster; actually I am going to try something in linux: I know that right after the logon I am usually going to load the web browser and read my webmail, and just after some minutes I am going to start my IDE and database server. Also, I would like to delay the start of my desktop gadgets so that the boot + login + start browser operations gets faster, and just after about 2 minutes I want the system to load all the other stuff. I think the next step in the development of operating systems (at least the user oriented set ups, not the servers) will be the introduction of intelligent agents that monitors what the user usually do and try to “get him there quicker”.

I think Vista has something like this, but actually I haven't tried it yet, but I hope Linux will move toward this direction.