Realmente iria ser muito interessante…
Mas pense o seguinte…
Estamos falando de arquiteturas diferentes!
Não é a mesma coisa que você desenvolver um site que funcione o FireFox, IE, Mozilla, Netscape e Opera!
Pois querendo ou não, eles seguem um padrão estipulado pela W3C (http://www.w3.org/)
Agora quando estamos falando em Hardware, nós temos um problema…
Se você fosse desenvolver algo somente para PC/Windows, seria “ridiculo”…
Você se dedida somente a um sistema operacional e já era…
Agora estamos falando em arquitetura de hardware diferente, Sistemas Operacionais diferentes, que não me garantem se eles vão ter algum padrão para seguir!
Por exemplo, vamos dizer que para eu acessar a porta USB no linux eu tenha que ter uma permissão X, mas no Windows não precise dessa permissão X, mas sim uma permissão Y, mas antes disse tenha que fazer uma validação pelo protocolo Z.
Agora imagine se, de repente, dá uma loca lá na MS, e resolvem re-escrever o Windows, e mudam todo esse protocolo? Quer dizer, teriamos uma JVM para Windows 2003 ou menor e outro para o novo Windows 2005 (ficticio)!!! E se todo ano tivessemos essas mudanças (não no sistema mas em algum protocolo, por exemplo)!
É muito gasto de neurônio. Lógico que iria simplificar para nós, programadores, mas ficaria inviável para quem está desenvolvendo a JVM.
Prefiro que eles fiquem quebrando a cabeça para melhorar outras coisas que ficar quebrando a cabeça com isso…