КРОССАРХИТЕКТУРНАЯ КОНТЕЙНЕРНАЯ ВИРТУАЛИЗАЦИЯ

1. Реализуемый с помощью компьютера метод для исполнения программного приложения, предназначенного для исполнения на первой архитектуре ЭВМ, сопряженной с первой операционной системой, на компьютеризированной системе второй архитектуры ЭВМ, отличной от первой архитектуры ЭВМ, при этом компьютеризированная система второй архитектуры ЭВМ исполняет вторую операционную систему, где метод включает:
a. предоставление, с использованием функционала второй операционной системы, первого двоичного контейнера для исполнения приложения, где выполняемое внутри двоичного контейнера приложение выглядит для второй операционной системы и запущенных на ней нативных приложений как обычное нативное приложение, и где исполняемое в двоичном контейнере приложение взаимодействует с нативными для второй операционной системы приложениями посредством нативных межпроцессорных механизмов второй операционной системы;
b. перехват первого вызова из программного приложения в первую операционную систему, сопряженную с первой архитектурой ЭВМ; и
c. обработку перехваченного первого вызова из программного приложения в первую операционную систему, сопряженную с первой архитектурой ЭВМ, в которой обработка перехваченного первого вызова включает в себя:
i. выполнение простой перекодировки перехваченного первого вызова в соответствующий второй вызов второй операционной системы и обработку второго вызова с использованием второй операционной системы;
ii. выполнение частичной эмуляции первой операционной системы; или
iii. выполнение полной эмуляции первой операционной системы.
2. Реализуемый с помощью компьютера метод по п. 1, в котором в пункте а. пространство памяти программного приложения размещается внутри пространства памяти двоичного контейнера и полностью доступно для двоичного контейнера, и при этом пространство памяти двоичного контейнера защищено от программного приложения.
3. Реализуемый с помощью компьютера метод по п. 1, в котором вторая операционная система не знает о программном приложении, полностью загруженном в двоичный контейнер и работающем внутри двоичного контейнера, в котором программное приложение не видно в виде отдельного приложения для второй операционной системы.
4. Реализуемый с помощью компьютера метод по п. 1, в котором вторая операционная система представляет собой стандартную операционную систему без каких-либо изменений.
5. Реализуемый с помощью компьютера метод по п. 1, в котором двоичный контейнер имеет возможность использовать любую функцию из множества функций второй операционной системы для обеспечения функциональности контейнера.
6. Реализуемый с помощью компьютера метод по п. 1, в котором двоичный контейнер имеет возможность предоставлять функциональность контейнера, если вторая операционная система не обладает соответствующим функционалом операционной системы.
7. Реализуемый с помощью компьютера метод по п. 1, в котором в пункте с. обработка перехваченного первого вызова по выбору может быть одним из следующих: выполнением простой перекодировки; выполнением частичной эмуляции и выполнением полной эмуляции на основе запроса или параметра, полученного от пользователя.
8. Реализуемый с помощью компьютера метод по п. 1, в котором обработка перехваченного первого вызова по выбору может быть одним из следующих: выполнением простой перекодировки; выполнением частичной эмуляции и выполнением полной эмуляции, для одного или более аргументов или параметров перехваченного первого вызова.
9. Реализуемый с помощью компьютера метод по п. 1, дополнительно включающий трансляцию двоичного кода программного приложения из первого кода, соответствующего первой архитектуре ЭВМ, во второй код, соответствующий второй архитектуре ЭВМ.
10. Реализуемый с помощью компьютера метод по п. 1, в котором первый двоичный контейнер выполнен с возможностью дополнительно исполнять второе программное приложение.
11. Реализуемый с помощью компьютера метод по п. 1, дополнительно включающий перехват и обработку синхронных или асинхронных событий, предназначенных программному приложению.
12. Материальный носитель информации, представляющий собой множество инструкций, которые, при исполнении на одном или более процессорах, приводят к исполнению этим одним или более процессорами реализуемого с помощью компьютера метода для исполнения программного приложения, предназначенного для исполнения на первой архитектуре ЭВМ, сопряженной с первой операционной системой, на компьютеризированной системе второй архитектуры ЭВМ, отличной от первого архитектуры ЭВМ, при этом компьютеризированная система второй архитектуры ЭВМ исполняет вторую операционную систему, где метод включает:
а. предоставление, с использованием функционала второй операционной системы, первого двоичного контейнера для исполнения приложения, где выполняемое внутри двоичного контейнера приложение выглядит для второй операционной системы и запущенных на ней нативных приложений, как обычное нативное приложение, и где исполняемое в двоичном контейнере приложение взаимодействует с нативными для второй операционной системы приложениями посредством нативных межпроцессорных механизмов второй операционной системы;
b. перехват первого вызова из программного приложения в первую операционную систему, сопряженную с первой архитектурой ЭВМ; и
c. обработку перехваченного первого вызова из программного приложения в первую операционную систему, сопряженную с первой архитектурой ЭВМ, в которой обработка перехваченного первого вызова включает в себя:
i. выполнение простой перекодировки перехваченного первого вызова в соответствующий второй вызов второй операционной системы и обработку второго вызова с использованием второй операционной системы;
ii. выполнение частичной эмуляции первой операционной системы; или
iii. выполнение полной эмуляции первой операционной системы.
13. Материальный носитель информации по п. 12, в котором в пункте а. пространство памяти программного приложения размещается внутри пространства памяти двоичного контейнера и полностью доступно для двоичного контейнера и при этом пространство памяти двоичного контейнера защищено от программного приложения.
14. Материальный носитель информации по п. 12, в котором вторая операционная система не знает о программном приложении, полностью загруженном в двоичный контейнер и работающем внутри двоичного контейнера, в котором программное приложение не видно в виде отдельного приложения для второй операционной системы.
15. Материальный носитель информации по п. 12, в котором вторая операционная система представляет собой стандартную операционную систему без каких-либо изменений.
16. Материальный носитель информации по п. 12, в котором двоичный контейнер имеет возможность использовать любую функцию из множества функций второй операционной системы для обеспечения функциональности контейнера.
17. Материальный носитель информации по п. 12, в котором двоичный контейнер имеет возможность предоставлять функциональность контейнера, если вторая операционная система не обладает соответствующим функционалом операционной системы.
18. Материальный носитель информации по п. 12, в котором в пункте с. обработка перехваченного первого вызова по выбору может быть одним из следующих: выполнением простой перекодировки; выполнением частичной эмуляции и выполнением полной эмуляции на основе запроса или параметра, полученного от пользователя.
19. Материальный носитель информации по п. 12, в котором обработка перехваченного первого вызова по выбору может быть одним из следующих: выполнением простой перекодировки; выполнением частичной эмуляции и выполнением полной эмуляции, для одного или более аргументов или параметров перехваченного первого вызова.
20. Материальный носитель информации по п. 12, в котором метод также включает трансляцию двоичного кода программного приложения из первого кода, соответствующего первой архитектуре ЭВМ, во второй код, соответствующий второй архитектуре ЭВМ.
21. Материальный носитель информации по п. 12, в котором первый двоичный контейнер выполнен с возможностью дополнительно исполнять второе программное приложение.
22. Материальный носитель информации по п. 12, в котором метод также включает перехват и обработку синхронных или асинхронных событий, предназначенных программному приложению.
23. Компьютеризированная система, включающая центральный процессор и память, в памяти хранится множество инструкций, которые при исполнении центральным процессором приводят к исполнению центральным процессором реализуемого с помощью компьютера метода для исполнения программного приложения, предназначенного для исполнения на первой архитектуре ЭВМ, сопряженной с первой операционной системой, на компьютеризированной системе второй архитектуры ЭВМ, отличной от первого архитектуры ЭВМ, при этом компьютеризированная система второй архитектуры ЭВМ исполняет вторую операционную систему, где метод включает:
a. предоставление, с использованием функционала второй операционной системы, первого двоичного контейнера для исполнения приложения, где выполняемое внутри двоичного контейнера приложение выглядит для второй операционной системы и запущенных на ней нативных приложений, как обычное нативное приложение, и где исполняемое в двоичном контейнере приложение взаимодействует с нативными для второй операционной системы приложениями посредством нативных межпроцессорных механизмов второй операционной системы;
b. перехват первого вызова из программного приложения в первую операционную систему, сопряженную с первой архитектурой ЭВМ; и
c. обработку перехваченного первого вызова из программного приложения в первую операционную систему, сопряженную с первой архитектурой ЭВМ, в которой обработка перехваченного первого вызова включает в себя:
i. выполнение простой перекодировки перехваченного первого вызова в соответствующий второй вызов второй операционной системы и обработки второго вызова с использованием второй операционной системы;
ii. выполнение частичной эмуляции первой операционной системы или
iii. выполнение полной эмуляции первой операционной системы.
24. Компьютеризированная система по п. 23, в которой в подпункте а. пространство памяти программного приложения размещается внутри пространства памяти двоичного контейнера и полностью доступно для двоичного контейнера и при этом пространство памяти двоичного контейнера защищено от программного приложения.
25. Компьютеризированная система по п. 23, в которой вторая операционная система не знает о программном приложении, полностью загруженном в двоичный контейнер и работающем внутри двоичного контейнера, в котором программное приложение не видно в виде отдельного приложения для второй операционной системы.
26. Компьютеризированная система по п. 23, в которой вторая операционная система представляет собой стандартную операционную систему без каких-либо изменений.
27. Компьютеризированная система по п. 23, в которой двоичный контейнер имеет возможность использовать любую функцию из множества функций второй операционной системы для обеспечения функциональности контейнера.
28. Компьютеризированная система по п. 23, в которой двоичный контейнер имеет возможность предоставлять функциональность контейнера, если вторая операционная система не обладает соответствующим функционалом операционной системы.
29. Компьютеризированная система по п. 23, в которой в подпункте с. обработка перехваченного первого вызова по выбору может быть одним из следующих: выполнением простой перекодировки; выполнением частичной эмуляции и выполнением полной эмуляции на основе запроса или параметра, полученного от пользователя.
30. Компьютеризированная система по п. 23, в которой обработка перехваченного первого вызова по выбору может быть одним из следующих: выполнением простой перекодировки; выполнением частичной эмуляции и выполнением полной эмуляции для одного или более аргументов или параметров перехваченного первого вызова.
31. Компьютеризированная система по п. 23, в которой метод также включает трансляцию двоичного кода программного приложения из первого кода, соответствующего первой архитектуре ЭВМ, во второй код, соответствующий второй архитектуре ЭВМ.
32. Компьютеризированная система по п. 23, в которой первый двоичный контейнер выполнен с возможностью дополнительно исполнять второе программное приложение.
33. Компьютеризированная система по п. 23, в которой метод также включает перехват и обработку синхронных или асинхронных событий, предназначенных программному приложению.