Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Схема та стислий опис роботи JVM.

Читайте также:
  1. I. Схема установки
  2. IX. Схема обследования больного с геморрагическим заболеванием.
  3. IX. Схема обследования больного.
  4. IX. Схема обследования больного.
  5. IX.Матеріали методичного забезпечення основного етапу роботи.
  6. V. МЕТОДИЧНІ РЕКОМЕНДАЦІЇ ДО САМОСТІЙНОЇ РОБОТИ
  7. XV. ЗВІЛЬНЕНІ З РОБОТИ ЗВУКИ

Кафедра ЕОМ

 

 

Звіт

лабораторної роботи №6

«Дослідження принципів віртуалізації програмного оточення на прикладі Java Virtual Machine »

з дисципліни:

«Проектування віртуальних машин»

 

 

Виконав:

ст. гр. СПРм-11

Якимець А. І.

Прийняв:

Бочкарьов О.Ю.

Львів-2012

Мета: Дослідити роботу засобів програмної віртуалізації на прикладі Java Virtual Machine

Завдання:

Функція Кількість вхідних аргументів
  Добуток квадратів  

Порядок виконання роботи:

Схема та стислий опис роботи 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. В моєму випадку використовувалось JDK 1.7.0_02 версії.

Далі була набрана програма згідно варіанту. Та збережена з назвою lab6.java. Наступним кроком була її компіляція javac lab6.java. Далі отримання її байт коду java –c lab6 та вивід її у файл. Останнім кроком був запуск скомпільованої програми java Maximum.

3. Текст створеної Java-програми.

public class lab6{

public static void main(String[] Args)

{

int X,Y,Res;

X = Integer.parseInt(Args[0]);

Y = Integer.parseInt(Args[1]);

Res = MulPov(X,Y);

System.out.println(Res);

}

public static int MulPov(int A, int B)

{

A = A*A;

B = B*B;

return A*B;

}

} 4. Результати компіляції та запуску на виконання створеної Java-програми.

Рис.2. Схема конфігурації віртуальної мережі на основі мостового з’єднання.

5. Текст байткоду створеної Java-програми у вигляді інструкцій JVM з поясненнями.

Compiled from "lab6.java"

public class lab6 {

public lab6();

Code:

0: aload_0

1: invokespecial #1 // Method java/lang/Object."<init>":()V

4: return

 

public static void main(java.lang.String[]);

Code:

0: aload_0

1: iconst_0

2: aaload

3: invokestatic #2 // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I

6: istore_1

7: aload_0

8: iconst_1

9: aaload

10: invokestatic #2 // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I

13: istore_2

14: iload_1

15: iload_2

16: invokestatic #3 // Method MulPov:(II)I

19: istore_3

20: getstatic #4 // Field java/lang/System.out:Ljava/io/PrintStream;

23: iload_3

24: invokevirtual #5 // Method java/io/PrintStream.println:(I)V

27: return

 

public static int MulPov(int, int);

Code:

0: iload_0

1: iload_0

2: imul

3: istore_0

4: iload_1

5: iload_1

6: imul

7: istore_1

8: iload_0

9: iload_1

10: imul

11: ireturn

}

Висновок: Під час даної лабораторної роботи я дослідив роботу засобів програмної віртуалізації на прикладі Java Virtual Machine


Дата добавления: 2015-10-21; просмотров: 87 | Нарушение авторских прав


Читайте в этой же книге: Порядок створення віртуальної машини за допомогою New Virtual Machine Wizard згідно варіанту. | Вміст файлу Ubuntu.vmx. | Стислий опис підходів до визначення продуктивності програмних засобів віртуалізації для desktop-систем(VMmark). | Whetstone. | Послідовність дій щодо визначення продуктивності програми віртуалізації VMware Player за допомогою простих синтетичних тестів. | Тест Fhourstines на базовій системі. | Стислий опис принципів забезпечення інтернет-з’єднання для віртуальної машини за допомогою засобів віртуалізації. | Послідовність дій щодо порівняльної оцінки якості інтернет-з’єднання в базовій та гостьвій системах. | Перелік компонентів вірутальної мережі на платформі VMware та стислий опис кожного з них. |
<== предыдущая страница | следующая страница ==>
Послідовність дій щодо створення віртуальної мережі у заданій конфігурації.| Отбор переменных для исследования

mybiblioteka.su - 2015-2024 год. (0.009 сек.)