Sobes.tech
Middle — Middle+

Жүйенің ішкі жұмысында Copy-on-write стратегиясы қалай жүзеге асырылған?

sobes.tech AI

AI-дан жауап

Copy-on-write (COW) стратегиясы жүйе немесе кітапхана деңгейінде жүзеге асырылады, ол кезде объект немесе деректер көшірілген кезде, шын мәнінде, бірдей жад блогына сілтеме жасалады. Деректердің физикалық көшірмесі тек біреуінің мазмұнын өзгертуге тырысқанда ғана жасалады.

Мысалы, iOS-та көптеген деректер құрылымдары (NSString, NSArray, NSDictionary) COW-ны пайдаланады. Объект көшірілген кезде, ол сол деректерге жаңа сілтеме жасайды, ал сілтеме санын арттырады. Деректерді өзгерту әрекеті кезінде жүйе сілтеме санын тексереді: егер ол 1-ден көп болса, нақты деректер көшірмесі жасалады (жазу кезінде көшірме жасалады), және өзгерту осы көшірмеде орын алады. Егер сан 1-ге тең болса, өзгерту тікелей орындалады.

Бұл жадты тиімді пайдалану мен өнімділікті арттыруға мүмкіндік береді, қажетсіз көшірмелерді болдырмайды.

Қарапайым мысал (қарапайым түрде):

  • A объектісі деректерімен жасалды.
  • B көшірмесі жасалды, ол сол деректерге сілтеме жасайды.
  • B өзгертілген кезде, деректердің нақты көшірмесі жасалады, бұл A-ға әсер етпеу үшін.