La gestion d'un processus et de ces droit est quand meme à la charge d'un OS
Y'a pas de vérité absolue. Y'a que des constats à des instants données. La gestion de la sécurité proposée par l'OS est grossière, la VM apporte un niveau complémentaire. De plus la VM propose un modèle de sécurité qui est justement indépendant de l'OS. C'est une lourdeur mais aussi un atout.
Quand je dis que c'est lourd de forker, c'est qu'il y a un nécessaire cloisonnement mémoire, des communications inter-processus à mettre en place. Même si pour toi une VM est lourde, le modèle de gestion mémoire et le modèle de cloisonnement qu'il propose permet d'éviter les lourdeurs techniques qu'impose les processus natif de l'OS.
Suffit de penser au scénario classique de "plugins" où des composants d'une provenance "inconnue" sont chargées dans l'application. Fait le en C et refais le en Java ou C# après, avec bien sûr des limitations pour que le plugin ne viennent pas faire n'importe quoi dans ton appli où fasse n'importe quoi sur la machine avec les droits de l'application hôte.
ne veut pas dire qu'une VM est LA solution à apporter.
C'est pas "la" solution, c'est "une" solution.
la vraie solution à apporter etait de faire évoluer les OS. C'est ce qu'a fait M$ avec .Net
Non, MS a repris exactement le même modèle d'abstraction que Java dans .NET. Et oui y'a toute la "lourdeur" liée au fait que cette VM constitue une couche d'abstraction totale de l'OS et propose un ensemble de services clés en main qui ont certain coût.
[^] # Re: C'est trop compliqué !
Posté par TImaniac (site web personnel) . En réponse au journal Des langages de haut niveau. Évalué à 1.
Y'a pas de vérité absolue. Y'a que des constats à des instants données. La gestion de la sécurité proposée par l'OS est grossière, la VM apporte un niveau complémentaire. De plus la VM propose un modèle de sécurité qui est justement indépendant de l'OS. C'est une lourdeur mais aussi un atout.
Quand je dis que c'est lourd de forker, c'est qu'il y a un nécessaire cloisonnement mémoire, des communications inter-processus à mettre en place. Même si pour toi une VM est lourde, le modèle de gestion mémoire et le modèle de cloisonnement qu'il propose permet d'éviter les lourdeurs techniques qu'impose les processus natif de l'OS.
Suffit de penser au scénario classique de "plugins" où des composants d'une provenance "inconnue" sont chargées dans l'application. Fait le en C et refais le en Java ou C# après, avec bien sûr des limitations pour que le plugin ne viennent pas faire n'importe quoi dans ton appli où fasse n'importe quoi sur la machine avec les droits de l'application hôte.
ne veut pas dire qu'une VM est LA solution à apporter.
C'est pas "la" solution, c'est "une" solution.
la vraie solution à apporter etait de faire évoluer les OS. C'est ce qu'a fait M$ avec .Net
Non, MS a repris exactement le même modèle d'abstraction que Java dans .NET. Et oui y'a toute la "lourdeur" liée au fait que cette VM constitue une couche d'abstraction totale de l'OS et propose un ensemble de services clés en main qui ont certain coût.