อ่าน 3 นาที
ซีโร่เอ็มเอ็ม
ZeroVM เป็น เทคโนโลยี การจำลอง เสมือน และ แซนด์บ็อกซ์ แบบเบา ที่เป็นโอเพนซอร์ส โดยจะจำลองกระบวนการเดียวโดยใช้ แพลตฟอร์ม Google Native Client เนื่องจากมีการจำลองเพียงกระบวนการเดียว...
ซีโร่เอ็มเอ็ม
| ซีโร่เอ็มเอ็ม | |
|---|---|
| ผู้เขียนต้นฉบับ | คามูเอล กิลยาดอฟ, คอนสแตนติน เปเรซีปคิน และดมิทรี บอร์ต็อก |
| นักพัฒนา | LiteStack ซึ่งถูกซื้อกิจการโดยRackspace |
| เวอร์ชันเสถียร | 1.0 [ 1 ] |
| เขียนเป็น | C , การประกอบ |
| ระบบปฏิบัติการ | ลินุกซ์ |
| แพลตฟอร์ม | x86-64 |
| พิมพ์ | การจำลองเสมือนแอปพลิเคชัน |
| ใบอนุญาต | ใบอนุญาต Apache 2.0 |
| เว็บไซต์ | zerovm.org |
| ที่เก็บข้อมูล |
|
ZeroVMเป็น เทคโนโลยี การจำลองเสมือนและแซนด์บ็อกซ์แบบเบา ที่เป็นโอเพนซอร์ส โดยจะจำลองกระบวนการเดียวโดยใช้ แพลตฟอร์ม Google Native Clientเนื่องจากมีการจำลองเพียงกระบวนการเดียว (แทนที่จะเป็นระบบปฏิบัติการทั้งหมด) ค่าใช้จ่ายในการเริ่มต้นจึงอยู่ในระดับ 5 มิลลิวินาที[ 2 ]
แซนด์บ็อกซ์
ZeroVM สร้างแซนด์บ็อกซ์รอบกระบวนการเดียว[ 3 ] โดยใช้เทคโนโลยีที่อิงตามGoogle Native Client (NaCl) แซนด์บ็อกซ์นี้รับประกันว่าแอปพลิเคชันที่ดำเนินการจะไม่สามารถเข้าถึงข้อมูลในระบบปฏิบัติการโฮสต์ได้ ดังนั้นจึงปลอดภัยที่จะเรียกใช้โค้ดที่ไม่น่าเชื่อถือ โปรแกรมที่ดำเนินการใน ZeroVM จะต้องคอมไพล์ข้ามแพลตฟอร์ม NaCl ก่อน ZeroVM สามารถเรียกใช้โค้ด NaCl ที่คอมไพล์สำหรับ แพลตฟอร์ม x86-64 เท่านั้น ไม่ใช่ รูปแบบ Native Client แบบพกพา (PNaCl)
โค้ดที่ทำงานใน ZeroVM ไม่สามารถเรียกใช้การเรียกใช้ระบบ ปกติได้ และในตอนแรกจะไม่สามารถโต้ตอบกับสภาพแวดล้อมของโฮสต์ได้ การสื่อสารทั้งหมดกับโลกภายนอกเกิดขึ้นผ่านช่องสัญญาณซึ่งต้องประกาศก่อนที่โปรแกรมจะเริ่มต้น นอกแซนด์บ็อกซ์ ช่องสัญญาณสามารถเชื่อมต่อกับไฟล์ในเครื่อง ท่อ หรืออินสแตนซ์ ZeroVM อื่นได้[ 4 ] ภายในแซนด์บ็อกซ์ โปรแกรมจะมองเห็นช่องสัญญาณเป็นตัวอธิบายไฟล์โปรแกรมในแซนด์บ็อกซ์สามารถอ่าน/เขียนข้อมูลจาก/ไปยังช่องสัญญาณได้ แต่ไม่ทราบว่าช่องสัญญาณเชื่อมต่อกับที่ใดในโฮสต์
โปรแกรมที่คอมไพล์สำหรับ ZeroVM สามารถใช้ไลบรารี ZeroVM Runtime ที่เรียกว่า ZRT ได้ ไลบรารีนี้มีจุดมุ่งหมายเพื่อให้โปรแกรมมีสภาพแวดล้อมPOSIX [ 5 ] โดยจะทำเช่นนั้นโดยการแทนที่บางส่วนของไลบรารีมาตรฐาน Cโดยเฉพาะอย่างยิ่ง ZRT จะแทนที่ ฟังก์ชัน อินพุต/เอาต์พุตไฟล์ Cเช่นfopenและopendirด้วยเวอร์ชันที่ทำงานบนระบบไฟล์ในหน่วยความจำ ระบบไฟล์รูทมีให้ในรูปแบบ tarball ซึ่งทำให้โปรแกรมสามารถ "มองเห็น" สภาพแวดล้อม Unix ปกติได้
นอกจากนี้ ZRT ยังแทนที่ฟังก์ชันวันที่และเวลาของภาษา Cเพื่อtimeให้โปรแกรมมีสภาพแวดล้อมที่คงที่และแน่นอนด้วยอินพุตที่คงที่ การดำเนินการทุกครั้งจึงรับประกันว่าจะให้ผลลัพธ์เดียวกัน แม้แต่โปรแกรมที่ไม่ใช่ฟังก์ชันก็ยังกลายเป็นแบบกำหนดได้ในสภาพแวดล้อมที่จำกัดนี้[ 6 ] ซึ่งทำให้โปรแกรมแก้ไขข้อบกพร่องได้ง่ายขึ้นเนื่องจากพฤติกรรมของโปรแกรมคงที่
การผสานรวมกับ Swift
ZeroVM ได้รับการบูรณาการเข้ากับSwiftซึ่งเป็นส่วนประกอบการจัดเก็บวัตถุแบบกระจายของOpenStack [ 7 ] เมื่อ มิดเดิลแวร์ ZeroCloud ถูกติดตั้งลงใน Swift ไคลเอนต์สามารถส่งคำขอไปยัง Swift ที่มีโปรแกรม ZeroVM ได้ จากนั้นโปรแกรมจะถูกเรียกใช้งานโดยตรงบนโหนดจัดเก็บข้อมูล ซึ่งหมายความว่าโปรแกรมสามารถเข้าถึงข้อมูลได้โดยตรง
ประวัติศาสตร์
ZeroVM ได้รับการพัฒนาโดย LiteStack ซึ่งเป็นสตาร์ทอัพจากอิสราเอล การแก้ไขครั้งแรกในzerovmGit repository ถูกเพิ่มในเดือนพฤศจิกายน 2011 [ 8 ] LiteStack ถูกซื้อโดยRackspaceในเดือนตุลาคม 2013 [ 2 ] [ 9 ] [ 10 ] ZeroVM เข้าร่วม โครงการบ่มเพาะ Techstars Cloud 2013 และได้รับเงินทุนเริ่มต้น 500,000 ดอลลาร์[ 11 ] [ 12 ] การประชุมสุดยอดการออกแบบ ZeroVM ครั้งแรกจัดขึ้นในเดือนมกราคม 2014 ที่มหาวิทยาลัยเท็กซัสที่ซานอันโตนิโอ[ 13 ]
ดูเพิ่มเติม
- Google Native Client
- LXC (LinuX Containers)
- seccomp
- ด็อกเกอร์ (ซอฟต์แวร์)
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ

- [1]บนGitHub
- แพ็คเกจ Ubuntu ที่เสถียร
- แพ็คเกจ Ubuntu ล่าสุด
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ซีโร่เอ็มเอ็ม
ZeroVM เป็น เทคโนโลยี การจำลอง เสมือน และ แซนด์บ็อกซ์ แบบเบา ที่เป็นโอเพนซอร์ส โดยจะจำลองกระบวนการเดียวโดยใช้ แพลตฟอร์ม Google Native Client เนื่องจากมีการจำลองเพียงกระบวนการเดียว...
แซนด์บ็อกซ์
ZeroVM สร้างแซนด์บ็อกซ์รอบกระบวนการเดียว [ 3 ] โดยใช้เทคโนโลยีที่อิงตาม Google Native Client (NaCl) แซนด์บ็อกซ์นี้รับประกันว่าแอปพลิเคชันที่ดำเนินการจะไม่สามารถเข้าถึงข้อมูลในระบบปฏิบัติการโฮสต์ได้ ดังนั้นจึงปลอดภัยที่จะเรียกใช้โค้ดที่ไม่น่าเชื่อถือ...
การผสานรวมกับ Swift
ZeroVM ได้รับการบูรณาการเข้ากับ Swift ซึ่งเป็นส่วนประกอบการจัดเก็บวัตถุแบบกระจายของOpenStack [ 7 ] เมื่อ มิดเดิลแวร์ ZeroCloud ถูกติดตั้งลงใน Swift ไคลเอนต์สามารถส่งคำขอไปยัง Swift ที่มีโปรแกรม ZeroVM ได้...
ประวัติศาสตร์
ZeroVM ได้รับการพัฒนาโดย LiteStack ซึ่งเป็นสตาร์ทอัพจากอิสราเอล การแก้ไขครั้งแรกใน zerovm Git repository ถูกเพิ่มในเดือนพฤศจิกายน 2011 [ 8 ] LiteStack ถูกซื้อโดย Rackspace ในเดือนตุลาคม 2013 [ 2 ] [ 9 ] [ 10 ] ZeroVM เข้าร่วม โครงการบ่มเพาะ Techstars Cloud...