یک ابزار **نرم‌افزاری** یک برنامه نرم‌افزاری است که فقط با سیستم عامل کافی (JeOS) همراه است تا بتواند روی سخت‌افزار استاندارد صنعت (معمولاً یک سرور) یا در یک ماشین مجازی بهینه اجرا شود. این یک توزیع نرم‌افزار یا میان افزار است که یک دستگاه رایانه ای را پیاده‌سازی می‌کند.

دستگاه مجازی زیرمجموعه لوازم نرم‌افزاری است. تمایز اصلی قالب بسته‌بندی و ویژگی بستر هدف است. دستگاه مجازی، یک تصویر ماشین مجازی است که برای اجرای در یک پلت فرم مجازی سازی خاص طراحی شده‌است، در حالی که یک دستگاه نرم‌افزاری غالباً در فرمت تصویری با کاربرد کلی (مثلاً Live CD) بسته‌بندی می‌شود که از نصب روی ماشین‌های فیزیکی و انواع مختلفی از ماشین‌های مجازی پشتیبانی می‌کند.

نصب یک دستگاه نرم‌افزاری در یک ماشین مجازی و بسته‌بندی آن در یک تصویر، یک دستگاه مجازی ایجاد می‌کند.

فواید
-----

دستگاه‌های نرم‌افزاری مزایای زیادی نسبت به برنامه‌های نرم‌افزاری سنتی دارند که در بالای سیستم عامل نصب می‌شوند:

* استقرار ساده: یک دستگاه نرم‌افزاری وابستگی‌های یک برنامه را در یک واحد خودکار از پیش ادغام شده محصور می‌کند. این می‌تواند با آزاد کردن کاربران از نگرانی در مورد حل مشکلات سازگاری بالقوه پیچیده سیستم عامل، وابستگی به کتابخانه یا تعاملات نامطلوب با سایر برنامه‌ها، به‌طور چشمگیری استقرار نرم‌افزار را ساده کند. این به عنوان "توستر "شناخته می‌شود.
* انزوا بهبود یافته: از دستگاه‌های نرم‌افزاری معمولاً برای اجرای برنامه‌ها جدا از یکدیگر استفاده می‌شود. اگر امنیت دستگاه به خطر بیفتد، یا اگر دستگاه خراب شود، سایر لوازم جدا شده تحت تأثیر قرار نمی‌گیرند.
* عملکرد بهبود یافته:یک دستگاه نرم‌افزاری هیچگونه سیستم عامل عملیاتی، برنامه‌های کاربردی یا هر نوع نرم‌افزار بلوتور (bloatware) را جاسازی نمی‌کند، بنابراین نیازی نیست که منابع سخت افزاری (CPU)، حافظه، فضای ذخیره‌سازی و … را که معمولاً توسط این‌ها در یک نسخه عمومی مصرف می‌شود، به اشتراک بگذارد. راه اندازی سیستم عامل این به‌طور طبیعی منجر به زمان بوت سریعتر و سرعت اجرای موارد دیگر برنامه می‌شود. در مواردی که چندین دستگاه نرم‌افزاری به‌طور همزمان بر روی یک سخت‌افزار مشترک به اشتراک گذاشته و اجرا شوند (به عنوان مثال در یک پلتفرم مجازی سازی)، این درست نخواهد بود زیرا در حال اجرا بودن دستگاه‌های نرم‌افزاری (سیستم عامل + برنامه نرم‌افزاری) منابع سخت افزاری بیشتری نسبت به اجرای n مورد مصرف می‌کند از یک برنامه نرم‌افزاری در ۱ نمونه از سیستم عامل به دلیل سربار اجرای n - 1 مورد دیگر از سیستم عامل.

انواع دستگاه‌های نرم‌افزاری
---------------------------

### دستگاه‌های مجازی

یک دستگاه نرم‌افزاری می‌تواند در قالب ماشین مجازی به عنوان یک دستگاه مجازی بسته‌بندی شود و به آن اجازه می‌دهد در یک ظرف ماشین مجازی اجرا شود.

یک دستگاه مجازی می‌تواند با استفاده از یک قالب استاندارد ماشین مجازی مانند قالب مجازی سازی باز (OVF) یا یک قالب خاص برای یک ظرف ماشین مجازی خاص به عنوان مثال (VMware، جعبه مجازی یا Amazon EC2) ساخته شود.

### دستگاه سی دی زنده

یک دستگاه نرم‌افزاری می‌تواند به صورت تصویر Live CD بسته‌بندی شود و به آن اجازه دهد علاوه بر اکثر انواع ماشین‌های مجازی، روی سخت‌افزار واقعی نیز اجرا شود.

این به توسعه دهندگان اجازه می‌دهد تا از پیچیدگی‌های مربوط به پشتیبانی از چندین قالب تصویر ماشین مجازی ناسازگار جلوگیری کرده و در عوض بر روی کمترین مخرج متمرکز شوند (یعنی تصاویر ISO توسط اکثر سیستم عامل‌های ماشین مجازی پشتیبانی می‌شوند).

دستگاه‌های نرم‌افزاری تجاری
---------------------------

لوازم خانگی نرم‌افزاری تجاری معمولاً به عنوان سرویس اشتراک (به ازای پرداخت) به فروش می‌رسند و یک روش جایگزین برای نرم‌افزار به عنوان سرویس هستند.

مشتریان می‌توانند کلیه خدمات و تعمیر و نگهداری را از فروشنده برنامه دریافت کنند و این نیاز به مدیریت چندین جریان نگهداری، مجوزها و قراردادهای خدمات را از بین می‌برد.

در برخی موارد، فروشنده برنامه ممکن است دستگاه نرم‌افزار را قبل از تحویل به مشتری بر روی یک سخت‌افزار نصب کند، در نتیجه یک دستگاه رایانه ایجاد می‌کند. در هر دو مورد، ارزش اولیه برای مشتری سادگی خرید، استقرار و نگهداری است.

جستارهای وابسته
---------------

* برنامه انتقال‌پذیر
* ویندوز تو گو

منابع
-----

1. ↑  Congdon, Lee (2008-01-25). "What is a Software Appliance?". *Red Hat Blog*. Archived from the original (html) on 2019-07-15. Retrieved 2019-12-29.
2. ↑  *SAN Data Center بایگانی‌شده در ۲۰۰۵-۰۵-۰۲ توسط Wayback Machine*- Network World
3. ↑  "OVF 1.1 Specification" (PDF).
4. ↑  "VirtualBox changelog". Retrieved 2009-04-13.
5. ↑  Wu C F, Wang Y S, Liu G N, Amies, A, 2012, Create solutions on IBM SmartCloud Enterprise: Transfer image assets between different accounts *IBM developerWorks*, June 6.