D asturlash sistemalari.
Dasturlash
sistemalari uchta sinfga
b o ‘linadi: mashinaga yo‘naltirilgan, muammoga yo‘naltirilgan va
yordamchi sistemalar. Mashinaga yo‘naltirilgan sistemalar shu
kompyuterga biriktirilgan kirish tiliga ega bo‘ladi, masalan, ikki
adresli kompyuterlar uchun dasturlash sistemalari. Bu sistemalar
kirish tili buyruqlari bo‘lib, bajariluvchi operatsiya kodiga (qo‘-
shish, ayirish, ko‘paytirish, eslab qolish) birinchi va ikkinchi
yacheykalar adreslariga ega bo‘lgan triadalar hisoblanadi. Bu sinfga
belgili kodlashtiruvchilar, avtokodlar, mikrogeneratorlar ham kiradi.
Dastrurlashni avtomatlashtirish uchun,
ichki tillardan foydalanib
yaratilgan
sistema
b o iib
belgili
kodlashtiruvchi
sistema
hisoblanadi. Belgili kodlashtirish darajasi «birga-bir» tasvirlanishga
ega, y a’ni bitta belgili ko‘rsatmaga bitta mashina komandasi yoki
konstanta to‘g ‘ri keladi. Bu sistemani qo‘llash deganda, mashina
xotirasini avtomatik taqsimlab va haqiqiy adreslarni o ‘zlashtirib,
belgili kodlardan mashina kodi bilan birgalikda foydalanish nazarda
tutildi. Belgili kodlashtirish sistemalari mukammal dasturlashni
avtomatlashtirish
sistemalarini
yaratish
uchun
baza
bo‘lib
hisoblanadi, masalan, buyruq generatorlarini.
Keyingi mashinaga yo‘naltirilgan sistemalar modifikatsiyasi bu
avtokod hisoblanadi. Avtokodning kirish tili bo‘lib, «bir nechtaga-
bitta»
til darajasi hisoblanadi, y a’ni avtokodning bitta ko‘rsatmasiga
bir nechta mashina buyrug‘i mos keladi. Avtokodning asosini
funksiyani yoki protsedurani bitta yozuv bilan belgilovchi
mikrobuyruqlar tashkil etadi.
Mikrobuyruqlar generatsiya qilish yoki o ‘matish yo‘li bilan
mashina buyruqlariga o ‘giriladi. O 'm atishda har bir mikrobuyruqqa,
unda bajarilishi kerak bo‘lgan hodisani amalga oshiruvchi, mashina
tilidagi kutubxona moduli mos keladi. Generatsiya qiluvchi sistema
mikrobuyruqlami tahlil qiluvchi maxsus dasturlardan tuzilgan
b o iad i. Tahlil qilish jarayonida bajariladigan
funksiya aniqlanib,
ana shu funksiyani amalga oshiruvchi buyruq tashkil etiladi.
Avtokoddan foydalanilganda, dasturlovchining mehnati unum-
dorligi 10-2 0 % ga oshadi.
Dasturlashning muammoga yo‘naltirilgan yoki protsedurali
sistemalarida, belgili kodlashtirish tillari va avtokodlardan farqli,
kirish tili sifatida konkret kompyuterga bog‘liq bo‘Imagan turli
68
algoritmik tillardan foydalaniladi. Bu tillar «bir nechtaga - bitta»
darajasini tashkil etib, avtokoddan dasturlovchini mashina dastur-
larini yozishdan to ‘liq ozod qilishi bilan farqlanadi. Dasturlashning
protsedurali sistemalarining asosiy komponentlari
algoritmik kirish
tili va uni belgili kodlashtirish darajasiga va mashina buyrug‘iga
o ‘giruvchi kompilyatorli translyator hisoblanadi.
Dasturlashni protsedurali sistemalarini qo‘llash natijasida das-
turlovchi mehnati unumdorligi yanada oshadi, lekin ortiqcha
mashina buyruqlarini kiritish hisobiga va dastumi saqlash uchun
kerakli xotira hajmini oshishi natijasida uning tezkorligi birmuncha
kamayadi.
Hamma sanab o ‘tilgan dasturlash sistemalarining asosida dastur
tuzish uchun dasturlash tillari mavjud. Til vositasi bilan bir qatorda
amaliy dasturlardagi
xatoliklarni tekshirib, ulami aniqlab beruvchi
maxsus dasturlar ham kiritilgan, ular otladka vositasi deb ataladi.
Otladka qiluvchi sistemalar ikkita kategoriyali bo‘ladi: birinchisi
ishchi
dasturlami bajarish jarayonida qo‘llanilsa,
ikkinchisi
dasturlarda xatoliklar yuz berganda qoMlaniladi. Dasturlami bajarish
jarayonida foydalaniladigan otladka vositalari oraliq axborotlami
chop etishga chiqarishni, dastur bajarilishi davomida hujjatlash-
tirishni ta ’minlaydi, mashina buyruqlarini
bajarishga dastumi
tayyorlaydi va yuklanuvchi modulni tashkil qiladi.
Translyatorning ba’zi bir funksiyalarini ko‘rsatib o ‘tamiz.
Translyatorlar kompilyator, yoki assembler, yoki interpritatorlar
boMishi mumkin. Kompilyator dastumi mashina tiliga o ‘tkazishni
ta’minlovchi, lekin uni bajarilishini ham ta ’minlaydigan dastur
hisoblanadi. Assembler esa, Assembler tilida yozilgan dastumi
translatsiya qiluvchi dasturdir. Agar kirish tilining bitta operatoriga
bitta mashina buyrug‘i to ‘g ‘ri kelsa, unday
holda bunday assembler
absolyut yoki avtokod deb ataladi.
Agar mikrobuyruqlar bir guruh mashina buyruqlariga o ‘girilsa,
bunday translatsiya qiluvchi sistema makroassembler deb ataladi.
Interpretator bu berilgan dastumi translatsiya qilish jarayonini, shu
dastumi bajarilish bilan qo‘shib olib borishga moMjallangan siste-
madir.
Umuman xohlagan dasturlash sistemalari quyidagi funksiyalami
bajaradi:
69
- kirish tillarida yozilgan algoritm va dasturlarni to 'g ‘ri
yozilishini nazorat qiladi;
- mavjud bo‘lgan xatoliklar va ulaming o ‘mi, xarakteri haqida
axborot beradi;
- xotirani umumiy taqsimlaydi;
- berilgan topshiriqning ko‘pgina qism dasturlarida ishla
tiladigan global o ‘zgaruvlami izohlaydi;
- past darajali oraliq kirish tillarida yozilgan to ‘Iiq
algoritmni
yoki uning qismlarini translatsiya qiladi;
- global o ‘zgaruvchilarga ega umumiy algoritmning translat
siya qilingan qismlarini, qism dasturlarni avtomatik birlashtirishni
amalga oshiradi;
- bitta kutubxona algoritmning alohida qismlarini translatsiya
natijalarini, keyinchalik yuklanish modullariga birlashtirish uchun
yig‘adi;
- texnik hujjatlami, y a’ni kiritish va mashina tilida chop etilgan
dasturlarni, xotirani taqsimlanishi haqidagi m a’lumotlami va boshqa
m a’lumotlami chiqaradi.