Механізм копіювання при записуванні (англ. Copy-On-Write, COW) використовується для оптимізації багатьох процесів, що відбуваються в операційній системі, таких, наприклад, як робота з оперативною пам'яттю або файлами на диску (приклад — ).
Ідея підходу copy-on-write полягає в тому, що при читанні області даних використовується загальна копія, а у випадку зміни даних — створюється нова копія.
Наприклад, при роботі UNIX-функції fork() замість реального копіювання, під яке треба виділяти пам'ять, ядро змінює дескриптори сторінок пам'яті материнського процесу, забороняючи будь-який запис в сторінки даних (сторінки програмного коду і так заборонені для запису; хоча тут є свої тонкощі — але на подальші міркування вони не впливають). Потім створюється дочірній процес, якому копіюються дескриптори сторінок пам'яті материнського процесу. При цьому ядро позначає ці сторінки як такі, що спільно використовуються.
Спроба запису в відображені сторінки (неважливо, з боку материнського або дочірнього процесу) викликає виключення (exception), яке передає керування в ядро. Ядро бачить, що це звернення було законним, і створює копію змінюваної сторінки. Таким чином вдається зменшити кількість споживаної програмами фізичної пам'яті. Механізм COW досить складний у реалізації, особливо в багатоядерних системах, а помилки в ньому можуть призводити до вразливостей, наприклад, (Linux, 2007 — жовтень 2016).
Механізм отримав велике поширення при створенні новітніх файлових систем, таких як ZFS і Btrfs. Завдяки ньому створення знімків в даних системах відбувається практично миттєво, не займаючи при цьому великих ресурсів носія інформації.
Див. також
Література
- Dhamdhere D. M. Operating Systems: A Concept-based Approach. — Tata McGraw-Hill Education, 2006. — P. 281—282. — .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Mehanizm kopiyuvannya pri zapisuvanni angl Copy On Write COW vikoristovuyetsya dlya optimizaciyi bagatoh procesiv sho vidbuvayutsya v operacijnij sistemi takih napriklad yak robota z operativnoyu pam yattyu abo fajlami na disku priklad Ideya pidhodu copy on write polyagaye v tomu sho pri chitanni oblasti danih vikoristovuyetsya zagalna kopiya a u vipadku zmini danih stvoryuyetsya nova kopiya Napriklad pri roboti UNIX funkciyi fork zamist realnogo kopiyuvannya pid yake treba vidilyati pam yat yadro zminyuye deskriptori storinok pam yati materinskogo procesu zaboronyayuchi bud yakij zapis v storinki danih storinki programnogo kodu i tak zaboroneni dlya zapisu hocha tut ye svoyi tonkoshi ale na podalshi mirkuvannya voni ne vplivayut Potim stvoryuyetsya dochirnij proces yakomu kopiyuyutsya deskriptori storinok pam yati materinskogo procesu Pri comu yadro poznachaye ci storinki yak taki sho spilno vikoristovuyutsya Sproba zapisu v vidobrazheni storinki nevazhlivo z boku materinskogo abo dochirnogo procesu viklikaye viklyuchennya exception yake peredaye keruvannya v yadro Yadro bachit sho ce zvernennya bulo zakonnim i stvoryuye kopiyu zminyuvanoyi storinki Takim chinom vdayetsya zmenshiti kilkist spozhivanoyi programami fizichnoyi pam yati Mehanizm COW dosit skladnij u realizaciyi osoblivo v bagatoyadernih sistemah a pomilki v nomu mozhut prizvoditi do vrazlivostej napriklad Linux 2007 zhovten 2016 Mehanizm otrimav velike poshirennya pri stvorenni novitnih fajlovih sistem takih yak ZFS i Btrfs Zavdyaki nomu stvorennya znimkiv v danih sistemah vidbuvayetsya praktichno mittyevo ne zajmayuchi pri comu velikih resursiv nosiya informaciyi Div takozhPodilyuvana pam yatLiteraturaDhamdhere D M Operating Systems A Concept based Approach Tata McGraw Hill Education 2006 P 281 282 ISBN 0070611947