Operatsion Tizimlar Mustaqil ish tt 11-20 s ravshanov Javohir Mavzu


Download 0.8 Mb.
Pdf ko'rish
bet4/13
Sana03.11.2023
Hajmi0.8 Mb.
#1742514
1   2   3   4   5   6   7   8   9   ...   13
Bog'liq
Opertasion tizimlar

Xotirani qo’lda boshqarish 
Xotirani qo'lda boshqarish foydalanilmaydigan ob'ektlarni aniqlash va taqsimlash 
uchun dasturchining qo'lda ko'rsatmalaridan foydalanishni anglatadi yoki axlat. 1990-
yillarning o'rtalariga qadar ko'pchilik dasturlash tillari sanoatda qo'lda xotirani qo'lda 
boshqarishda foydalaniladi axlat yig'ish bilan kiritilgan 1959 yildan beri mavjud Lisp. 
Ammo bugungi kunda axlat yig'ish bilan shug'ullanadigan tillar Java tobora 
ommalashib bormoqda va tillar Maqsad-C va Tez orqali o'xshash funktsiyalarni taqdim 
etish Avtomatik ma'lumotni hisoblash. Hozirgi kunda ham keng qo'llanilayotgan qo'lda 
boshqariladigan asosiy tillar C va C ++ - qarang C dinamik xotirani ajratish.
 
Qo'lda boshqarish va to'g'riligi 
Xotirani qo'lda boshqarish noto'g'ri ishlatilganda, xususan, buzilishlar paytida 
dasturda xatolarning bir nechta asosiy sinflarini yaratishi ma'lum 
xotira 
xavfsizligi yoki xotira sızdırıyor. Bularning muhim manbai xavfsizlik xatolari.
Qachon foydalanilmagan ob'ekt hech qachon bepul do'konga qaytarib berilmasa, bu a 
deb nomlanadi 
xotira oqishi
. Ba'zi hollarda, xotira sızmasına bardoshli bo'lishi 
mumkin, masalan, butun umri davomida cheklangan hajmdagi xotirani "sızdıran" 
dastur yoki unga asoslangan qisqa muddatli dastur
. operatsion tizim
 tugatgandan so'ng 
uning resurslarini taqsimlash. Biroq, ko'p holatlarda xotira oqishi uzoq davom etadigan 
dasturlarda uchraydi va bunday hollarda cheksiz xotira miqdori oshdi. Bu sodir 


bo'lganda, mavjud bo'lgan bepul do'kon hajmi vaqt o'tishi bilan kamayib boraveradi; 
nihoyat tugaganidan so'ng, dastur buziladi. 
Xotirani dinamik boshqarish
tizim ob'ektning zaxira xotirasini bir necha marta 
o'chirib tashlaganida olib kelishi mumkin; ob'ekt aniq bir necha marta yo'q qilingan; 
ob'ektni boshqarish uchun ko'rsatgichdan foydalanishda emas bepul do'konga 
ajratilgan dasturchi ushbu ko'rsatgichning maqsadli ob'ektining zaxira xotirasini 
chiqarishga harakat qiladi; yoki ob'ektni ko'rsatgich orqali boshqasiga, noma'lum 
tashqi vazifa, ish zarrachasi yoki jarayon tomonidan boshqariladigan o'zboshimchalik 
bilan ishlaydigan xotira maydonini boshqarish paytida dasturchi ushbu ob'ekt holatini 
buzishi mumkin, ehtimol uning chegaralaridan tashqarida yozish va buzilgan bo'lishi 
mumkin. uning xotirasini boshqarish ma'lumotlari. Bunday harakatlar natijasini o'z 
ichiga 
olishi 
mumkin 
to'plangan 
korruptsiya, 
muddatidan 
oldin 
yo'q 
qilish boshqacha (va yangi yaratilgan) ob'ekt, bu ko'p marta o'chirilgan ob'ekt bilan 
xotirada bir xil joyni egallaydi, dastur a tufayli qulaydi segmentatsiya 
xatosi (buzilishi xotirani himoya qilish,) va boshqa shakllari aniqlanmagan xatti-
harakatlar. 
O'chirilgan narsalarga ko'rsatgichlar aylanadi yovvoyi ko'rsatgichlar agar o'chirishdan 
keyin foydalanilgan bo'lsa; bunday ko'rsatgichlardan foydalanishga urinish
diagnostikasi qiyin bo'lgan xatolarga olib kelishi mumkin. 
Faqatgina foydalaniladigan tillar axlat yig'ish so'nggi ikki sinfdagi nuqsonlardan 
saqlanishlari ma'lum. Xotirada qochqinlar hali ham paydo bo'lishi mumkin (va 
chegaralangan qochqinlar tez-tez avlodlar yoki konservativ axlat yig'ish bilan sodir 
bo'ladi), lekin odatda qo'lda ishlaydigan tizimlarda xotira sızıntısından kamroq. 
Xotirani dinamik ravishda taqsimlash 
Ajratish haqidagi so'rovni bajarish vazifasi etarli hajmdagi foydalanilmagan xotira 
blokini topishdan iborat. Deb nomlangan katta xotira fondidan qismlarni ajratish orqali 
xotira talablari qondiriladi. Har qanday vaqtda, uyumning ba'zi qismlari ishlatilmoqda, 
ba'zilari esa "bepul" (foydalanilmayapti) va shu bilan kelajakda ajratish uchun mavjud. 



Download 0.8 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   13




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