ویندوز سندباکس Windows Sandbox محیط دسکتاپ جدیدی است که به فضای کمی نیاز دارد و برای اجرای ایمن برنامههای کاربردی به صورت مجزا ساخته شدهاست.
برای بسیاری افراد پیش میآید که فایل قابل اجرایی را دانلود کنند اما نگران اجرای آن باشند، یا پیش آمدهاست که افراد در موقعیتی قرار بگیرند که نیاز به نصب بصورت Clean Installation ویندوز باشد اما نخواهند که یک ماشین مجازی ایجاد کنند.
ویندوز سندباکس چیست؟
در Microsoft مرتبا به این گونه موقعیتها رسیدگی میشود، چنانکه منجر به توسعهی ویندوز سندباکس Windows Sandbox گردیدهاست: یک محیط دسکتاپ موقتی و مجزا که در آن میتوان نرمافزار نامطمئن را بدون نگرانی از اثر دائمی بر PC اجرا نمود. هر نرمافزاری که در ویندوز سندباکس Windows Sandbox نصب میگردد تنها در Sandbox میماند و نمیتواند بر کامپیوتر شخص تاثیر گذارد. زمانی که ویندوز سندباکس Windows Sandbox بسته میشود، تمام نرمافزار به همراه تمام وضعیت و فایلهای آن به طور دائم پاک میگردد.
windows sandbox چیست؟
ویندوز سندباکس Windows Sandbox از ویژگیهای ذیل برخوردار است:
- بخشی از ویندوز : هرآنچه که برای این خصوصیت لازم است با Windows 10 و Enterprise همراه میباشد. نیازی به دانلود یک VHD نیست.
- پاک : هربار که ویندوز سندباکس Windows Sandbox اجرا میگردد، به پاکی نصب جدیدی از ویندوز میباشد.
- یکبار مصرف : هیچچیز روی دستگاه باقی نمیماند و بعد از بسته شدن برنامهی کاربردی، همهچیز پاک میشود.
- ایمن : برای ایزوله شدن Kernel، از مجازیسازی مبتنی بر سختافزار استفاده مینماید که برای اجرای Kernel جداگانهای که ویندوز سندباکس Windows Sandbox را از Host جدا سازد، متکی بر Hypervisor مایکروسافت میباشد.
- کارآمد : از قابلیتهای زمانبندی یکپارچهسازیشدهی Kernel، مدیریت حافظهی هوشمند و GPUی مجازی استفاده مینماید.
سندباکس ویندوز 10
پیشنیازهای استفاده از ویندوز سندباکس به شرح ذیل می باشد :
- Windows 10 Pro یا Enterprise Insider Build 18305 یا جدیدتر
- معماری AMD64
- قابلیتهای مجازیسازی فعالشده در BIOS
- حداقل 4 گیگابایت RAM (هشت گیگابایت توصیه میگردد)
- حداقل 1 گیگابایت فضای دیسک خالی (SSD توصیه میگردد)
- حداقل 2 هسته CPU (چهار هسته با Hyperthreading توصیه میگردد)
Internalهای ویندوز سند باکس
ویندوز سندباکس Windows Sandbox متکی بر فناوریهای مورد استفاده تحت Windows Containerها میباشد. Containerهای ویندوز جهت اجرا در Cloud طراحی شدند. فناوری به کار گرفته شد در آن با Windows 10 یکپارچهسازی شده و ویژگیهایی که آن را برای اجرا بر دستگاهها و لپتاپها مناسبتر میسازند به آن اضافه گردیده، بدون آن که نیاز به تمام توان Windows Server باشد. برخی از بهبودهای اصلی و کلیدی عبارتاند از:
Image ایجادشده به صورت دینامیک
ویندوز سندباکس Windows Sandbox در اصل یک ماشین مجازی است که به فضای کمی نیاز دارد، بنابراین به یک Image سیستم عامل نیاز دارد که از آن Boot گردد. یکی از بهبودهای کلیدی ایجادشده برای ویندوز سندباکس Windows Sandbox، قابلیت استفاده از یک کپی Windows 10 نصبشده بر کامپیوتر شخص به جای دانلود یک Image VHD جدید، چنان که باید در یک ماشین مجازی معمولی صورت گیرد، میباشد.
هدف از ارائهی این قابلیت بر این بودهاست که یک محیط پاکسازیشده ارائه گردد، اما چالش موجود این است که برخی فایلهای سیستم عامل امکان تغییر دارند. راهکار مورد نظر، ساخت چیزی است به نام «Image پایهی دینامیک (Dynamic Base Image)»: یک Image سیستم عامل که کپیهای پاکسازیشدهای از فایلهای قابل تغییر دارد اما به فایلهای غیرقابل تغییری وصل میشود که در Image ویندوز میباشند و در حال حاضر در Host موجود هستند. غالب فایلها، لینکها (فایلهای غیرقابل تغییر) هستند و این دلیل حجم کم (حدود 100 مگابایت) برای یک سیستم عامل کامل میباشد. این Instance به زبان Windows Container، «Image پایه» برای ویندوز سندباکس Windows Sandbox نامیده شدهاست.
زمانی که ویندوز سندباکس Windows Sandbox نصب نشدهاست، Image پایهی دینامیک در یک Package فشرده نگاه داشته میشود که تنها 25 مگابایت میباشد. هنگامی که Package پایهی دینامیک نصب گردید، حدود 100 مگابایت از فضای دیسک را اشغال مینماید.
حتما بخوانید : عدم ارائه آپدیت جدید ویندوز 10، به دلیل مشکل BSOD
مدیریت حافظهی هوشمند
مدیریت حافظه، حوزهی دیگری است که در آن با Windows Kernel یکپارچهسازی انجام شدهاست. Hypervisor مایکروسافت به یک ماشین فیزیکی واحد این امکان را میدهد که به چندین ماشین مجازی که سختافزار فیزیکی یکسانی را به اشتراک میگذارند، تقسیم گردد. در حالی که این رویکرد برای بارهای کاری سرور قدیمی به خوبی کار میکند، اما مناسب اجرا بر روی دستگاههایی با منابع محدودتر نمیباشد. Windows Sandbox طوری طراحی شدهاست که Host بتواند در صورت نیاز حافظه را از Sandbox پس بگیرد.
به علاوه، از آنجایی که ویندوز سندباکس Windows Sandbox اساسا از همان Image سیستم عامل مربوط به Host استفاده میکند، این امکان نیز به آن داده شدهاست که از طریق یک فناوری به نام «Map Direct» از همان Memory Pageهای فیزیکی Host برای باینریهای سیستم عامل استفاده نماید. به عبارت دیگر، همان Pageهای قابل اجرای ntdll موجود در Host، در Sandbox مورد نظر Map میگردند. سعی بر تضمین این است که این امر به صورت ایمن صورت پذیرد و هیچ اطلاعات محرمانهای به اشتراک گذاشته نشود.
زمانبندی Kernel یکپارچهسازیشده
Hypervisor مایکروسافت، با ماشینهای مجازی معمولی زمانبندی پردازندههای مجازی در حال اجرا در VMها را کنترل میکند. اما برای ویندوز سندباکس Windows Sandbox از فناوری جدیدی به نام «زمانبندی یکپارچهسازیشده استفاده میگردد که به Host حین اجرای Sandbox امکان تصمیمگیری میدهد.
برای ویندوز سندباکس یک Policy زمانبندی منحصر به فرد به کار گرفته شدهاست که به پردازندههای مجازی Sandbox این امکان را میدهد که همانطوری زمانبندی شوند که Threadها برای یک فرآیند زمانبندی میگردند. Taskهای با اولویت بالا بر Host میتوانند جای کارهای غیرضروریتر را در Sandbox بگیرند. مزیت استفاده از زمانبندی یکپارچهسازیشده این است که Host میتواند Windows Sandbox را به عنوان یک فرآیند مدیریت کند تا یک ماشین مجازی، و این امر منتهی به یک Host با پاسخگویی بیشتر، نظیر Linux KVM، میگردد. در اینجا تمام هدف این است که با Sandbox مانند یک برنامهی کاربردی برخورد شود اما با گارانتیهای امنیتی یک ماشین مجازی.
Snapshot و Clone در ویندوز سندباکس
همانگونه که پیشتر اشاره شد، ویندوز سندباکس Windows Sandbox از Hypervisor مایکروسافت استفاده مینماید. در اصل کپی دیگری از ویندوز اجرا میگردد که نیاز به Boot شدن دارد و ممکن است کمی زمان ببرد. بنابراین، به جای پرداخت تمام هزینهی Boot نمودن سیستم عامل Sandbox برای هر موقعی که Windows Sandbox آغاز به کار میکند، از دو فناوری دیگر استفاده میگردد: Snapshot و Clone.
Snapshot یک بار امکان Boot نمودن محیط Sandbox را فراهم میآورد و حافظه، CPU و وضعیت دستگاه را در دیسک حفظ میکند. سپس میتوان محیط Sandbox را از دیسک بازیابی کرد و آن را در حافظه قرار داد، به جای آن که آن را زمانی که به Instance جدیدی ازویندوز سندباکس نیاز است، Boot نمود. این امر به میزان قابل توجهی زمان آغاز به کار ویندوز سندباکس Windows Sandbox را بهبود میبخشد.
مجازیسازی گرافیک
Rendering تسریعشدهی سختافزاری، کلیدی است برای یک تجربهی کاربری پاسخگو و روان، مخصوصا برای موارد کار با مدیای سنگین و گرافیک بالا. اما ماشینهای مجازی از Hostهای خود جداسازی شدهاند و قادر به دسترسی به دستگاههای پیشرفتهای نظیر GPUها نیستند. بنابراین نقش فناوریهای مجازیسازی گرافیک، پر کردن این شکاف و ارائهی Hardware Acceleration در محیطهای مجازیسازیشده میباشد؛ مانند Microsoft RemoteFX.
اخیرا مایکروسافت با شرکای اکوسیستم گرافیک خود همکاری کرده است تا قابلیتهای مدرن مجازیسازی گرافیک را مستقیما در DirectX و WDDM، مدل درایور مورد استفاده توسط درایورهای نمایش در ویندوز، یکپارچهسازی نماید. در سطح بالاتر، این شکل از مجازیسازی گرافیک چنین کار میکند:
- برنامههای کاربردی در حال اجرا در یک Hyper-V VM از APIهای گرافیک، مطابق معمول استفاده میکنند.
- اجزای گرافیک در VM، که برای پشتیبانی از مجازیسازی میباشند، در سرتاسر محدودهی VM با Host هماهنگ میشوند تا بارهای کاری گرافیک را اجرا نمایند.
- Host، منابع گرافیک را در میان برنامههای کاربردی در VM همراه با برنامههای کاربردی در حال اجرا به صورت Native و معین زمانبندی میکند. به طور مفهومی، آنها به عنوان یک Pool از Clientهای گرافیک رفتار میکنند.
این فرآیند در زیر نمایش داده شدهاست:
این امر ویندوز سندباکس Windows Sandbox VM را قادر میسازد تا از Rendering تسریعیافتهی سختافزاری، همراه با تعیین پویای منابع گرافیک توسط ویندوز در جایی از Host و Guest که مورد نیاز هستند، بهره ببرد. در نتیجه، پاسخگویی و عملکرد بهبودیافته برای برنامههای کاربردی در حال اجرا در Windows Sandbox و همچنین عمر باتری بهبودیافته برای موارد کاربرد با گرافیک بالا میباشد.
برای بهره بردن از این مزایا، لازم است سیستمی با یک GPUی سازگار و درایورهای گرافیک (WDDM 2.5 یا جدیدتر) داشت. سیستمهای ناسازگار، برنامههای کاربردی را در ویندوز سندباکس با فناوری Rendering مبتنی بر CPUی مایکروسافت ارائه (Render) میکند.
ارتباط مستقیم با باتری
ویندوز سندباکس Windows Sandbox از وضعیت باتری Host نیز آگاه است که به آن این امکان را میدهد که مصرف برق را بهینهسازی نماید. این برای فناوریای مهم است که روی لپتاپها مورد استفاده قرار میگیرد و خراب نشدن باتری برای کاربر مهم است.