|
Tillar, sathlar va virtual mashinalar
|
bet | 2/6 | Sana | 14.05.2024 | Hajmi | 219,5 Kb. | | #233741 |
Bog'liq mustaqil ish kampyuter tashkil etilishi fanidan1.2 Tillar, sathlar va virtual mashinalar
Odamlar uchun qulay bo’lgan narsalar va kompyuterlar , bajara oladigan narsalar o’rtasida katta farq bor. Odamlar X-ni qilishni xohlashadi, ammo kompyuterlar faqat Yni bajarishi mumkin. Bu muammoni keltirib chiqaradi. Ushbu ma’ruzaning maqsadi bu muammoni qanday hal qilishni tushuntirishdir.
Yuqoridagi muammoni ikki usul bilan hal qilish mumkin. Ikkala usul ham yangi dasturlarni ishlab chiqishni o’z ichiga oladi. Ushbu yangi buyruqlar to’plami biz T1 deb ataydigan tilni yuzaga keltiradi. O’rnatilgan mashina buyruqlari ham tilni hosil qiladi va biz uni T0 deb nomlaymiz. Kompyuter faqat T0 dasturiy tilida yozilgan dasturlarni bajara oladi. Muammoni hal qilishning ikkita usuli, kompyuter T1 tilida yozilgan dasturlarni qanday bajarishi bilan farq qiladi - lekin, kompyuterda faqat T0 mashina tili mavjud.
T1 tilida yozilgan dasturni amalga oshirishning birinchi usuli har bir buyruqni T0 tilidagi mos keladigan buyruqlar to’plami bilan almashtirishni anglatadi.
Bunday holda, kompyuter T1da yozilgan eski dastur o’rniga T0 bilan yozilgan yangi dasturni bajaradi. Ushbu texnologiya translyatsiya deb nomlanadi. Ikkinchi usul T0 tilida kirish ma’lumotlari sifatida T1 tilida yozilgan dasturlarni oladigan dasturni yaratish iborat. Bunday holda, T1 tilining har bir buyrug’i navbati bilan qayta ishlanadi, shundan so’ng T0 tilining mos keladigan buyruqlar to’plami darhol bajariladi. Ushbu texnologiya T0 dasturida yangi dasturni tuzishni talab qilmaydi. U interpretatsiya deb ataladi va uni bajaradigan dastur interpretator deb ataladi.
Translyatsiya va interpretatsiya o’rtasida ko’p o’xshashliklar mavjud. Ikkala holatda ham, kompyuter T1 buyruqlariga ekvivalent bo’lgan T0 buyruqlar to’plamini bajaradi. Faqatgina farq shundaki, translyatsiya paytida T1 dasturi T0 dasturiga aylantiriladi, T1 dasturi o’chiriladi va yangi T0 dasturi kompyuter xotirasiga yuklanadi va keyin bajariladi. Ishlash jarayonida T0 tilida yozilgan genertsiya qilingan dastur kompyuterning ishlashini boshqaradi. Interpretatsiyada, T1-dagi har bir buyruq T0-ga qayta yoziladi va darhol bajariladi. Bunda, translyatsiya qilingan dastur yaratilmaydi.
Kompyuterning ishlashini, T1-dagi dastur "xom" kirish ma’lumotlaridan boshqa narsa bo’lmagan interpretator tomonidan boshqariladi. Ikkala yondashuv ham birgalikda, ham alohida keng miqiyosda ishlatiladi. Biroq, translyatsiya va interpretatsiya qilish haqida o’ylashdan ko’ra, mashinaning tili T1 bo’lgan gipotetik kompyuter yoki virtual mashinaning mavjudligini tasavvur qilish ancha osonroq. SHunday virtual mashinani M1, va T0 tili bilan ishlaydigan virtual mashinani - M0 deb nomlaymiz. Agar bunday M1 mashinasi katta xarajatlarsiz qurilishi mumkin bo’lsa, T0 tilini va T0 tilida dasturlarni bajaradigan mashina kerak bo’lmaydi. Ya’ni, dasturni T1 tilida yozish mumkin va kompyuter ularni darhol amalga oshirar edi. Virtual mashinani yaratish imkoni bo’lmasligi mumkin (bu juda qimmat yoki uni ishlab chiqarish qiyinligi sababli), lekin odamlar unga yo’naltirilgan dasturlarni yozishlari mumkin. Ushbu dasturlar T0 tilida yozilgan dastur tomonidan translyatsiya yoki interpretatsiya qilinadi, uni o’zi mavjud kompyuter tomonidan bajarilishi mumkin. Boshqacha qilib aytganda, virtual mashinalar uchun dasturlarni yozishingiz mumkin, xuddi bu mashinalar real mavjud.
T0 va T1 tillari bir-biridan unchalik farq qilmasa, translyatsiya va interprentatsiya qilish tavsiya etiladi. Ko’pincha bu T1 tili T2 dan yaxshiroq bo’lsa ham, hali ham idealdan uzoq ekanligini anglatadi. Ehtimol, bu T1 tilini yaratishning asl maqsadi - dasturchini kompyuter tushunadigan, ammo odamlar uchun moslashtirilmagan tilda dasturlarni yozish og’irligidan xalos qilish nuqtai nazaridan biroz tushkunlik bo’lishi mumkin. Biroq, vaziyat unchalik umidsiz emas.
Muammoning aniq yechimi T1 ga qaraganda ko’proq odamga yo’naltirilgan va kompyuterga nisbatan kamroq yo’naltirilgan boshqa buyruqlar to’plamini yaratishdir. Ushbu uchinchi buyruqlar to’plami biz T2 deb nomlanadigan tilni va mos keladigan virtual mashinani, M2 ni hosil qiladi. Biror dasturchi T2 tilida dasturlarni yozishi mumkin, go’yo T2 mashina tili bilan ishlash uchun virtual mashina mavjud. Bunday dasturlar T1 tiliga translyatsiya qilinishi yoki T1 tilida yozilgan interpretator tomonidan bajarilishi mumkin.
Turli tillarning ixtiro qilinishi, har biriga oxirgisidan ham ko’proq biz uchun mos bo’lgan tilga kelgunimizcha davom etishi mumkin. Har bir bunday til o’zidan oldingisidan asos sifatida foydalanadi, shuning uchun biz kompyuterni 1.1. rasmda tasirlangan sathlar qatori deb hisoblashimiz mumkin. Ierarxik tuzilmaning eng pastki qismidagi til eng sodda, eng yuqorisidagi esa eng murakkab.
|
| |