Junior — Middle
Ինչպե՞ս է օպերացիոն համակարգը որոշում, երբ հիշողության մեջ օբյեկտը այլևս չի օգտագործվում և այն անվտանգ ազատելու ժամանակն է:
sobes.tech AI
Պատասխան AI-ից
Աշխատանքային համակարգը ինքնին ուղղակիորեն չի կառավարում հիշողության օբյեկտների ազատումը — դա կատարվում է գործարկման միջավայրի և ծրագրավորման լեզվի կողմից։ Օրինակ, iOS-ում հիշողության կառավարումը կատարվում է ARC (Ավտոմատ Հղումային Հաշվարկ) մեխանիզմի միջոցով։
ARC հետևում է օբյեկտին ուղղված հղումների թվին։ Երբ հղումների հաշվիչը հասնում է զրոյի (այսինքն՝ այլևս ոչ ոք չի հղում այդ օբյեկտին), օբյեկտը ավտոմատ կերպով ազատվում է հիշողությունից։
Օրինակ՝
class MyClass {}
var obj: MyClass? = MyClass() // հղումների թիվը = 1
obj = nil // հղումների թիվը = 0, օբյեկտը ազատվում է
Այսպիսով, օպերացիոն համակարգը չի որոշում, երբ օբյեկտը այլևս չի օգտագործվում — դա անում է գործարկման միջավայրը հղումների հաշվարկով կամ գարշահոտ հավաքողով։