Mavzu: Kompyuterlarning amaliy dasturlash tillari satxi


Masalani mashina tilida dasturlash



Yüklə 30,59 Kb.
səhifə2/2
tarix06.06.2023
ölçüsü30,59 Kb.
#125898
1   2
Abbosjon

Masalani mashina tilida dasturlash.

Inson kabi kompyuter ham oʻziga xos tilda muloqot qiladi. Bu til faqat kompyuter tushunadigan til boʻlib, u cheklangan lugʻat va qatʼiy yozish qoidalaridan iboratdir. Kompyuter tushunadigan va muloqot olib boradigan „til“ DASTURLASH TILI deb ataladi. Istalgan dasturlash tilini bilgan shaxs óz dasturini bemalol tuza oladi.


Protsessor dasturlash tilida yozilgan dasturni toʻgʻridan - toʻgʻri tushunmaydi. Buning uchun dasturni protsessor tiliga tarjima qiladigan (raqamli oʻtkazib beruvchi) tarjimon tili - translyatordan foydalaniladi. Tarjimon tilining ikkita turi mavjud: kompilyator va interpretator.


1)KOMPLIYATOR dasturlash tilida yozilgan dastur kodini tólaligicha oʻqib, mashina kodiga tarjima qiladi va tarjima natijalarini bajariladigan yaxlit bitta faylga yigʻadi.


2)INTERPRETATOR dasturlash tilida yozilgan kodni bosqichma -bosqich mashina kodiga aylantirib, tahlil qiladi va berilgan buyruqlarni ketma- ketlikda bajaradi. Agar xatolik sodir bólsa, ósha zahoti xabar beradi. Dasturlash tillari juda koʻl boʻlib, ularning har biridan oʻziga xos masalalarni yechishda foydalanish mumkin. Quyida ularning eng mashhurlari haqida maʼlumotlar bilan tanishamiz.


C kompyuter operatsion tizimlarini yozish uchun moʻljallangan til. JAVASCRIPT interfaol web- saytlarni yozish uchun moʻljallangan til. SCRATCH dasturlarni oʻrganish uchun eng mos vizuallashgan dasturlash tili. JAVA kompyuter, mobil telefon va planshetlar uchun moʻljallangan dastur yozuvchi til. PHP dinamik web-saytlar yaratish uchun moʻljallangan til. PYTHON turli masalalarni yechish, sunʼiy intellekt tizimlari uchun moʻljallangan dasturlash tili. Aksariyat dasturlash tillari, xususan, C++, Pascal, Java, Python va boshqalar integrallashgan dasturlash muhiti (IDE)ga ega.IDE (Integrated Development Environment- integrallashgan dasturlash muhiti) — dasturiy taʼminot yaratish uchun dasturiy vositalar majmuasi.




Amaliy dasturlash tillarining ahamiyati.

Parallel dasturni olish uchun sharhlardan foydalanishdan tashqari, ko'pincha mavjud dasturlash tillarini kengaytirishga o'tadi. Qo'shimcha operatorlar va o'zgaruvchilar tavsifining yangi elementlari kiritildi, bu foydalanuvchiga parallel dastur tuzilmasini aniq belgilash va ba'zi hollarda parallel dasturning bajarilishini nazorat qilish imkonini beradi. Shunday qilib, High Performance Fortran (HPF) tilida an'anaviy Fortran operatorlari va maxsus izohlar tizimidan tashqari, parallel dastur sikllarini tavsiflash uchun kiritilgan yangi FORALL operatori mavjud. HPF ning eng qiziqarli xususiyati ko'p darajali displey massivi - shablon massivi - virtual protsessor massivi - jismoniy protsessorlar bo'lib, u haqiqiy kompyuterda foydalanuvchi ma'lumotlarini eng moslashuvchan ko'rsatish imkonini beradi.


Yana bir misol, ANSI C kengaytmasi sifatida Rossiya Fanlar akademiyasining Tizimli dasturlash institutida ishlab chiqilgan mpC tilidir. mpC ning asosiy maqsadi heterojen hisoblash tizimlari uchun samarali parallel dasturlarni yaratishdir. Foydalanuvchi tarmoq topologiyasini, ma'lumotlarni taqsimlash va hisob-kitoblarni va kerakli ma'lumotlarni uzatishni belgilashi mumkin. Xabarlarni yuborish MPI interfeysi yordamida tashkil etiladi.
DVM tizimi turli arxitekturaga ega parallel kompyuterlar uchun C-DVM va Fortran-DVM tillarida portativ va samarali hisoblash ilovalarini yaratish uchun mo'ljallangan. DVM qisqartmasi ikkita tushunchaga mos keladi: Distributed Virtual Memory va Distributed Virtual Machine. Birinchisi bitta manzil maydoni mavjudligini aks ettiradi. Ikkinchisi haqiqiy parallel mashinada ma'lumotlar va hisoblarni ko'rsatish uchun ikki bosqichli sxema uchun virtual mashinalardan foydalanishni aks ettiradi. Dasturlash modeli maxsus izohlar yordamida DVM ko'rsatmalarini o'rnatishni o'z ichiga oladi, ya'ni ketma-ket va parallel bajarish uchun dasturning bitta versiyasi. Ko'rsatmalarning uchta guruhi qo'llab-quvvatlanadi: ma'lumotlarni tarqatish bo'yicha direktivalar, hisob-kitoblarni tarqatish direktivalari va masofaviy ma'lumotlar spetsifikatsiyalari. Kompilyator protsessorlararo o'zaro aloqani tashkil qilish uchun mavjud parallel dasturlash texnologiyalaridan (MPI, PVM, Router) foydalangan holda dasturni Fortran yoki C ga tarjima qiladi. DVM tizimi, shuningdek, LIB-DVM qo'llab-quvvatlash kutubxonasi, DVM tuzatuvchisi, DVM dasturining bajarilishini bashorat qiluvchi va DVM dasturining ishlashi analizatorini o'z ichiga oladi. Tizim Amaliy matematika institutida ishlab chiqilgan. M.V.Keldish RAS.

Maxsus dasturlash tillari


Agar parallel tizimlar arxitekturasining o'ziga xos xususiyatlarini yoki ma'lum bir mavzu sohasidagi muayyan sinf vazifalarining xususiyatlarini aniqroq aks ettirish zarur bo'lsa, u holda maxsus parallel dasturlash tillari qo'llaniladi. Occam tili transputer tizimlarini dasturlash uchun yaratilgan va bitta tayinlangan til Sisal oqimli mashinalarni dasturlash uchun mo'ljallangan. Amaliy matematika institutida I.B.Zadixaylo rahbarligida yaratilgan NORMA deklarativ tili juda qiziq va oʻziga xos ishlanmadir. Rossiya Fanlar akademiyasi M.V.Keldysh hisoblash masalalarini grid usullari bilan yechish tavsifi uchun. Tilning yuqori darajadagi abstraktsiyasi, til mualliflari shartli ravishda dasturchisiz dasturlash deb ataydigan matematik tomonidan muammoning dastlabki bayoniga yaqin yozuvda vazifalarni tasvirlash imkonini beradi. Bitta topshiriqli tilda baholash tartibini aniqlaydigan va shu bilan algoritmning tabiiy parallelligini yashiradigan an'anaviy dasturlash tili konstruktsiyalari mavjud emas.
Parallel jarayonlarning o'zaro ta'sirini qo'llab-quvvatlaydigan kutubxonalar va interfeyslar
Massiv parallel kompyuterlarning paydo bo'lishi bilan parallel jarayonlarning o'zaro ta'sirini qo'llab-quvvatlovchi kutubxonalar va interfeyslar keng tarqaldi. Ushbu yo'nalishning odatiy vakili - vektor-quvur superkompyuterlaridan tortib shaxsiy kompyuterlar klasterlari va tarmoqlarigacha bo'lgan deyarli barcha parallel platformalarda amalga oshiriladigan Message Passing Interface (MPI). Dasturchining o'zi dasturning qaysi parallel jarayonlari dasturning qaysi joyida va qaysi jarayonlar bilan ma'lumotlarni almashishi yoki ularning ishini sinxronlashtirishi kerakligini aniq belgilaydi. Odatda, parallel jarayonlarning manzil fazolari har xil bo'ladi. Xususan, MPI va PVM ushbu mafkuraga amal qiladi. Shmem kabi boshqa texnologiyalar ham mahalliy (shaxsiy) o‘zgaruvchilardan, ham barcha amaliy jarayonlar uchun mavjud bo‘lgan umumiy o‘zgaruvchilardan foydalanishga imkon beradi va Put/Get operatsiyalari yordamida umumiy xotirada ishlash sxemasini amalga oshiradi.
Linda tizimi bir-biridan biroz ajralib turadi, har qanday ketma-ket tilga faqat to'rtta qo'shimcha funktsiyani qo'shish, chiqarish, o'qish va baholash imkonini beradi, bu sizga parallel dasturlarni yaratishga imkon beradi. Afsuski, asosiy g'oyaning soddaligi amalga oshirishda katta muammolarga aylanadi, bu esa bu go'zal texnologiyani amaliy vositadan ko'ra ko'proq akademik qiziqish ob'ektiga aylantiradi.
Parallel mavzular kutubxonalari
Ko'pincha, amalda, amaliy dasturchilar hech qanday aniq parallel konstruktsiyalardan umuman foydalanmaydilar, bu esa vaqt-kritik fragmentlarda parallel mavzular kutubxonalarining pastki dasturlari va funktsiyalariga ishora qiladi. Barcha parallellik va barcha optimallashtirish qo'ng'iroqlarda yashiringan va foydalanuvchi faqat o'z dasturining tashqi qismini yozishi va qurilish bloklarini to'g'ri ishlatishi mumkin. Bunday kutubxonalarga misol qilib Lapack, ScaLapack, Cray Scientific Library, HP Mathematical Library, PETSc va boshqalarni keltirish mumkin.
Ba'zi parallel mavzular kutubxonalari
BLAS va LAPACK - bu matritsalarni ko'paytirish, matritsa-vektorlarni ko'paytirish va boshqalar kabi asosiy chiziqli algebra operatsiyalarini amalga oshiradigan kutubxonalar.
ScaLAPACK MPP kompyuterlarida foydalanish uchun qayta ishlab chiqilgan LAPACK tartiblarining kichik to‘plamini o‘z ichiga oladi, jumladan: chiziqli tenglamalar tizimlarini echish, matritsalarni inversiyalash, ortogonal o‘zgartirishlar, xos qiymatlarni topish va boshqalar.
FFTW, DFFTPack - tez Furye konvertatsiyasi.
PETSc - qisman differentsial tenglamalar sifatida tasvirlangan modellar bilan ilmiy muammolarni parallel hal qilish uchun protseduralar va ma'lumotlar tuzilmalari to'plami.
Maxsus paketlar va dasturiy ta'minot tizimlari
Va nihoyat, eslatib o'tish kerak bo'lgan oxirgi yo'nalish - bu maxsus paketlar va dasturiy ta'minot tizimlaridan foydalanish. Qoidaga ko'ra, bu holda foydalanuvchi umuman dasturlashi shart emas. Asosiy vazifa - barcha kerakli kirish ma'lumotlarini to'g'ri ko'rsatish va paketning funktsional imkoniyatlaridan to'g'ri foydalanish. Shunday qilib, ko'plab kimyogarlar GAMESS paketidan parallel kompyuterlarda kvant-kimyoviy hisoblarni amalga oshirish uchun foydalanadilar, bu paketning o'zida parallel ravishda ma'lumotlarni qayta ishlash qanday amalga oshirilganligi haqida o'ylamasdan.
Har qanday dasturlash tilini o'rganishdan oldin ularning tarixi va qayerda qo'llanilishi haqida bir oz ma'lumotga ega bo'lishingiz kerak.
Men sizga 25 ta mashhur dasturlash tillarining qisqacha sharhini taqdim etaman. Eng mashhuridan boshlab eng kam mashhurgacha. Maqola dasturlash sohasida yangi boshlanuvchilar uchun tayyorlangan. Siz har bir til haqida o'qishingiz va o'zingiz yoqtirgan tilni tanlashingiz mumkin.
Dasturlash tillarini o'rganishni boshlashdan oldin, men sizga kursni o'tashingizni maslahat beraman.
Xulosa.
Men ushbu topshiriq orqali dasturlash tillarini kampyuterdagi o’rnini bilib oldim, va boshqalarga maslahat qilib dasturlash tillarini o'rganishni boshlashdan oldin men sizga kursni o'tashingizni maslahat beraman.
Yüklə 30,59 Kb.

Dostları ilə paylaş:
1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2025
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin