Гол ялгаа – Эх код ба Байткод
Компьютер гэдэг нь хэрэглэгчийн өгсөн зааврын дагуу даалгавруудыг гүйцэтгэх боломжтой машин юм. Компьютерийн програм нь компьютерт заавар өгөх боломжтой. Энэ нь тодорхой програмчлалын хэлээр бичигдсэн заавруудын багц юм. Төрөл бүрийн програмчлалын хэлүүд байдаг. Ихэнх програмчлалын хэлүүд нь дээд түвшний програмчлалын хэл юм. Өндөр түвшний хэлээр бичигдсэн программыг хүн эсвэл програмист ойлгоход хялбар байдаг. Эдгээр программуудыг эх код гэж нэрлэдэг. Тэд машинд ойлгомжгүй байдаг. Тиймээс хүн унших боломжтой, ойлгомжтой программыг машинд ойлгомжтой формат руу хөрвүүлэх хэрэгтэй. Машины ойлгомжтой кодыг машины код гэж нэрлэдэг. Си зэрэг програмчлалын хэл нь хөрвүүлэгч ашиглан эх кодыг бүхэлд нь машины код болгон хувиргадаг. Зарим програмчлалын хэлүүд эх кодыг завсрын код болгон хувиргаж, дараа нь тэр завсрын кодыг машины код болгон хөрвүүлдэг. Энэ процесст завсрын кодыг байт код гэж нэрлэдэг. Энэ нийтлэлд эх код болон байт код хоёрын ялгааг авч үзэх болно. Эх код болон байт код хоёрын гол ялгаа нь эх код нь хүний унших боломжтой програмчлалын хэлээр бичигдсэн компьютерийн заавруудын цуглуулга бөгөөд байт код нь виртуал машинаар гүйцэтгэгддэг эх код болон машины код хоорондын завсрын код юм.
Эх код гэж юу вэ?
Тооцооллын асуудлыг шийдэхийн тулд програм бичдэг. Програмын багцыг програм хангамж гэж нэрлэдэг. Хөгжүүлэгч нь програм хангамжийг хөгжүүлэхийн тулд тавигдах шаардлагуудын талаар сайн ойлголттой байх ёстой. Шаардлагад үндэслэн системийг зохион бүтээх боломжтой. Дараа нь боловсруулсан системийг програмчлалын хэл ашиглан хэрэгжүүлдэг. Программист програмчлалын хэлийг ашиглан дизайныг компьютерийн багц програм болгон хувиргах боломжтой.
Эдгээр программыг хүн эсвэл програмист ойлгох боломжтой. Тэд англи хэлтэй төстэй синтакстай байдаг. Хүн унших боломжтой програмчлалын хэл ашиглан бичсэн заавруудын цуглуулгыг эх код гэж нэрлэдэг. Жишээлбэл, C, Java зэрэг програмчлалын хэлүүд нь программ боловсруулахад зориулсан нэгдсэн хөгжлийн орчинтой (IDE) байдаг. Мөн энгийн текст засварлагч ашиглан програм бичих боломжтой. Тэдгээр программыг Эх код гэж нэрлэдэг.
Байткод гэж юу вэ?
Програмчлалын хэлийг эх кодоос машины код руу хөрвүүлэх үед зарим програмчлалын хэлүүд эх кодыг байт код гэж нэрлэгддэг завсрын код болгон хувиргадаг. Java бол байт кодыг ашигладаг програмчлалын томоохон хэлнүүдийн нэг юм. Эх кодыг байт код руу хөрвүүлэх үйл явц дараах байдалтай байна.
Зураг 01: Java дээр програмын гүйцэтгэл
Java хэл дээр Java програмуудыг ажиллуулахад тусалдаг Java Virtual Machine (JVM) хэмээх виртуал машин байдаг. Виртуал машин нь систем дээр суулгасан үйлдлийн системтэй төстэй. Java програмыг ажиллуулах үед хөрвүүлэгч нь Java програм эсвэл эх кодыг Java байт код болгон хөрвүүлдэг. Дараа нь JVM нь байт кодыг машины код болгон хувиргадаг. Машины кодыг компьютер шууд гүйцэтгэдэг. Байт кодыг JVM-д зориулж бичсэн. Энэ нь тухайн машинд хамаарахгүй. Тиймээс байт кодыг Windows, Linux, Mac зэрэг янз бүрийн платформууд гүйцэтгэдэг. Байт код нь задлан шинжлэх болон семантик шинжилгээний үр дүнг кодлодог тоон код, тогтмол болон лавлагаатай.
Эх код болон байткодын хооронд ямар төстэй зүйл байдаг вэ?
- Хоёулаа компьютерийн програмчлалтай холбоотой.
- Компьютерт зааврыг гүйцэтгэхийн тулд хоёуланг нь машины код руу орчуулах ёстой.
Эх код болон байт код хоёрын ялгаа юу вэ?
Эх код ба Байткод |
|
Эх код нь хүний унших боломжтой програмчлалын хэл ашиглан бичигдсэн компьютерийн заавруудын цуглуулга юм. | Байткод нь виртуал машинаар гүйцэтгэдэг эх код болон машины код хоорондын завсрын код юм. |
Ойлгомжтой | |
Эх кодыг хүн эсвэл программист унших боломжтой. | Байт кодыг виртуал машин унших боломжтой. |
Үе | |
Эх кодыг хүн үүсгэсэн. | Байтын кодыг хөрвүүлэгч үүсгэсэн. |
Формат | |
Эх код нь англи хэл дээрх ижил төстэй синтакс, тайлбар бүхий энгийн текст хэлбэртэй байна. | Байт код нь задлан шинжлэх болон семантик шинжилгээний үр дүнг кодлодог тоон код, тогтмол болон лавлагаатай. |
Гүйцэтгэх арга | |
Эх кодыг машин шууд гүйцэтгэх боломжгүй. | Байт кодыг Виртуал машинаар гүйцэтгэх боломжтой. |
Гүйцэтгэх хурд | |
Эх кодын хурд нь байт кодоос хамгийн бага байна. | Байткодын хурд нь эх кодоос хурдан. |
Гүйцэтгэл | |
Эх кодын гүйцэтгэл нь байт кодтой харьцуулахад тийм ч их биш байна. | Байткодын гүйцэтгэл нь машины кодтой ойрхон тул эх кодоос өндөр байна. |
Хураангуй – Эх код ба Байткод
Программист программ ашиглан компьютерт заавар өгөх боломжтой. Ихэнх программуудыг дээд түвшний програмчлалын хэл ашиглан бичдэг. Тэдгээр нь хүмүүст ойлгомжтой боловч компьютерт ойлгомжтой биш юм. Тиймээс програмыг машинд ойлгомжтой формат руу хөрвүүлэх хэрэгтэй. Энэ үйл явцад янз бүрийн хэлүүд янз бүрийн аргыг ашигладаг. Зарим програмчлалын хэл нь програмыг шууд машины код болгон хувиргадаг. Бусад хэлүүд программыг завсрын код болгон хувиргаж, тэр завсрын кодыг машины код руу хөрвүүлдэг. Эх код болон байт код нь энэ үйл явцын нийтлэг хоёр нэр томъёо юм. Эх код болон байт код хоёрын ялгаа нь эх код нь хүний унших боломжтой програмчлалын хэл ашиглан бичигдсэн компьютерийн заавруудын цуглуулга бөгөөд байт код нь виртуал машинаар гүйцэтгэдэг эх код болон машины код хоорондын завсрын код юм.
Эх кодын PDF-г татаж авах ба Байткод
Та энэ нийтлэлийн PDF хувилбарыг татаж аваад офлайн зорилгоор ашиглах боломжтой. PDF хувилбарыг эндээс татаж авна уу: Эх код ба Байткодын ялгаа