Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




JVM

Ceha slovaca


ALTE DOCUMENTE

Věznice - zajímavé počtení
Strukturovaný seznam projektových a produktových činností
Zateplování domu - II.
10. Náhodné veličiny a jejich rozdělení. Číselné charakteristiky náh. veličiny (střední hodnota, rozptyl, medián, modus). Roz
VAROVANIE PRE MLADÝCH ĽUDÍ:
Vepřova kýta kung pao
DOKONALE ZOTROČENÁ SPOLEČNOST
15 VĚCÍ, KTERÉ BYLY DŘÍVE LEPSÍ
Kapitola desátá - Pobertův plánek
Profesorka Umbridgová

JVM

Java Virtual Machine: Označení pro jednotné prostředí, ve kterém jsou provozovány applety jazyka Java. Toto jednotné prostředí zahrnuje vlastnosti a chování procesoru, hospodaření s pamětí, vstupy a výstupy, základní grafické a zobrazovací schopnosti, a pamatuje i na otázky bezpečnosti a dalsí aspekty běhu appletů. Jde tedy o prostředí, které odpovídá celému počítači, který ale nemá zádný reálný vzor, a musí být předstírán (proto je označován jako virtuální). Dnes je na nejrůznějsích platformách předstírán (emulován) progr 17117p1520r amovými prostředky, coz mj. znamená, ze jednotlivé instrukce appletů jsou zde tzv. interpretovány. Do budoucna vsak lze počítat i s faktickou realizací tohoto počítače hardwarovými prostředky (zejména jeho procesorové části).



Ve světě počítačů je poměrně snadné něco předstírat: příkladem můze být předstírání větsí paměti, nez jakou je počítač ve skutečnosti vybaven - kde by byly dnesní osobní počítače, jejich operační systémy a náročné aplikace bez mechanismů stránkování a tzv. odkládacích souborů (swap files), které dokází vytvořit iluzi dostatečně velké paměti, navíc uspořádané takovým způsobem, ze si kazdá aplikace můze myslet, ze má celou paměť jen a jen pro sebe. Ne bezdůvodně je takováto paměť označována přívlastkem "virtuální" (ve smyslu: předstíraná).

Jiným příkladem úspěsného předstírání ve světě počítačů můze být způsob práce s takovými periferiemi, které nelze sdílet, ale které ve víceúlohovém či víceuzivatelském prostředí chce vyuzívat více úloh současně. Jde například o tiskárnu, na kterou skutečně nemůze posílat své výstupy více úloh najednou - vzdyť by pak doslo k nesmyslnému promíchání jednotlivých znaků, které tyto úlohy chtějí tisknout. Řesením je v tomto konkrétním případě mechanismus tzv. spoolingu, který kazdé úloze dokáze přidělit její vlastní, byť předstíranou (virtuální) tiskárnu, a poté korektním a koordinovaným způsobem vytisknout dokončené tiskové sestavy na skutečné, fyzicky nesdílitelné tiskárně. Jestě dalsím příkladem úspěsného předstírání pak mohou být nejrůznějsí druhy simulací a emulací, které mohou například předstírat jiný druh procesoru, nez jakým je daný počítač skutečně osazen.

Vsechny tyto techniky předstírání se přitom týkají jednotlivých komponent počítačových systémů, a mají za cíl předstírat jejich existenci, resp. měnit některé jejich vlastnosti, chování, velikost atd. Zajímavou otázkou je ale to, zda by mělo smysl podobným způsobem předstírat úplně celý počítač, se vsím vsudy - včetně procesoru, paměti i vstupně/výstupních zařízení.

Jednou moznou motivací pro takovýto krok můze být snaha provozovat programy, určené pro jeden druh počítače (včetně práce s pamětí a periferiemi), na počítači jiném. Například provozovat hry pro oblíbené ZX Spectrum na bězném PC (k tomuto účelu slouzí emulátory ZX Spectra na PC). Dalsí moznou motivací můze být snaha vytvořit jednotné pracovní prostředí vsem úlohám a aplikacím, které mají být provozovány na určitém konkrétním typu počítače (resp. jedné konkrétní platformě) - příkladem můze být operační systém VM (od: Virtual Machine), vyvinutý pro střediskové počítače (mainframy) firmy IBM. Konečně dalsí moznou motivací je snaha zajistit takovéto jednotné pracovní prostředí na počítačích různých typů, neboli na různých platformách. A právě to potřebuje k naplnění svého poslání jazyk Java a jeho applety (i servlety).

Jedním ze základních cílů jazyka Java je jeho nezávislost na konkrétní platformě - programy napsané v tomto jazyku (ať jiz ve formě appletů či servletů) by měly bězet přesně stejným způsobem na kterékoli platformě (která jazyku Java vychází vstříc). To ale znamená, ze na vsech takovýchto platformách musí být javovským appletům a servletům předstíráno stejné prostředí, odpovídající celému virtuálnímu počítači: od předstíraného procesoru, včetně jeho sestavy registrů, souboru instrukcí, způsobů adresování, přes organizaci operační paměti, az po "styk s okolím" prostřednictvím vstupně výstupních zařízení (zejména pro potřeby zobrazování). V konkrétním případě Javy se neslo cestou převzetí či přizpůsobení nějakého jiz existujícího typu počítače - místo toho byl vytvořen koncept zcela nový, odpovídající počítači který zatím "existuje pouze na papíře". V praxi to pak znamená, ze takovýto Javovský počítač musí být na reálných počítačích předstírán, a proto si také on zaslouzí přezdívku "virtuální" - v angličtině tedy jeho plné jméno zní "Java Virtual Machine", zkratkou JVM (doslova: Javovský virtuální stroj).

V současné době je "Java Virtual Machine" na nejrůznějsích platformách předstírán prostřednictvím programových prostředků, tj. emulací. To znamená, ze příslusnou iluzi "Javovského virtuálního počítače" vytváří program, bězící na dané hostitelské platformě, a uzpůsobený specificky pro tuto platformu. Tento emulační program pak jako svůj vstup dostává program, přelozený do cílového (strojového) kódu "Javovského virtuálního počítače" (coz je tzv. Javovský byte kód, obsazený v souborech s příponou .class), a předstírá jejich provádění - coz po věcné stránce znamená, ze jednotlivé instrukce tzv. byte kódu interpretuje. Právě v tomto smyslu je tedy Java interpretovaným jazykem. Alternativou je tzv. just-in-time kompilace, kterou jsme se zabývali v jednom z předchozích dílů této rubriky.

Program, který emuluje chování "Javovského virtuálního počítače", je dnes typicky zabudováván do nejrůznějsích WWW browserů (které pak díky tomu dokází provádět "uvnitř sebe sama" Javovské applety). Stejně tak ale můze být příslusný emulátor zcela samostatným programem, který není nijak vázán na zádný WWW browser.

Do budoucna bude častou alternativou k předstírání "Javovského virtuálního počítače" prostřednictvím programové emulace jeho faktická hardwarová realizace - to se týká předevsím samotného Javovského procesoru, na jehoz vývoji (v podobě tzv. Javovských čipů) se jiz pilně pracuje. Podstatné zde bude zejména zrychlení, vyplývající z přímého provádění Javovského byte kódu (který je zatím interpretován).

Pokud jde o konkrétní architekturu procesoru "Javovského virtuálního počítače" (tj. o architekturu Javovského čipu), pak tato je poměrně jednoduchá. Předpokládá minimum registrů (4 včetně čítače instrukcí), a na rozdíl od větsiny stávajících procesorů (orientovaných na práci s registry) se důsledně orientuje na práci se zásobníkem - veskeré operandy i výsledky operací jsou umisťovány na zásobník, a nikoli do registrů. Zajímavou odlisností například od Intelských mikroprocesorů je pouzívání konvence zvané Big Endian: zatímco Intelské procesory umisťují vícebytové struktury do paměti tak, ze vyssí (významnějsí) byty jsou na číselně vyssích adresách (coz odpovídá konvenci zvané Little Endian), Javovský procesor umisťuje jednotlivé byty v opačném gardu (jako to dělají např. procesory firmy Motorola).

Pro úplnost je jestě vhodné dodat, ze celá architektura Javovského procesoru, který tvoří základ "Javovského virtuálního počítače", je 32-bitová, coz znamená ze i jednotlivé registry jsou 32-bitové, a jsou tudíz schopné adresovat az 4 gigabyty paměti. Celá koncepce "Javovského virtuálního počítače" pak kromě procesoru zahrnuje i konkrétní představu o hospodaření s pamětí (na principu haldy a tzv. garbage collectoru, tj. applety samy explicitně neuvolňují paměť). Pamatováno je i na otázky bezpečnosti a její dodrzování, a na základní zobrazovací ("okenní") funkce. Zcela záměrně naopak není pamatováno na přístup Javovského virtuálního počítače k místním souborům a dalsím obdobným zdrojům svého reálného hostitelského počítače (z důvodů bezpečnosti).


Document Info


Accesari: 1241
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )