제로VM
ZeroVM원본 작성자 | 카무엘 길야도프, 콘스탄틴 페레시프킨 & 드미트리 보르톡 |
---|---|
개발자 | Rackspace가 인수한 LiteStack |
릴리스 미리 보기 | 0.9.4 / 2013년 11월 26일; 전 |
리포지토리 | |
기록 위치 | C, 조립체 |
운영 체제 | 리눅스 |
플랫폼 | x86-64 |
유형 | 애플리케이션 가상화 |
면허증 | 아파치 라이선스 2.0 |
웹사이트 | zerovm |
ZeroVM은 오픈 소스 경량 가상화 및 샌드박스 기술이다.구글 네이티브 클라이언트 플랫폼을 이용해 단일 프로세스를 가상화한다.단일 프로세스만 가상화되므로(전체 운영 체제 대신), 시작 오버헤드는 5ms의 순서로 진행된다.[1][third-party source needed]
샌드박스킹
ZeroVM은 Google Native Client(NaCl) 기반 기술을 사용하여 [2]단일 프로세스를 중심으로 샌드박스를 만든다.샌드박스는 실행된 애플리케이션이 호스트 운영 체제의 데이터에 액세스할 수 없도록 하기 때문에 신뢰할 수 없는 코드를 실행하는 것이 안전하다.ZeroVM에서 실행되는 프로그램은 먼저 NaCl 플랫폼과 교차 컴파일되어야 한다.ZeroVM은 휴대용 Native Client(PNaCl) 형식이 아닌 x86-64 플랫폼용으로 컴파일된 NaCl 코드만 실행할 수 있다.
ZeroVM에서 실행된 코드는 정상적인 시스템 호출을 호출할 수 없으며 처음에 호스트 환경과 상호 작용할 수 없다.외부 세계와의 모든 통신은 채널을 통해 이루어지며, 이는 프로그램이 시작되기 전에 선언되어야 한다.샌드박스 밖에서 채널을 로컬 파일, 파이프 또는 다른 ZeroVM 인스턴스에 연결할 수 있다.[3]샌드박스 안에서 프로그램은 채널을 파일 설명자로 본다.샌드박스가 장착된 프로그램은 채널에서 데이터를 읽거나 쓸 수 있지만, 호스트에서 채널이 연결된 위치를 알 수 없다.
ZeroVM용으로 컴파일된 프로그램은 ZRT라는 ZeroVM Runtime 라이브러리를 선택적으로 사용할 수 있다.이 도서관은 프로그램에 POSIX 환경을 제공하는 것을 목표로 한다.[4]C 표준 라이브러리의 일부를 교체하여 이를 수행한다.특히 ZRT는 다음과 같은 C 파일 입출력 기능을 대체한다.fopen
그리고opendir
메모리 내 파일 시스템에서 작동하는 버전.루트 파일 시스템은 타르볼로 제공된다.이를 통해 프로그램은 일반적인 유닉스 환경을 "보기"할 수 있다.
또한 ZRT는 다음과 같은 C 날짜 및 시간 함수를 대체한다.time
고정적이고 결정론적인 환경을 프로그램에 제공하는 것.고정된 입력으로 모든 실행은 동일한 결과를 보장한다.비기능적인 프로그램도 이러한 제한된 환경에서 결정론적이 된다.[5]이것은 프로그램이 동작이 고정되어 있기 때문에 디버깅하기 쉽게 한다.
Swift와의 통합
ZeroVM은 OpenStack의 분산 객체 스토리지 구성요소인 Swift와 통합되었다.[6]ZeroCloud 미들웨어가 Swift에 설치되면 클라이언트는 ZeroVM 프로그램이 포함된 Swift에 요청을 할 수 있다.그런 다음 프로그램은 스토리지 노드에서 직접 실행된다.이것은 프로그램이 데이터에 직접 접근할 수 있다는 것을 의미한다.
역사
ZeroVM은 이스라엘 스타트업인 LiteStack이 개발했다.첫 번째 커밋은zerovm
git 저장소는 2011년 11월에 추가되었다.[7]LiteStack은 Rackspace에 의해 2013년 10월에 구입되었다.[1][8][9]ZeroVM은 Techstars Cloud 2013 인큐베이터 프로그램에 참여하여 50만 달러의 시드 펀딩을 받았다.[10][11]제1회 ZeroVM 디자인 서밋이 2014년 1월 샌안토니오 텍사스 대학교에서 열렸다.[12]
참고 항목
- Google 네이티브 클라이언트
- LXC(LinuX 컨테이너)
- seccomp
- 도커(소프트웨어)
참조
- ^ a b Lindberg, Van. "ZeroVM: Smaller, Lighter, Faster". Rackspace Blog. Retrieved 14 April 2014.
- ^ Yegulalp, Serdar (23 October 2013). "ZeroVM virtualizes apps, not machines". InfoWorld. Retrieved 14 April 2014.
- ^ "ZeroVM Channels". Retrieved 14 April 2014.
- ^ "ZRT Readme". Retrieved 14 April 2014.
- ^ "ZeroVM Architecture". Retrieved 14 April 2014.
- ^ "ZeroCloud". Retrieved 14 April 2014.
- ^ Gilyadov, Camuel. "First Commit". GitHub. Retrieved 18 April 2014.
- ^ Shamah, David (October 24, 2013). "Rackspace picks up ZeroVM's 'built-for-cloud' hypervisor". ZDNet. Retrieved 14 April 2014.
- ^ Clark, Jack (25 October 2013). "Rackspace goes to Israel, picks up slick new weapon for cloud wars". The Register. Retrieved 14 April 2014.
- ^ Idan, Henn (3 November 2013). "Israeli ZeroVM acquired by RackSpace". Geektime. Retrieved 14 April 2014.
- ^ Lorek, Laura (19 April 2013). "ZeroVM Creates Software for Cloud Computing". Silicon Hills News. Retrieved 14 April 2014.
- ^ Rackspace. "ZeroVM Design Summit". YouTube. Retrieved 18 April 2014.