A few days back, I wrote about possible applications of evolutionary algorithms (EAs) for design and development of operating systems. In particular, I gave an example of how the Ubuntu’s Unity desktop could be optimized, or designed in a better way, using EAs. The ideas I presented were not very well crystallized. They were, nonetheless, interesting.
A student of mine spoke yesterday in a class about his passion to work with the Linux operating system. This rekindled my own interest about this niche as well.
A slight search on Google reveals that applications of EAs for evolving operating systems are not scarce. Plenty of articles can be found online that employ EAs to optimize some aspect of an operating system. There are approaches which employ EAs to design better process scheduling algorithms. As a matter of fact, much of the work concerning applications of EAs for development of operating systems is about scheduling algorithms. This is the impression I have at least. In any case I do not believe that EAs cannot be applied to solve or optimize other aspects of operating systems. I personally think that it would be very interesting to see and apply EAs to figure out better user interfaces. Similarly, EAs could be applied to solve other problems that could be inherent in a cloud OS, such as distribution of networking, computing and storage resources. Feats such as software defined networking can also benefit from EAs. This can give rise to whole new discipline in computer science that I would rather like to call evolvable operating systems.
If you found an error, highlight it and press Shift + Enter or click here to inform us.