Peut-être que je manque quelque chose mais n'est pas le bac à sandbox et la virtualisation exactement la même chose Concept, c'est-à-dire, séparant l'espace mémoire pour les applications exécutées en parallèle. Donc, je me demande pourquoi ils ont des noms différents, y a-t-il peut-être des différences dans la voie ils sont employés? p>
Merci beaucoup, Simon p>
4 Réponses :
Sandboxing signifie isolement uniquement lorsque la virtualisation signifie généralement simuler une sorte de matériel (machine virtuelle). La virtualisation peut se produire avec notre sans sandboxing. P>
Ces concepts abordent différents problèmes: lorsque nous virtualisons, nous sommes masquant des limitations physiques em> de la machine. Sandboxing, d'autre part, définit les limites artificielles em> sur l'accès à travers une machine. Considérer la mémoire comme une analogie représentative. P>
Sandboxing de la mémoire forte> est d'empêcher un programme de voir les données d'une autre, même s'ils pouvaient occuper des cellules Néigoring en mémoire. P>
Les deux concepts sont certainement liés dans la mise en œuvre commune de la mémoire virtuelle. Cependant, il s'agit d'un artefact pratique de la mise en œuvre, car la table de la page de matériel n'est accessible que par le noyau. P>
Considérez comment les implémenter séparément, sur une machine X86: vous pouvez isoler la mémoire des programmes à l'aide de tables de page sans jamais échanger sur le disque (Sandboxing sans virtualisation). Vous pouvez également implémenter une mémoire virtuelle complète, mais également donner un accès au niveau de l'application à la table de la page du matériel afin de pouvoir voir tout ce qu'ils voulaient (virtualisation sans sandboxing). P>
Comment comparons-nous ces deux concepts aux plugins de navigateur Web et aux navigateurs spécifiques au site? Je pense que les plugins de navigateur suivent différentes heuristiques que VM et Boxing pour leur mémoire et leur accès.
Sandboxing est limitant l'accès par un programme particulier. La virtualisation est un mécanisme qui peut être utilisé pour aider à faire cela, mais que de sandboxing est également atteint avec d'autres mécanismes, et de même, la virtualisation utilise d'ailleurs de sable. Sandboxing est une "quoi", la virtualisation est un "comment". P>
Il y a en fait 3 concepts que vous vous emboutez ici. Le premier et le premier est ce qui est fourni par le système d'exploitation et ce qu'il fait, c'est qu'il sépare l'espace mémoire des applications en parallèle. Et il s'appelle Mémoire virtuelle . P>
dans Mémoire virtuelle Systems, le système d'exploitation plante l'adresse de mémoire vue par les applications sur réel mémoire physique. Ainsi, l'espace mémoire pour les applications peut être séparé de manière à ne jamais entrer en collision. P>
La seconde est le bac à sable. C'est une technique que vous, le programmeur, utilisez pour exécuter un code non approuvé. Si vous, le programmeur, écrivez le système d'exploitation alors à partir de votre point de vue, le système de mémoire virtuelle que vous écrivez est un mécanisme de sandboxing. Si vous, le programmeur, écrivez un navigateur Web, le système de mémoire virtuelle, en soi, n'est pas un mécanisme de sandboxing (perspectives différentes, vous voyez). Au lieu de cela, il s'agit d'un mécanisme pontifentiel pour vous de mettre en œuvre votre bac à sable pour les plug-ins de navigateur. Google Chrome est un exemple de programme utilisant le mécanisme de mémoire virtuelle du système d'exploitation pour mettre en œuvre son mécanisme de sandboxing. p>
mais la mémoire virtuelle n'est pas la seule façon d'implémenter du bac à sable. Le langage de programmation TCL, par exemple, vous permet d'instantiier les interprètes esclaves via le Commande Interp . L'interpréteur esclave est souvent utilisé pour implémenter un bac à sable car il fonctionne dans un espace mondial séparé. Du point de vue du système d'exploitation, les deux interprètes fonctionnent dans le même espace mémoire dans un seul processus. Mais parce que, au niveau C, les deux interprètes ne partagent jamais des structures de données (sauf programmation explicitement) elles sont effectivement séparées. P>
Maintenant, le troisième concept est la virtualisation. Qui est à nouveau séparé de la mémoire virtuelle