6) SHK arxitekturasi va komponentalari Hisoblash sistemasining har bir kompanentasini yaratishning usuli vosita va texnalogiyalari mavjud.Aparat vositalarini tahlil qilishda tizimarxitekturasini bilish kerak.Arxitektura so’zi EHM ,hisoblash sistemasi yoki programma taminotiga nisbatan tizimni umumiy mantiqiy tuzilishi , ma’lumotlarni kodlash, texnik vositalar va programmalar majmui, ularning o’zaro hamkorligi , xususiyatlari va qo’llash pirinsiplarini bildiradi.Jahondagi ShEHM parkini 85-87% tashkil qiluvchi IBM PCga o’rindosh kompyuterlarni arxitekturasini qarasak uning umumiy ko’rinishi quydagichadir
Bu yerda OX – operativ xotira QDQ – qattiq disk qurulmasi, YUDQ – yumshoq disk qurulmasi.Kontroller maxsus protsessor bo’lib tashqi qurulmalarni bobqarish uchun ishlatiladi.Shuning natijasida markaziy (bosh) protsessor quril-malarini boshqarishdan ozod bo’ladi.
7) Generatsiya bosqichi, xotirani taqsimlash usullari Generatsiya bosqichida natijaviy programma satrlar to’plami ko’rinishida hosil qilinadi. Masalan x:=b+(c-d)*(e+f) operatori berilgan bo’lsin. Bu operatorni generatsiya qilingandan keyin quyidagi matn hosil bo’ladi. t1:=c-d ; t2:=e+f ; t3:=t1*t2 ; t4:=b+t3 ; x:=t4; yoki shartli operator agar x>y u holda a:=1 aks holda b:=2; generatsiyadan keyin quyudagi ko’rinishni oladi p:=x>y; agar p uholda o’ting M1; o’ting M2; M1:a:=1; o’ting M3; M2:b:=2 ; M3 Generatsiya etapining yana asosiy vazifalaridan biri – bu xotirani taqsimlashdir. Bu yerda statik yoki dinamik taqsimlash usullari ishlatiladi. Birinchi usul xotirani translyatsiya jarayonida taqsimlashni talab qiladi. Agar programma obektlarning paydo bo’lishi va aktivlanishi ma’lum bo’lmasa dinamik taqsimlash usulidan foydalanadilar.
8) Uzulishlar, turlari va qayta ishlanishi
Tizimli programmalashda uzulishlarni tahlil qilish va qayta ishlash katta rol o`ynaydi. Uzulish-bu bajarilayotgan jarayonni unga nisbatan tashqi hodisa tasiri asosida vaqtinchalik to`xtatilishidir. MS-DOS operatsion sistemaning asosiy modullaridan biri-bu BIOS (KCHAS-kiritishlar chiqarishning asosiy sistemasi) hisoblanadi. BIOSning asosiy vazifalaridan biri operatsion sistemaning uzulishlariga xizmat ko`rsatishdir. Bu ish uzulishlar mexanizmi yordamida bajariladi, ya`ni mashenaning joriy ishi qisqa vaqt davomida to`xtatiladi va unga sababchi bo`lgan hodisa qayta ishlanadi. Uzulishlarni uchta guruhga: aparat, mantiqiy va programmaviy bo`ladilar. Aparat uzulishlarining sabablari (manbalari): tok kuchini pasayishi, klaviaturadagi klavisha (tugmachani) bosilishi, qattiq va yumshoq disk qurilmalaridan keladigan signallar va hokazolar bo`lishi mumkin. Mantiqiy (protsissor) uzulishlar nostandart holatlarda, masalan, mekroprotsissorning ish jarayonidagi nolga bo`lish registrlarni to`lib ketishi, “to`xtash nuqtasi” paydo bo`lganda yuzaga keladi. Programmaviy uzulishlar uzulishlarning asosiy qismini tashkil qiladi. Bunday uzulishlar bir programma boshqa programmadan xizmat ko`rsatishni talab qilgan paytda hosil bo`ladi. Xizmat ko`rsatish turi esa yana aparat bilan bog`liq bo`ladi. Har bir uzulish maxsus (yagona) nomerga ega va u bilan aniq bir qismprogramma bog`langandir. Bu qismprogramma paydo bo`lgan holatni tahlil qiladi va unga xizmat ko`rsatadi. Agar bu qismprogrammani boshqa uzulish qismprogrammasi to`xtatmoqchi bo`lsa ikkinchi qismprogramma “navbatga” qo`yiladi, ya`ni “maskirovka” qilinadi. BIOS past bosqich (прерывания нижнеего уровня) uzulishlarni qayta ishlaydi. Bu turdagi uzulishlar aparatura bilan bog`liq. Past (quyi) bosqich uzulishlarining nomerlari 0-3110(0-1F16). Boshqa uzulishlar, ya`ni 32-6310(20- 3F16) tartib raqamli uzulishlar yuqori bosqich uzulishlari deyiladi. Bu turdagi uzulishlarni DOS uzulishlarini qayta ishlash moduli (MS-DOS.COM yoki MS- DOS.SYS) boshqaradi. BIOSning qayta ishlaydigan uzulishlaridan, masalan 0-nolga burish 2210(1616)-klaviaturani boshqarish, 2610 (1A16)-sana va vaqtni so`rash (o`rnatish)larni keltirish mumkin.
9) Rezident programmalar va ularni yaratish usullari 5.1. Резидентная программа TSRDEMO 5.2. Инициализация резидентной программы 5.3. Установка обработчиков прерываний 5.4. Активизация резидентной программы 5.5. Выгрузка резидентной программы из памяти 5.6. Листинги программы TSRDEMO Ushbu bobda biz sizga rezident dasturlarni yaratish haqida gapirib beramiz. Bunday dasturlarni TSR-dasturlari deb ham atashadi (Terminate and Stay Stay). Ushbu dastur qanday? Odatda, keyingi dasturni tugatgandan so'ng, MS-DOS xotirada bo'sh joyni bo'shatadi, bu dastur yangi bo'sh joyni bu joyga yuklash uchun ishg'ol qilinadi. Biroq, dastur tugallangandan keyin xotirada saqlash uchun bir usul bor. Bunday dastur doimiy yashaydi, ya'ni xotirada doimiy ravishda mavjud bo'ladi. Turar-joy dasturlarini ishlatishning yana bir misoli - rezident hisob-kitoblar, ma'lumotlar bazalari yoki Borland SideKick kabi integral tizimlar. Bunday dasturlar, .
Yordamchi qism quyidagi ishlarni bajaradi:1.) "tortib olingan" interruptlarning vektorlarini ichki o'zgaruvchilarga saqlaydi; 2.) ushbu vektorlarni dasturning doimiy qismi manziliga o'rnatadi; 3.) rezident-qismning ichki o'zgaruvchilarini ishga tushiradi; 4.) dasturni kompyuterdan xotiradan o'chirmasdan chiqadi. Ushbu harakatlarning past darajada bajarilishi: 1.) interrupt vektorini ikki so'zli yorliqda saqlashga imkon beruvchi 35-chi interrupt funktsiyasini DOS INT 21H (Get VECTOR) deb atash;2.) DOS INT 21H (MODE VECTOR) 25-chi interrupt funktsiyasini chaqiring, bu sizni ma'lum bir manzilda kesish vektorini o'rnatishga imkon beradi; 3.) dasturda ularning maqsadlariga qarab ichki o'zgaruvchan dastlabki qiymatlarni belgilash;4. DOS 27H dasturini to'xtatib turish (KEEP), bu esa dasturning bajarilishini kompyuter xotirasidan yashovchi qismini yo'q qilmasdan bajarishga imkon beradi.
10) Windows ish muhitini tashkil qilish SHEHM foydalanuvchisi uchun qulay ish muhitini tashkil qilish OS ga asoslangan holda konfiguratsyalash (ish muhiti) va boshlang’ich parametrlarni o’rnatish katta rol o’ynaydi. MS-DOS tizimida ikkita config.sys va autoexes.bat fayllari ish muhitini tashkil qiluvchi va asosiydir. Hamma vaqt shu fayllar birinchi qatorda tekshiriladi va bajariladi. Config.sys- fayli yordamida OS qulayliklari kengaytiriladi va tashqi qurilmalar parmetrlarini o’zgartirish mumkin. Yangi drayverlar qo’shiladi va ochiladigan fayllar soni ham ko’rsatiladi. Autoexec.bat – faylida komandalar, kerakli programmalar, OS taklif formati va boshqa paketli fayllar ko’rsatiladi. Autoexec.bat fayllarni bitta yoki bir nechta foydalanuvchi ishlash uchun ham tuzish mumkin. Bu holda har bir foydalanuvchi uchun kod va boshqa identifikatorlar o’rnatish kerak. Bu malumotlar aniqlangandan keyin foydalanuvchi uchun qulay va tushunarli ish muhiti hosil bo’ladi.Konfiguratsya fayllarini hosil qilish uchun maxsus komandalar to’plash ishlatiladi. Ularning soni ko’p emas, har bir komanda umumiy ko’rinish, parametr va boshqaruvchi fayllarga ega bo’lishi mumkin. Windows tizimi muhitida bu ikkitta fayl ishlatilsa ham, ular katta rol o’ynamaydi. Bu tipdagi operatsion tizimlarni konfiguratsya qilish uchunНастройка (setting) nomli panelni bosh menyudan topib ishlatish kerak. Boshqarish paneli(панелъ управления-control panel ) yordamida kerakli piktogrammani tanlab olib, ularni bajariladigan funksyalarini o’rganib asosiy parametrlarini o’rnatish mumkin. Ish muhitini tashkil qilishda quyidagilarga etibor berish kerak:-vaqt va tovush;-internet, klviatura va modem;-multimediya vositalari, parol va foydalanuvchilar uchun mustaqil ish muhiti;- printer, shriftlar, til va standartlar va hakozolar.
11) MS-DOS ning asosiy modullari 1.Kiritish / chiqarishning asosiy (bazaviy sistemasi(BIOS Basic Input/Output System, BCVV-Базавая система ввода (вывода). Bu model boshqa modullardan shu bilan farq qiladikim u doimiy xotirada (ROM- Read Only Memory, ПЗУ- постояанное запоминающе устройства) saqlanadi. BIOS mashina qurilmalarini avtomatik ravishda tok bilan ulangandan keyin tekshiradi. Uning ikkinchi funksiyasi ( asosiy ishi) DOS ning keyigi moduli- boshlang’ich yuklash blokini tashqi xotiradan operativ xotiraga yuklashdir. BIOS sistrma uzilishlarini ham qayta ishlaydi. Uzilish (интеррипт прерывание) – bu bajarilayotgan jarayonni unga nisbatan tashqi hodisa tasiri asosida vaqtinchalik to’xtatilishiga aytiladi. Asosan programmaviy va apparat uzilish turlari mavjud.2.Boshlang’ich yuklash bloki (Boot Record, Блок начальной загрузки- БНЗ).БНЗ tashqi xotiradan (sistrmaviy diskdan) MS-DOSning yana ikkita modulini yuklaydi.1)biosning kengaytirish mo’duli – BIO.COM va ikkinchisi uzu- lishlarni qayta ishlash – MSDOS.SYS modullaridir.3.Kamandali protsessor (command.com). Bu maxsus modul – programma bo’lib kloviatura yoki kamandali fayillardan kamondalarni qabul qiladi va bajaradi. DOS tashqi programmalari, amaliy programmalar va maxsus fayl – autoexec.bat faylini ham bajaradi .4.MS – DOS ning utilitalari – yordamchi programmalar. Bu programmalar maxsus ishlar, masalan, diskni farmatlash (farmat.com), tekshirish (chudsk.com), chop etish (print.com) va boshqalarni bajaradi.
12) Translyatsiyaning generatsiya bosqichi va xatolar turlari Generatsiya bosqichida natijaviy programma satrlar to’plami ko’rinishida hosil qilinadi. Masalan x:=b+(c-d)*(e+f) operatori berilgan bo’lsin. Bu operatorni generatsiya qilingandan keyin quyidagi matn hosil bo’ladi. t1:=c-d ; t2:=e+f ; t3:=t1*t2 ; t4:=b+t3 ; x:=t4; yoki shartli operator agar x>y u holda a:=1 aks holda b:=2; generatsiyadan keyin quyudagi ko’rinishni oladi p:=x>y; agar p uholda o’ting M1; o’ting M2; M1:a:=1; o’ting M3; M2:b:=2 ; M3: Generatsiya etapining yana asosiy vazifalaridan biri – bu xotirani taqsimlashdir. Bu yerda statik yoki dinamik taqsimlash usullari ishlatiladi. Birinchi usul xotirani translyatsiya jarayonida taqsimlashni talab qiladi. Agar programma obektlarning paydo bo’lishi va aktivlanishi ma’lum bo’lmasa dinamik taqsimlash usulidan foydalanadilar.
13) Xotirani taqsimlash, massivlarni tasvirlash va xotiraga joylashtirish usullari Karnel moduli. Kiritish – chiqarish, xotirani taxsimlash va jarayonlarni boshqaradi. Operatsion tizimning asosiy moduli (krnl386.exe va kernel32.dll) operatsion tizimning asosiy funktsional imkoniyatlarini taqdim etadi: kirish / chiqish fayllarini qo'llab-quvvatlash, virtual xotirani boshqarish va vazifalarni rejalashtirish. Yuklab olish jarayonida krnl386.exe moduli ishga tushiriladi Kernel.dll.Kernel ning 332-bit qismi virtual xotirani ajratib berishga javob beradi va import-va-bog'lash uchun so'rov bo'yicha sahifani sotib olishni qo'llab-quvvatlaydi. Dastur moduli bajarilganda, u har bir jarayon davomida oqimlarni bajarish va uni bir vaqtning o'zida protsessorlarga tarqatish uchun javobgardir. Istisnolarni qo'llash - boshqa yadro funktsiyasi. Istisno - oddiy dasturiy oqimni to'xtatish uchun shovqinni talab qiluvchi dasturni bajarish paytida yuz beradigan hodisadir. Bunday holda, qaror qabul qilish uchun transfer dasturga o'tkaziladi. Bundan tashqari, yadro 16 bitli va 32 bitli kodlarning o'zaro ta'sirlanishini ta'minlaydi, bu 16 bitli formatni 32 bitli maxsus jarayonga aylantirish uchun ishlatiladi.
14) Assemblerning ta’rifi,funksiyalari va xususiyatlari Sistemaviy programma ta’minotining yana bir xususiyati mashinaga bog’liqligidir. Shuning uchun bu tipdagi programmalar mashina strukturasi va uning komponentalari hisobga olgan holda ishlab chiqariladi .
Masalan, assembler mnemenik kodni mashina kodiga tarjima qilishda komandalar formati, adreslash usullari va mashinaning boshqa apparat xarakteristikalarini hisobga oladi. Kompilyator esa, mashina kodiga boshlang’ich programmani tarjima qiladi, registrlar komandalar to’plamidan foydalanadi . Shularni hisobga olib sistemaviy programma ta’minoti boshqa komponentalari: assembler, yuklovchi, makroprotsessorlarni xususiyatlarini ko’rib chiqamiz.
Assembler. Assembler programmalash tizimi bo’lib assembler tili va shu tilni tarjima qiladigan translyatordan iborat. Yana assembler tilidan mashina tiliga programmani tarjima qiladi. Programmalashda disassembler ham ishlatiladi.
Disassemble maxsus progrmma bo’lib obyekt kodni unga ekvivalent bo’lgan assembler – programmaga o’tkazadi.
Assemblerlar asosan mashina oilasiga (platformaga ) mo’ljallangan holda ishlab chiqariladi. Masalan , Intel (IBM PC) oilasiga mansub assembler, Apple (Mac , Matorolla, Zilog) oilasi uchun ishlab chiqarilgan assembler yoki VAX arxitekturasiga mutobiq assembler va h. shularga qaramasdan, assemblerlarning bajariladigan ishining umumiy to’plamini quyudagicha deb qarash mumkin.
15) Dasturlash xatolari turlari va sabablari Leksik xatolar alfavit simvollaridan leksimalarni hosil qilishda qoidalarni buzilganligi bilan bog’liq. Masalan , const o’rniga cons yoki idintifikator 2AB shaklida yozilsa leksik xatoga yol qo’yilgan bo’ladi.Sintaksik xatolar tilning sintaksik qoidalarini noto’g’ri ishlatilishi bilan xarakterlanadi. Masalan ,const n=5 ; var x,y:real; tasvirlash mavjud bo’lsin . Operatorlar n:=n+1; 22:=x+y; tilning qoidalariga javob bermaydi va translyator sintaksik xatolar haqida ma’lumot beradi.Semantik xatolar obekt xususiyatini aniqlash mumkin bo’lmagan hollarda yoki obekt xususiyati obektni ishlatish jarayoniga qarshidir. Masalan , obekt tasvirlanmagan yoki tasvirlangan, ammo ishlatilishi noto’g’ri.Xatolarning yana bir turi – bu hisoblash jarayonidagi, yani programma ishlatayotgan paytdagi xatolardir . bularni fatal xatolar deymiz. Masalan “nolga bo’lish” , massiv o’lchovlaridan chiqib ketish, stek to’lishi kvadrat ildiz ustida manfiy ifodani paydo bo’lishi
16) Translyatsiya jarayonining leksik va sintaktik tahlil bosqichlari Leksik analiz jarayonida translyatr kirish satrini litera bo’yicha o’qib leksemalarni hosil qiladi. Leksemalar jadvalda saqlanadi. Har bir leksema deskriptorga ega bo’lib, deskriptor leksema turi va saqlash joyini belgilaydi. Sintaksis tahlil natijasida leksemani til sintaksisiga jabob berish yoki bermasligi aniqlanadi. Masalan ,a+b*c ifodasi tahlildan keyin (a+(b*c)) ko’rinishda keltiriladi. Buning natijasida programmaning ma’nosi yaqqol ko’rsatiladi. Tahlilning bu bosqichi natijasi programmani tahlil daraxtidir. Daraxt konstruksiya va leksemalarni o’z ichiga oladi. Keying bosqichda esa bu daraxtmaxsus algoritmlar bilan aylanib o’tiladi va natijaviy programma satri hosil bo’ladi.
17) Uzulishlar turlari va ularni qayta ishlash MS-DOS operatsion sistemaning asosiy modullaridan biri-bu BIOS (KCHAS-kiritishlar chiqarishning asosiy sistemasi) hisoblanadi. BIOSning asosiy vazifalaridan biri operatsion sistemaning uzulishlariga xizmat ko`rsatishdir. Uzulishlarni uchta guruhga: aparat, mantiqiy va programmaviy bo`ladilar Mantiqiy (protsissor) uzulishlar nostandart holatlarda, masalan, mekroprotsissorning ish jarayonidagi nolga bo`lish registrlarni to`lib ketishi, “to`xtash nuqtasi” paydo bo`lganda yuzaga keladi.BIOS past bosqich uzulishlarni qayta ishlaydi. Bu turdagi uzulishlar aparatura bilan bog`liq. Past (quyi) bosqich uzulishlarining nomerlari 0-3110(0-1F16). Boshqa uzulishlar, ya`ni 32-6310(20- 3F16) tartib raqamli uzulishlar yuqori bosqich uzulishlari deyiladi. Bu turdagi uzulishlarni DOS uzulishlarini qayta ishlash moduli (MS-DOS.COM yoki MS- DOS.SYS) boshqaradi.BIOSning qayta ishlaydigan uzulishlaridan, masalan 0-nolga burish 2210(1616)-klaviaturani boshqarish, 2610 (1A16)-sana va vaqtni so`rash (o`rnatish)larni keltirish mumkin.Masalan, 0-boshlang`ich holat (o`rnatish), 4-yozish yoki o`qishdan keyin tekshirish, C-kerakli yulakni (дирожкани) izlash yoki 1610(1016)-displeyni boshqarish uzulish esa 24 ta funksiyalarga murojat qiladi.
Maskur guruhdagi qism programmalar fayl sistemasi ishini, komunnikatsiyalar (klaviatura, displey,printer) va maxsus holatlarni boshqarish bilan bog’liqdir.Masalan, 3310=2116 nomerli uzilish bilan funksiyalarning katta to’plami birlashtirilgan.
18) Dasturlash tiliga kiritilgan assemblerdan foydalanish imkoniyatlari Multimodulli programmalar yuqori darajali tillar (masalan, BP, Si, Delphi) va mashinaga mo’ljallangan tillar (masalan, assembler, makroassembler, mashina tili) bo’laklaridan iborat shaklda tashkil qilinsa, u holda quyidagi variantlarni tahlil qilish maqsadga muvofiq.
Qismprogramma assemblerda va asosiy qism yuqori darajali tilda. Bu holda assemblerdagi programma tarjima qilinib .obj fayl hosil bo’ladi va uni maxsus direktiva bilan (masalan BO muhitida) asosiy programma bilan birlashtiriladi, ya’ni
Program p;
{$L F.obj}
Function (argumentlar:);external;
Begin end.
Yuqori darajali tillardagi kiritilgan assemblerdan foydalanish. Bu holda programmaning alohida qismlari assembler tilida yoziladi. Masalan, asm … end; operatorli qavslarni ishlatsak u holda programma ko’rinishi quyidagicha bo’ladi.
Program p;
Begin
asm
end;
end.
d) Assembler direktivasidan foydalanish. Agar qismprogramma assemblerda tashkil qilinishi kerak bo’lsa, u holda uning sarlavhasidan tashqari qismi assembler komandalari bilan loyihalanadi.
Program p;
Function (argumentlar:): ;
assembler;
asm
end;
Begin
End.
19) Komandali fayllarni yaratish va qo`llash
Komandali fayl maxsus komandalardan tashkil qilinadi . Shunig uchun bu komandalarning umumiy ko’rinishi , ishlash algaritmi va qabul qila oladigan parametrlarni o’rganish kerak . Komandali fayllar asosan boshqaruvchi programmalarni tuzishda ishlatiladi . Tanlab olinadigan masala ham boshqarish sohasidan bo’lishi maqsadga muvofiq .Bajariladigan fayllarni hosil qilish uchun ikkita yo’l mavjud . Birinchisi , boshlang’ich programmadan ob’ekt programmani va ob’ekt programmadan bajariladigan programmani hosil qilish . Bu jarayon sxemasi quyidagicha: Ikkinchi yo’l esa integrallashgan muhit ( masalan Turbo Pascal ) komilyatorining maxsus optsiyasi Compile \ Destination \ Disk, ishlatish yordamida, yani programmani operativ xotirada emas , tashqi xotirada (diskda ) tarjima qilib keyin qo’llashga asoslanadi .
20) Multimodulli programmalarni yaratish imkoniyatlari Multimodulli programmalar yuqori darajali tillar (masalan, BP, Si, Delphi) va mashinaga mo’ljallangan tillar (masalan, assembler, makroassembler, mashina tili) bo’laklaridan iborat shaklda tashkil qilinsa, u holda quyidagi variantlarni tahlil qilish maqsadga muvofiq.
Qismprogramma assemblerda va asosiy qism yuqori darajali tilda. Bu holda assemblerdagi programma tarjima qilinib .obj fayl hosil bo’ladi va uni maxsus direktiva bilan (masalan BO muhitida) asosiy programma bilan birlashtiriladi, ya’ni
Program p;
{$L F.obj}
Function (argumentlar:);external;
Begin end.
Yuqori darajali tillardagi kiritilgan assemblerdan foydalanish. Bu holda programmaning alohida qismlari assembler tilida yoziladi. Masalan, asm … end; operatorli qavslarni ishlatsak u holda programma ko’rinishi quyidagicha bo’ladi.
Program p;
Begin
asm
end;
end.
d) Assembler direktivasidan foydalanish. Agar qismprogramma assemblerda tashkil qilinishi kerak bo’lsa, u holda uning sarlavhasidan tashqari qismi assembler komandalari bilan loyihalanadi.
Program p;
Function (argumentlar:): ;
assembler;
asm
end;
Begin
End.
21) Dasturlash tillarini sinflanishi va tarkibi
22)Programmalash tizimlari va ularning komponentalari Programmalash tizimi programmaviy sistema bo’lib, bitta yoki bir nechta kirish (boshlang’ich ) tillari yordamida programmani tuzish va ijro etishni taminlaydi.Tizimlar bir yoki ko’p tilli bo’lishi mumkin. Ko’p tilli tizimlar yordamida biz programmani bo’laklarini har xil til yordamida loyihalashimiz mumkin. Bunday tizimlarda yangi tillarni qo’yish imkoniyati ham beriladi. Programma nuqtai nazardan programmalash tizimi modullar to’plamidan iborat. Har bir modul maxsus funksyalar (ishlar,vazifalar) ni bajaradi. Zamonaviy tizimlar quyidagi komponentlardan iborat: Kirish tili. Bu til yordamida programma tuziladi.Translyator. Kirish tilida yozilgan programmani mashina yoki boshqa tilga tarjima qiluvchi maxsus programmaviy modul(tizim).Tahrirlovchi. Programma matnini tashkil qilish va matn ustida turliamallarni bajaruvchi qismprogramma.Taxlovchi. Programmani tekshirish bosqichlarini shu modul yordamida bajarish mumkin.taxlashning statik (matn tahlili) va dinamik
(boshlang’ich malumotlar bilan programma ishini tekshirish) turlari mavjud. Optilizator. (Optimallovchi). Programma tarjima qilingandan keyin hamma vaqt ixcham va qulay bo’lmaydi. Hosil hosil bo’lgan obekt modullarni optimallashtirish ( ixchamlash, to’g’irlash, unumdorligini oshirish ) shu modul yordamida bajariladi. Dispetcher.foydalanuvchi bilan muloqat qilish va boshqa modullarni ishini boshqarish uchun ishlatiladigan modul. Dispetcherni monitor ham deyiladi.Yordamchi qismsistema.(Help subsystem) Tizimni kirish tili, xatolar haqida ma’lumot va foydalanuvchilar guruhlari uchun turli yordamchi malumotlarni saqlaydi. Bulardan tashqari, har bir programmalash tizimi boshqa komponentalarni o’z ichiga olish mumkin.
23) Aniq OS ni dasturiy tarkibini tahlil qilish
26) .bat va .exe fayllarini tashkil qilinishi Sizning C:\Windows\System32\papkada fayl nomi mavjud iexpress.exe.Uni o'ng tugmasini bosing Run as administrator.Yangi SED-ni yarating va "Fayllarni ayirboshlash va o'rnatish buyrug'ini ishga tushirish" -ni tanlang.cmd /c [your_script.bat]Kerakli skriptni qo'shing va keyingi ekranda o'rnatish dasturini [your_script.bat] amalga oshirishni istagan skript fayli ekanligiga ishonch hosil qiling. Buni qilmasangiz, Windows Command.com (buyruq xohishlarini eski versiyasi) dan foydalanishga harakat qiladi. Tanlovni tanlang (siz "Faylning ichida uzun fayl nomi bilan faylni saqlab qo'yishingiz kerak bo'lishi mumkin), chiqish yo'lini (yaratmoqchi bo'lgan .exe faylga) o'rnating va" Yo'q qayta ishga tushirish "ni tanlang. Keyingi tugmachani bosing va sizning .exe faylingiz bo'lishi kerak.
27) OC ta’rifi, strukturasi, funksiyalari va turlari
28) Bajariladigan fayllarni yaratish usullari Executable fayllar fayl ochilganda ishlaydigan kodni o'z ichiga oladi. Windows dasturlari, Mac OS X ilovalari, skriptlar va makrolar barcha bajariladigan fayllar deb hisoblanadi. Ushbu turdagi fayllar boshlanishda kodni amalga oshirganligi sababli noma'lum fayllarni, jumladan elektron pochta orqali yuborilgan fayllarni ochib bo'lmaydi. Eng keng tarqalgan kengaytmalar .EXE , .APP, .VB , .SCR va .MSI .(yaratish qiyinligi sababli) iexpress dasturidan foydalanamiz deb yozing blaknot ichiga org 0X100 mov dx , msg mov ah , 0x09 int 0x21 ret msg db ‘hello$’ kodni takmatag qilib yozing va saqlaymiz .txt qilib pusk+r= iexpress yoziladi va fayilni unga yuklab bajaruvchi fayillarga ajratamiz.
2
Generatsiya
9) Translyatsiya sxemasi (texnikasi)va bosqichlari Boshlang’ich (kirish) tilida yozilgan programmani mashina tiliga tarjima qilish masalasi oddiy masala emas. Bu masala ketma-ket, bosqichlar bilan bajariladi. Tarjima qilish jarayoni quyudagi umumiy sxema yordamida tasvirlanadi.
Kontekst tahlil
Tarjima jarayonida ikkita asosiy bosqich mavjud: dasturiy dasturni tahlil qilish va bajarilgan ob'ekt dasturining sintezi.Tahliliy bosqichda manba dasturi grammatik strukturaning ustiga qo'yilgan qismlarga bo'linadi. Ushbu tuzilma, keyinchalik manba dasturining oraliq vakili yaratish uchun ishlatiladi. Manba dasturida sintaksis yoki semantik xatolar mavjudligi aniqlansa, foydalanuvchi bu xatolarni tuzatishi uchun xabardor qilinadi. Tahlilda shuningdek, ramz stoli deb ataladigan ma'lumotlar strukturasida saqlanadigan manba dasturi haqida ma'lumot yig'iladi. Ramz stoli dasturning oraliq taqdimoti bilan birgalikda sintez bosqichiga o'tkaziladi.Sintez bosqichida, dasturning ob'ekt kodi oraliq namoyish va ramz stolidagi ma'lumot asosida tuziladi. Tahlil ko'pincha boshlang'ich bosqich (oldingi so'nggi) va sintez - yakuniy (orqa so'nggi) deb ataladi.Ko'pincha tarjimonlarda bu bosqichlar aniq chegaraga ega emas; tez-tez ular bir-biri bilan o'zaro bog'liq bo'lib, tahlil va sintezni muqobillashtiradi. Shakl. 2.5 tipik kompilyator tuzilishini taqdim etadi.
30) Yuklovchilar va ularning vaziyfalari Zagruzchiklar (Yuklovchilar). Obеkt programma tarjima qilingan komandalar boshlang’ich ma'lumotlar qiymatlari, xotira adrеslarini saqlaydi. Bu jarayonlar uchta bosqichni o’z ichiga oladi.1.Zagruzka (yuklash). Programmani bajarish uchun opеrativ xotira joylashtirish.2.Siljitish (pеrеmеhеniе). Obеkt programmani adrеslarni o’zgartirish natijasida modifikatsiya qilish.3Bog’lash (svyazyvaniе). Ikkita va undan ko’p alohida tarjima qilingan obеkt kodlarni bog’lash va ular orasidagi bog’lanishni tashkil qilish. Zagruzchik (Yuklovchi) sistеmaviy programma bo’lib yuklash vazifasini bajaradi. Ba'zi bir yuklovchilar ko’rsatilgan (1-3) ammalarni ham bajarishi mumkin. Bog’lovchi programmalarni bog’lanish (aloqa) muharriri ham (rеdaktor svyazеy) dеydilar. Zagruzchik va bog’lovchi programmalar o’z funksiyalarini turli tillarda yozilgan va tarjima qilingan kodlar ustida bajaradi. Zagruzchiklarning turli bo’lishidan qat'iy nazar, ularning ikkita asosiy funksiyalari mavjud. A)Obеkt programmani opеrativ xotiraga yozish. B)Boshqaruvni birinchi bajariladigan komanda adrеsiga uzatish. Zagruzchiklarni programmalashda (ishlab shiqishda) ovеrlеy tеxnologiyasidan foydalananadilar. Bu holatda xotirani tеjash mumkin va ikki bosqichni ish uchun xotiraning bitta sohasi ishlatiladi. Assеmblеr tilida programma tuzish va uni taxlash (bajarish) uchun assеmblеr translyatori va zagruzchik (yuklovchi) birgalikda ishlatiladi. Shu bosqichlarni quyidagi kеtma-kеtlikda bеrish mumkin.1.asm prog. asm. Boshlang’ich fayl. 2.prog. obj. Translyatsiya qilingan obеkt fayl (obеkt modul) 2.link prog. Bajariladigan faylni zagruzchik (linker) yordamida hosil qilish.3.prog. exe – Bajariladigan fayl.Agar programma bir nеchta obеkt modullardan iborat bo’lsa u holda ularni zagruzchik orqali yagona programma shaklida tashkil qilish mumkin. Masalan, link mod1.obj+mod2. obj+mod3. Obj Natijada mod. exe yagona bajariladigan programma hosil bo’ladi.
31) Overley programmalar va ularni yaratish sxemasi Programmalash jarayonida programma hajmi(matni) juda katta bo’lgan holda ko’pgina programmalashtirish tizimlari dastur transliyatsidan keyin “ Not enough memory – Xotira yetishmayapti ” degan ogohlantirish ma’lumotini beradi. Bu muammoning hal qilishning mumkin bo’lgan yo’llaridan biri programmani overley tashkil qilish va qo’llashdir. Shuning uchun zamonaviy programmalash muhitlarida maxsus overley modullari mavjud va ulardan foydalanib overley programmalar tuziladi. Tpas va Borland Pascal Asos sifatida, almashtirish tizimi qattiq uchastkalarga asoslangan bo'lishi mumkin. Keyinchalik samarador bo'lib, dinamik tarqatish sxemasi yoki o'zgaruvchan bo'limlari mavjud bo'lgan sxema bo'lib, u ham barcha jarayonlar butunlay xotirada, ya'ni almashtirish yo'q bo'lganda foydalanilishi mumkin. Bunday holatda, birinchi navbatda, barcha xotira bepul va oldindan tasniflanmagan. Yangi kelgan vazifani bajarish uchun zarur bo'lgan xotira miqdori ko'p emas. Jarayon o'chirilgandan so'ng, xotira vaqtincha ozod qilinadi. Bir muncha vaqt o'tgach, xotira har xil o'lchamdagi o'zgaruvchan sonli qismdir Qo'shni bo'sh joylar birlashtirilishi mumkin.Jarayonlar orasida xotira ajratish dinamikasi (ishlatilmaydigan xotira kulrang ko'rinishda bo'ladi) Jarayoni qanday bo'limga qo'yish kerak? Uchta keng tarqalgan strategiya. Birinchi muvofiq strategiya. Jarayon birinchi muvofiq o'lchamli bo'limga joylashtiriladi. Eng mos keladigan strategiya (Best fit). Jarayon yuklanganidan keyin eng kam bo'sh joy bo'ladigan bo'limga joylashtiriladi. Eng kam mos strategiya (eng yomon). Eng katta qismga joylashtirilganida boshqa jarayonni joylashtirish uchun etarli joy mavjud. Simulyatsiya birinchi ikki holatda foydali xotira nisbati katta ekanligini ko'rsatdi, birinchi usul biroz tezroq. Xotira boshqaruvchisining odatdagi ish aylanishi erkin maydon (qism) ajratish uchun so'rovni tahlil qilish, uni strategiyalarning biriga muvofiq tanlab olish, jarayoni tanlangan qismga yuklash va keyinchalik bepul va band bo'lgan joylardagi jadvallarni o'zgartirishdan iborat. Jarayon tugagandan so'ng, xuddi shunday tartibga solish talab etiladi. Manzillarni ulash yuklarni o'rnatish va bajarish bosqichlarida amalga oshirilishi mumkin.Ushbu uslub sobit bo'laklarga nisbatan moslashuvchan, lekin tashqi qismlarga ajratish - har qanday jarayonga ajratilmagan ko'plab ishlatilmaydigan xotira maydonlarining mavjudligi. Jarayoni birinchi muvofiq va eng mos ravishda joylashtirish strategiyasini tanlash zaiflashib, parchalanish miqdoriga ta'sir qiladi. Qizig'i shundaki, eng qulay usul eng yomon holga aylanishi mumkin, chunki u juda kichik bo'sh bloklarni tark etadi. Statistik tahlillar shuni ko'rsatadiki, xotiraning 1/3 qismi o'rtacha yo'qoladi! Bu 50% ma'lum qoidadir (ikkita qo'shni jarayondan farqli o'laroq, ikkita qo'shni bo'sh joylar birlashtirilishi mumkin). Tashqi qismlarga bo'linish muammosining echimlaridan biri siqishni tashkil etish, ya'ni barcha bo'sh turgan joylarni manzillarni ko'paytirish (kamaytirish) yo'nalishida ko'chirish, ya'ni barcha bo'sh xotira doimiy maydon hosil qilishdir. Bu usul ba'zida ko'chiriladigan ajratish sxemasi deb ataladi. Ideal holda, siqilishdan keyin parchalanish yo'q bo'lishi kerak. Biroq, kompressiya qimmat protsedura hisoblanadi, optimal siqishni strategiyasini tanlash algoritmi juda murakkab va qoida sifatida siqishni boshqa manzillarga tushirish va o'rnatish bilan birgalikda amalga oshiriladi.
32) Stek va kucha ta'riflari, tashkil qilinishi va qo'llanilishi Kucha(cucha - куча) – Dinamik ob’ektlarni saqlash uchun ishlatiladigan xotiraning qismi. Xotira ajratishning bu usuli juda yaxshi ishlaydi, lekin u doimo ishlatilmasligi mumkin. Ba'zan funktsiyalar tugaganidan keyin ba'zi bir funktsiyalarni turli funktsiyalar orasida uzatishingiz yoki uninghaqiqiyliginisaqlab qo'yishingiz kerak. Jarayon boshlanganda OS xotirani uyga joylashtirish uchun xotirani ajratadi. Stek malumotlarni xuddi Avtomat magaziniga o’q joylashtirgani kabi xotiraga xam xuddi shu tartibda joylashgtiradi.
Do'stlaringiz bilan baham: |