DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи №6: Дослідження принципів віртуалізації програмного оточення на прикладі Java Virtual Machine

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Проектування віртуальних машин
Група:
КН-11
Коротко про документ

Про що ця робота

У роботі досліджено принципи програмної віртуалізації та роботу Java Virtual Machine. Скомпоновано та протестовано код Java-програми з аналізом байткоду.

У роботі розглядаються

  • Віртуалізація програмного оточення
  • Java Virtual Machine
  • Байткод Java
  • Компіляція програм
  • Архітектура JVM

Зміст і розділи

  1. Мета і завдання
  2. Схема та стислий опис роботи JVM
  3. Порядок створення, компіляції та запуску Java-програм
  4. Текст створеної Java-програми
  5. Результати компіляції та запуску
  6. Текст байткоду створеної Java-програми
  7. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Бочкарьов

Ключові поняття

JVMбайткодвіртуалізаціякомпіляціяJavaкласінструкціяпам'ять

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ«ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЕОМ  Звіт лабораторна робота №6 «Дослідження принципів віртуалізації програмного оточення на прикладі Java Virtual Machine» з дисципліни: «Проектування віртуальних машин» Мета: Дослідити роботу засобів програмної віртуалізації на прикладі Java Virtual Machine Завдання: № Функція Кількість вхідних аргументів  05 Середнє арифметичне 2  Порядок виконання роботи: 1. Схема та стислий опис роботи JVM. Програми, що написані мовою Java, є незалежними від фізичної платформи. Це означає, що можна скомпілювати Java-програму на одній архітектурі (наприклад, Pentium), а потім запустити її на виконання в іншій архітектурі (скажімо, на Sun workstation) без додаткових модифікацій і перекомпіляції. Компілятор Java-програм не враховує архітектуру машини, на якій має викликатися результат компіляції, наприклад, число регістрів, розмір пам’яті, порти введення-виведення тощо. Після завершення компіляції для виконання програми нам потрібна так звана віртуальна машина Java - Java Virtual Machine (JVM), аби надати архітектуру для запуску і виконання скомпільованої програми. При цьому віртуальною машиною Java називають програмне забезпечення, що емулює реальну машину. VM є за своєю сутністю обгорткою ("wrapper"), в яку загорнуто реальну апаратну архітектуру. З боку Java-програми така обгортка надає стандартний інтерфейс, а з боку апаратури інтерфейс обгортки залежить від апаратної архітектури і є досить складним. Тому JVM для платформи Pentium відрізняється від JVM для платформи Sun workstation, яка, в свою чергу, відрізняється від JVM для платформи Macintosh тощо. Хоча JVM є віртуальною, вона надає яскравий приклад елегантно розробленої архітектури рівня машинних інструкцій. Віртуальна машина Java для конкретної платформи реалізується на машинних інструкціях цієї платформи. JVM діє як інтерпретатор так званого байткоду Java (Java bytecode), що інтерпретуються під час виконання в машинні інструкції відповідної обчислювальної машини. Байткод Java є результатом компіляції текстів програм, написаних мовою Java (рис.1). Робота JVM подібна до виконання оператора switch (case) - JVM «розбирає» одну інструкцію байткоду за один раз. При цьому кожна інструкція байткоду спричиняє перехід на відповідний блок машинного коду (в архітектурі платформи виконання), який власне реалізує цю інструкцію байткоду.  Рис.1. Схема віртуалізаії програмного оточення на основі JVM 2. Порядок створення, компіляції та запуску Java-програм. Для того щоб створювати та компілювати Java-програми потрібно встановити Java Development Kit. Далі була набрана програма згідно варіанту. Та збережена з назвою my_lab.java. Наступним кроком була її компіляція javac my_lab.java. Далі отримання її байт коду java –c my_lab та вивід її у файл. Останнім кроком був запуск скомпільованої програми java my_lab. 3. Текст створеної Java-програми. public class my_lab{ public static void main (String[] Args) { int a,b,res = 0; a = Integer.parseInt(Args[0]); b = Integer.parseInt(Args[1]); res = Calc(a,b); System.out.println(res); } public static int Calc(int i, int j) { int sum = (i + j) / 2; return sum; } } 4. Результати компіляції та запуску на виконання створеної Java-програми.  Рис.2. Схема конфігурації віртуальної мережі на основі мостового з’єднання. 5. Текст байткоду створеної Java-програми у вигляді інструкцій JVM з поясненнями. Compiled from "my_lab.java" public class my_lab { public my_lab(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: iconst_0 1: istore_3 2: aload_0 3: iconst_0 4: aaload 5: invokestatic #2 // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I 8: istore_1 9: aload_0 10: iconst_1 11: aaload 12: invokestatic #2 // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I 15: istore_2 16: iload_1 17: iload_2 18: invokestatic #3 // Method Calc:(II)I 21: istore_3 22: getstatic #4 // Field java/lang/System.out:Ljava/io/PrintStream; 25: iload_3 26: invokevirtual #5 // Method java/io/PrintStream.println:(I)V 29: return public static int Calc(int, int); Code: 0: iload_0 1: iload_1 2: iadd 3: iconst_2 4: idiv 5: istore_2 6: iload_2 7: ireturn } Висновок: Під час даної лабораторної роботи я дослідив роботу засобів програмної віртуалізації на прикладі Java Virtual Machine
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!