6-Mavzu. Jarayonlar va resurslar. Reja Resurslarni taqsimlash Jarayonlar bajarilishini rejalashtirish


Download 148.14 Kb.
bet3/4
Sana02.01.2022
Hajmi148.14 Kb.
#202039
1   2   3   4
Bog'liq
6-Mavzu. Jarayonlar va resurslar.

Dinamik xotirani taqsimlash


Dinamik xotirani o‘lchovi kompilyatsiya bosqichida noma’lum bo‘lgan sababli, uni taqsimlash ancha qiyinchiliklar tug‘adi.

Bunday xotirani taqsimlash uchun kompilyator programma ichiga, dinamik xotira ajratuvchi va olib tashlovchi mahsus funksiyalarni qo‘yadi.

Ko‘pincha dinamik xotira sohasi bilan ko‘rsatkich va sinf struktorlariga bog‘liq. Dinamik ob’ektlarni xotira maydonlariga dinamik bog‘lash kerak bo‘ladi. Dinamik xotira sohasida foydalanuchi uchun xotira ajratiladi va kompilyator uchun ham ajratiladi, lekin bu ajratishlar programma bajarilish jarayonida qilinadi.

Foydalanuvchi, dinamik xotira sohasini ajratish va ozod qilishi mumkin. Buning uchun u mahsus operatorlarni qo‘llaydi (new va dispose Paskalda, malloc() va free() Sida, new va delete C++da).

Bu operator va funksiyalar, o‘z navbatida operatsion tizim imkoniyatlaridan foydalanishi mumkin yoki mustaqil ravishda katta statik ajratilgan xotira sohasida taqsimlashi mumkin. Qaysi usul ishlatishdan qat’iy nazar, foydalanuvchi javobgarlikni to‘liq o‘z ustiga oladi.

Kompilyator tamondan ham dinamik xotira sohasi ajratilishi mumkin. Masalan satrlarni ulash amali qo‘shimcha xotira talab qiladi. Bu amalni bajarish uchun kompilyator kerakli uzunlikda dinamik xotira ajratish va uni bo‘shatish komandalarni programmada tashkil qilishi kerak. Alohida sohalarni xotirada joylashtirish umumiy tuzimi:



Bu rasmdan ko‘rinib turibdiki no’malum hajmdagi ikki dinamik sohalarga umumiy maydon ajratib, ularni qarama qarshi yo‘nalishda joylashtirilgan.



Ikki hona uzunligi noma’lum bo‘lgan sababli operatsion tizim doimo ularni kesishmasligini nazorat qilib turadi.

Download 148.14 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling