Кіріспе

Компьютерлік бағдарламаларды инкапсуляциялау әдісі Виртуализация - компьютерлік бағдарламаларды орындалатын негізгі операциялық жүйеден инкапсуляциялаудың бағдарламалық технологиясы. Толық виртуалды қолданба дәстүрлі мағынада орнатылмайды, бірақ ол әлі де орындалғандай орындалады. Қолданба орындалу кезінде бастапқы операциялық жүйемен және ол басқаратын барлық ресурстармен тікелей байланысқандай әрекет етеді, бірақ әртүрлі дәрежеде оқшаулануы немесе құмдық қоршалуы мүмкін. Бұл жағдайда "виртуализация" термині артефакті инкапсуляцияланған (өтінім) дегенді білдіреді, бұл оның аппараттық виртуализацияның мағынасынан мүлдем өзгеше, онда ол артефакті абстракцияланған (физикалық аппараттық) дегенді білдіреді.

Артықшылықтары

Қолданбаларды виртуализациялау жергілікті қолданбаға сәйкес келмейтін ортада орындауға мүмкіндік береді. Мысалы, Wine кейбір Microsoft Windows бағдарламаларын Linux-та орындауға мүмкіндік береді. Қолданбаларды виртуализациялау ұйымдағы бірнеше компьютерлерде ортақ бағдарламалық қамтамасыз ету базасын сақтау арқылы жүйелік интеграция мен әкімшілік шығындарды азайтады. Кіші интеграция операциялық жүйе мен басқа да қолданбаларды нашар жазылған немесе қате кодтан қорғайды. Кейбір жағдайларда ол жадты қорғауды, IDE стиліне арналған жөндеу функциясын қамтамасыз етеді және тіпті дұрыс жазылмаған қолданбаларды, мысалы, пайдаланушы деректерін тек оқу жүйесіне тиесілі орында сақтауға тырысатын қолданбаларды орындауы мүмкін. (Бұл мүмкіндік соңғы пайдаланушыларға нашар жазылған бағдарламаларды орындау үшін әкімшілік артықшылықтарға ие болу талабын алып тастау арқылы ең аз артықшылық принципін іске асыруға көмектеседі.) Бұл үйлесімсіз қосымшаларды бір-бірімен қатар орындауға мүмкіндік береді, сонымен бірге қолданбаларды операциялық жүйеден оқшаулау қауіпсіздік артықшылықтарына ие, өйткені виртуалды қолданбаның ашылуы автоматты түрде бүкіл ОЖ-ның ашылуына әкелмейді. Қолданбаларды жылжымалы медиаға немесе компьютерлер арасында орнатудың қажеті жоқ, портативті бағдарламалық жасақтамаға айналдыруға болады. Қолданбаларды виртуалды ету жеке виртуалды машинаға қарағанда аз ресурстарды пайдаланады.

Шектеулер

Барлық компьютерлік бағдарламаларды виртуалды түрде жасауға болмайды. Кейбір мысалдарға құрылғы драйверін (Жүйелік жүйемен интеграциялау түрі) және ортақ жады кеңістігінде жұмыс істеуі қажет 16 битті қосымшалар жатады. WindowBlinds немесе StyleXP сияқты ауыр ОЖ интеграциясын қажет ететін антивирустық бағдарламалар мен қолданбаларды виртуалды ету қиын. Сонымен қатар, бағдарламалық жасақтаманы лицензиялауда қолданбаларды виртуализациялау үлкен лицензиялық тұзақтарға ұшырайды, себебі қолданбаларды виртуализациялау бағдарламалық жасақтамасы мен виртуализацияланған қолданбалар дұрыс лицензиялануы керек. Қолданбаларды виртуализациялау ескі қолданбалар мен жаңа операциялық жүйелер арасындағы файлдар мен тіркелім деңгейінің үйлесімділік мәселелерін шешсе де, үйінділерді дұрыс басқара алмайтын қолданбалар Windows Vista-да орындалмайды, өйткені олар жадыны бірдей бөледі, олар виртуализацияланғанына қарамастан. Осы себепті, тіпті қолданба виртуалды болса да, арнайы қосымшаның үйлесімділігін түзету (shims) қажет болуы мүмкін. Көп үйлесімділік моделі ішіндегі функционалдық сәйкессіздіктер қосымша шектеу болып табылады, онда коммуналдық қызметпен басқарылатын қолжетімділік нүктелері қоғамдық желіде ортақ қолданылады. Бұл шектеулер жүйелік деңгейдегі ортақ нүктелік драйверді тағайындау арқылы шешіледі.