【整理】MKS中的Sandbox的含义
【背景】
刚知道,MKS也是一种源码管理软件,软件名叫做Source Integrity:
http://en.wikipedia.org/wiki/MKS_Integrity
类似于VSS,SVN等。
MKS中有个Sandbox这个词,不太清楚其含义。所以想要搞清楚。
【Sandbox的原意】
Sandbox的原意是“沙箱”,是计算机领域中的一种新技术,用于给某程序分配一个独立的运行环境,此运行环境受到很多种限制。
这些限制包括,有限的内存和磁盘空间大小,有限的网络访问权限,有限的IO等。
由于受限,使得当前程序或者进程等,相对于其他程序或进程,相对独立,可以实现当前进程崩溃了,也不会影响到其他进程。
Sandbox的技术,多用于虚拟化技术中,其他的像360浏览器,也用到了此技术。
其中360浏览器中,所支持的特性中,包括单个页面崩溃了,也是可以恢复的,而不会影响到其他页面,就是用了Sandbox技术。
Sandbox的更多细节可参考:
http://en.wikipedia.org/wiki/Sandbox_(computer_security)
【MKS中的Sandbox的含义】
而MKS中的Sandbox的含义,经过查找,找到这里:
MKS Source Integrity Enterprise Edition User Guide
http://www.mks.com/support/productinfo/docs/SIE83_UserGuide.pdf
有解释:
“One vital concept is that of the project. A project is any group of files that, taken together, forms a single body of work. In a development environment using Source Integrity, for example, a project might include source code files required to build a program element. In Source Integrity, the files in the project are known as members. Your organization can use projects to manage a variety of development initiatives. All top-level projects and subprojects reside on the Integrity Server. Source Integrity allows you to create large projects composed of smaller component projects known as subprojects. Subprojects behave in the same way as projects. Once you create a subproject, it is considered a member of the project.
Another important concept is the sandbox. Sandboxes can reside on the client machines and allow you to work locally in your own workspace, without interfering with the work of others. You can think of the sandbox as a local pointer to the project residing on the Integrity Server. In basic terms, when a user is ready to work with a file from the
development project or Web site, a check out operation downloads the file from the server project to the client sandbox. Similarly, a check in operation updates the server project with content from the sandbox.”
即,此处MKS中的Sandbox,就相当于源码管理概念中的,对于服务器上的代码,本地所具有的一个拷贝copy而已。
之所有起了这个名字,应该是,考虑到Sandbox是本身的含义中,表示当前所用Sandbox运行的程序,是运行在一种受限的环境中,而且即使当前进程崩溃,也不会影响其他进程,
而此处本地对于服务器端代码的拷贝,即使丢失或破坏,也不会影响其他地方所checkout下来的代码,即不同的local所checkout下来的代码,相对是独立的,不会互相影响。除非你checkin改动的代码,才会影响到服务器端的代码。
因此,对于MKS本身去管理源码,其实和其他源码管理类软件,没有任何区别,只是引入了这个Sandbox这名词而已。
而MKS中的Sandbox,等价于源码管理中,从服务器端checkout导出的一份代码到本地,即本地所存放的对于服务器端的一个copy的代码而已。
转载请注明:在路上 » 【整理】MKS中的Sandbox的含义