Java virtual machine (товчоор JVM) буюу Жава виртуал машин нь Java Virtual Machine Specification-ы хэрэгжүүлэлт бөгөөд хөрвүүлэгдсэн жава бинар код буюу байткодыг компьютерын процессорт (техник платформ) танигдахаар дамжуулагч юм. Ингэснээр Жава дээр бичигдсэн програм нь өөр платформ дээр бичигдсэн ч дахин бичих, дахин хөрвүүлэлт шаардахгүйгээр бусад платформ дээр ажилладаг. Жава виртуал машин нь платформуудын тодорхой заавруудын урт болон бусад нөхцлийг мэддэг. Java Virtual Machine Specification нь бодит машин юм уу процессор гэхээсээ илүү абстракт ойлголт бөгөөд зааварчилгаа регистрүүдийн бүрдэл, стак, аргуудыг агуулдаг. Java програм нь бит биш байт кодуудад хөрвөн ажилладаг бөгөөд энэхүү байт кодуудыг зөвхөн Java Virtual Machine (JVM) хэмээх систем ажиллуулдаг юм. Харин JVM нь платформ болгонд зориулагдан тусдаа хийгдсэн байдаг тул таны бичсэн програм, код аль ч үйлдлийн систем, платформ дээр ажиллах болж байгаа нь түүний хамгийн өвөрмөц онцлог юм. Java-гийн байт кодууд нь JVM агуулах ямар ч платформ дээр биелэгддэг тул Java хэлийг авсаархан (portable) хэлэнд тооцдог. Java виртуаль машин (Virtual Machine) нь байт кодыг машины хэлрүү хөрвүүлдэг. Тэгэхлээр Java Virtual Machine нь байт кодын интерпретатор (interpreter) юм. Java Virtual Machine-ын үзүүлэлт нь (abstract computer)-т зориулагдсан. Class нь аль ч Java програмаас файлыг цуглуулдаг ба Java хөрвүүлэгч нь Java API-ийг гүйцэтгэдэг. Class-ийг ачаалсаны дараа шалгагч class нь file-ийн ажиллагаатай үгүйг Java байткодоор шалгадаг ба системд илүү ч үгүй дутуу ч үгүй оруулдаг. Үүгээр дамжуулан byte-code-ийн pointer, arithmetic үзүүлэлтийг баталгаажуулна. Энэ arithmetic үзүүлэлт нь хууль бусаар санах ойд нэвтрэхийг олгодог. Хэрэв class нь хяналтыг давбал энэ Java хөрвүүлэгч дээр ажиллана. Бас Java нь Garbage Collection үзүүлэлтээр санах ойг автоматаар зохицуулна. Обьектоос санах ойг засах үйл ажиллагаа нь дахин хэрэглэгдэхгүй бөгөөд системрүү буцах боломжгүй. Олон хайгуул нь garbage collection алгоритм дээр төвлөрөх бөгөөд энэ нь Java програмын үзүүлэлтийг програмын хэл дээр нэмэгдүүлнэ. Java Virtual Machine нь программ хангамжийг үйлдлийн системд гүйцэтгэнэ. Үүнд Windows, Linux, Mac OSX, зарим вэб хөтөчид хамаарна. Java Virtual Machine нь техник хангамжийг гүйцэтгэхдээ онцгой тусдаа бэлтгэсэн Chip дээр Java програмыг суулгана. Хэрэв Java Virtual Machine нь программ хангамж дээр суурилагдсан бол Java хөрвүүлэгч нь byte-code-ийн үйлдлийг нэг нэгээр нь хийнэ. Хурдан програм хангамжийн техникийг just-in-time зохиогчоор хэрэглэх юм. Ийнхүү анх удаагаа Java хэлний хэрэглээний арга барил нээгдсэн. Byte-code нь үүний хэлбэрийг энгийн техникийн хэл болгон системд нэвтрүүлсэн.

JVM-ийн архитектур. Эх кодыг Java bytecode руу компайлдах бөгөөд энэ нь натив архитектурд таарахаар verify/interpreted эсвэл JIT компайлдагдана. Java API болон JVM нь нийлээд JRE буюу Java Runtime Environment-г бүрдүүлнэ.

Иш үндэс

засварлах
  • Operating System Concepts. 7-р хэвлэл. хуудас: 159

Мөн үзэх

засварлах

 

Энэ програмчлалын хэлний тухай өгүүлэл дутуу дулимаг бичигджээ. Нэмж гүйцээж өгөхийг хүсье.

 

Энэ компьютерийн тухай өгүүлэл дутуу дулимаг бичигджээ. Нэмж гүйцээж өгөхийг хүсье.