26-ma'ruza 1C: buxgalteriya ma’lumotlar bazalarini tiklash tuzulmasining amaliy dasturiy paketlari. Reja
Download 309.63 Kb. Pdf ko'rish
|
26-maruza
26.3. Soprogrammalar
Odatdagi qo'ng'iroqlar ketma-ketligida, qo'ng'iroq qilish tartibi va chaqiriladigan protsedura o'rtasida aniq farq bor. B protsedurasini chaqiradigan A protsedurasini ko'rib chiqing ( 26.4- rasm ). 26.4- rasm . Chaqirilayotgan protsedurani bajarish har doim boshidan boshlanadi B protsedurasi bir muncha vaqt ishlaydi, keyin nazoratni Aga qaytaradi. Bir qarashda, bu holatlar nosimmetrik ko'rinishi mumkin , chunki na A, na B asosiy dastur emas - bu protseduralar (ammo, A protsedurasini asosiy dastur chaqirishi mumkin, ammo bu holda u ahamiyatsiz). Bundan tashqari, birinchi nazorat A-dan B-ga (qo'ng'iroq paytida), so'ng B-dan A-ga (qaytishda) o'tkaziladi. Farqi shundaki, nazorat A dan B ga o'tganda, B protsedurasi boshidan boshlanadi; va nazorat B-dan A-ga qaytarilganda, A protsedurani bajarish boshidan emas, balki B protsedurasini chaqirishdan keyingi buyruq bilan davom etadi . Agar A biroz vaqt ishlasa va yana B protsedurasini qayta chaqirsa, B ijro etish yana boshidan boshlanadi va nazorat A protsedurasiga qaytarilgan nuqtadan. Agar B protsedurasi bajarilish davomida bir necha marta chaqirilsa, B protsedurasi har safar boshidan boshlanadi va A protsedurasi hech qachon boshidan boshlanmaydi. Bu farq A va B o'rtasida boshqaruvni uzatish usulida o'z aksini topadi. A protsedurasi B chaqirilganda, buyruqni chaqirish protsedurasidan foydalaniladi, u qaytib keladigan manzilni (ya'ni dasturdagi protsedurani bajaradigan buyruq manzilini) joylashadigan joyga qo'yadi. keyin pop uchun oson bo'ladi, masalan, suyakning yuqori qismiga. Keyin qo'ng'iroqni yakunlash uchun B protsedurasining manzilini buyruq peshtaxtasiga joylashtiradi. B protsedurasidan chiqish uchun siz protsedurani chaqirish buyrug'ini ishlatmaysiz, ammo protseduradan chiqish buyrug'i oddiygina qaytib manzilni stakandan chiqaradi va uni buyruqlar peshtaxtasiga joylashtiradi. Biroq, ba'zida ikkala protsedura ( A va B) bir-birlarini protsedura deb atashlarini xohlaysiz , bu 26.5- rasmda ko'rsatilgandek . B-dan A-ga qaytganda, B protsedurasi B protsedurasini chaqirishdan oldin bayonotga o'tadi, A protsedurasi B protsedurasini B-ga o'tkazganda, u B- ning boshlanishiga (birinchi marta bundan tashqari) emas, balki oldingi joyga qaytadi. Oldingi A.ga qo'ng'iroq qilingan bo'lib, shunga o'xshash tarzda ishlaydigan ikkita protsedura korautinlar deb nomlanadi. 26.5- rasm . Soprogramma tugagandan so'ng, ijro etish boshidan emas, balki oxirgi marta tugagan joydan boshlanadi Soprogrammalar odatda bitta protsessorga parallel ravishda ma'lumotlarni qayta ishlash uchun ishlatiladi. Har bir korrintin xuddi boshqa protsessorlar bilan bir vaqtning o'zida ishlaydi, go'yo u o'zining protsessoriga ega. Ushbu yondashuv ba'zi dasturlarni dasturlashni soddalashtiradi. Shuningdek, u ko'p protsessorli dasturlarni sinash uchun foydalidir. Korutinlarni chaqirish uchun odatiy CALL va RETURN buyruqlari mos kelmaydi, chunki o'tish tugmasi manzili stakandan olingan bo'lsa-da, boshqarish qaytayotganda, lekin boshqarish qaytarilganidan farqli o'laroq , korrutin chaqirilganda, qaytish manzili ma'lum joyga keyinroq qaytib keladi. ... Bu bo'lgandi Agar suyakka tepasida emas, balki buyruq hisoblagichidan foydalanadigan buyruq bo'lsa yaxshi bo'lar edi . Bu buyruq dastavval eski qaytish manzilini stenddan ochib, uni ichki registrga surib qo'yishi kerak, so'ngra buyruqni hisoblagichni ustunga bosib, oxir- oqibat ichki registrning tarkibini buyruq peshtaxtasiga nusxalash kerak . Bitta so'z stakandan chiqarilib, boshqasi suyakka surilganligi sababli, suyakka ko'rsatkichining holati o'zgarmaydi. Bunday buyruq juda kam uchraydi, shuning uchun ko'p hollarda uni bir nechta buyruqlardan modellashtirish kerak . Download 309.63 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling