Sobes.tech
Junior — Middle

Ինչպե՞ս է օպերացիոն համակարգը որոշում, երբ հիշողության մեջ օբյեկտը այլևս չի օգտագործվում և այն անվտանգ ազատելու ժամանակն է:

sobes.tech AI

Պատասխան AI-ից

Աշխատանքային համակարգը ինքնին ուղղակիորեն չի կառավարում հիշողության օբյեկտների ազատումը — դա կատարվում է գործարկման միջավայրի և ծրագրավորման լեզվի կողմից։ Օրինակ, iOS-ում հիշողության կառավարումը կատարվում է ARC (Ավտոմատ Հղումային Հաշվարկ) մեխանիզմի միջոցով։

ARC հետևում է օբյեկտին ուղղված հղումների թվին։ Երբ հղումների հաշվիչը հասնում է զրոյի (այսինքն՝ այլևս ոչ ոք չի հղում այդ օբյեկտին), օբյեկտը ավտոմատ կերպով ազատվում է հիշողությունից։

Օրինակ՝

class MyClass {}
var obj: MyClass? = MyClass() // հղումների թիվը = 1
obj = nil // հղումների թիվը = 0, օբյեկտը ազատվում է

Այսպիսով, օպերացիոն համակարգը չի որոշում, երբ օբյեկտը այլևս չի օգտագործվում — դա անում է գործարկման միջավայրը հղումների հաշվարկով կամ գարշահոտ հավաքողով։