Підтримка
www.wikidata.uk-ua.nina.az
Atomarna operaciya angl atomic operation angl atomic action v programuvanni oznachaye nabir instrukcij z vlastivistyu neperervnosti ciloyi operaciyi Okremi kroki operaciyi mozhut vidbuvatis v riznij chas ta u riznih chastinah sistemi odnak dlya zovnishnogo sposterigacha taka operaciya viglyadaye yedinoyu ta nepodilnoyu Atomarna operaciya vikonuyetsya povnistyu abo vidbuvayetsya vidmova u vikonanni bez pererivan Atomarnist maye osoblive znachennya v bagatoprocesornih komp yuterah i bagatozadachnih operacijnih sistemah oskilki dostup do resursiv sho ne rozpodilyayutsya povinen buti obov yazkovo atomarnim dzherelo Atomarna operaciya vidkrita vplivu tilki odnogo potoku dzherelo Atomarnist buvaye aparatnoyu koli bezperervnist zabezpechuyetsya aparaturoyu i programnoyu koli vikoristovuyutsya specialni zasobi mizhprogramnoyi vzayemodiyi m yuteks semafor Za svoyeyu suttyu programni zasobi zabezpechennya atomarnosti skladayutsya z dvoh etapiv blokuvannya resursu i vikonannya samoyi operaciyi Blokuvannya ye atomarnoyu operaciyeyu yaka abo uspishna abo povertaye povidomlennya pro zajnyatist dzherelo OglyadNapriklad u vipadku roboti dekilkoh potokiv koli odna z nih vikonuye atomarnu operaciyu reshta ne mozhe bachiti promizhni stani do zavershennya ciyeyi operaciyi Sistema mozhe perebuvati lishe abo v stani v yakomu vona bula do pochatku operaciyi abo zh pislya neyi ale ne v promizhnomu stani U vipadku ACID natomist atomarnist stosuyetsya naboru pevnih dij zi zmini danih oskilki umovi dostupu do spilnih danih dlya chitannya viznacheni u vlastivosti izolovanosti angl isolation Yaksho diyi zi zmini spilnih danih zapis zgurtovano v yedinu atomarnu operaciyu tranzakciyu i cya operaciya ne mozhe buti zavershena cherez bud yakij zbij todi taka operaciya maye buti povnistyu skasovana a spilni dani napriklad baza danih povernuti do pochatkovogo stanu V sistemah bez atomarnosti pri zboyi tranzakciyi vinikaye problema z viznachennya yaki operaciyi vzhe uspishno vikonano a yaki ni a pri povtornij sprobi vikonati tranzakciyu pevni operaciyi mozhut buti vikonani dvichi j tim samim spotvoriti stan sistemi Atomarnist znachno sproshuye obrobku pomilok yaksho tranzakciyu skasovano mozhna buti vpevnenim u tomu sho sistema perebuvaye u pochatkovomu stani j mozhna zdijsniti povtornu sprobu yiyi vikonati Mozhlivist skasuvannya tranzakciyi z avtomatichnim vidkidannyam vsih zmin ye osnovnoyu vlastivistyu u vipadku ACID UmoviNabir dij mozhe vvazhatisya atomarnim koli vikonuyutsya dvi umovi Poki povnij nabir dij ne zavershuyetsya niyakij inshij proces ne mozhe znati pro zrobleni zmini nevidimist i Yaksho bud yaka z dij ne vikonalasya todi ne vikonuyetsya povnij nabir dij i stan sistemi vidnovlyuyetsya do togo stanu v yakij ce znahodilosya pered tim yak bud yaka z dij pochalasya Navit bez rozglyadu kilkoh vikonuyuchih procesoriv ce mozhe buti ne trivialne dlya zdijsnennya Poki ye mozhlivist zmini v poryadku vikonannya programi bez atomarnosti ye mozhlivist sho sistema mozhe uvijti u nekorektnij stan RealizaciyiMikroprocesori x86 ta x86 64 Dokladnishe IA 32 x86 ta x86 64 Atomarni operaciyi opisani v tretomu tomi kerivnictva rozrobnika dlya arhitekturi IA 32 ta x86 64 Mikroprocesori cih arhitektur mayut tri vzayemozalezhni mehanizmi dlya vikonannya atomarnih operacij garantovano atomarni operaciyi blokuvannya shini iz vikoristannyam signalu LOCK ta prefiksu instrukcij asemblera LOCK protokoli kesh kogerentnosti yaki garantuyut vikonannya atomarnih operacij nad keshovanimi danimi blokuvannya keshu Ci operaciyi vzayemno zalezhni oskilki Pevni operaciyi z pam yattyu napriklad zchituvannya chi zapis bajtu zavzhdi atomarni Tobto mikroprocesor garantuye sho pislya pochatku takoyi operaciyi vona bude zavershena do togo yak inshij mikroprocesor abo inshij agent shini otrimaye dostup do ciyeyi komirki pam yati Mikroprocesor takozh pidtrimuye blokuvannya shini dlya vikonannya pevnih operacij takih yak zchituvannya zmina zapis v spilnomu regioni pam yati yaki mayut buti vikonani atomarno odnak zazvichaj ne mayut garantij atomarnogo vikonannya Oskilki regioni pam yati do yakih chasto zvertayetsya mikroprocesor mozhe buti zakeshovano v keshi L1 abo L2 mikroprocesora operaciyi mozhut buti vikonani atomarno v samomu mikroprocesori bez blokuvannya shini V takomu vipadku protokoli kesh kogerentnosti dbayut pro te abi inshi mikroprocesori yaki mogli zakeshuvati ti sami regioni pam yati korektno obroblyat atomarni operaciyi vikonani dlya keshovanih danih Mikroprocesori simejstva Intel486 ta novishi garantuyut atomarnist operacij zchituvannya abo zapis odnogo bajtu zchituvannya abo zapis slova virivnenogo za 16 bitovoyu graniceyu zchituvannya abo zapis podvijnogo slova virivnenogo za 32 bitovoyu graniceyu Mikroprocesori simejstva Pentium ta novishi dodatkovo garantuyut atomarnist takih operacij zchituvannya abo zapis chotiri slova virivnenogo za 64 bitovoyu graniceyu dostup do nezakeshovanih 16 bit pam yati sho mozhut pomistitis vseredini 32 bitovoyi shini danih Mikroprocesori simejstva P6 ta novishi dodatkovo garantuyut atomarnist takih operacij Nevirivnyanij 16 32 ta 64 bitovij dostup do keshovanih regioniv pam yati sho povnistyu znahoditsya v odnomu ryadku keshu PrikladOdin proces Pripustimo sho yedinij proces vikonuyetsya na komp yuteri i vin zbilshuye znachennya v zadanij komirci pam yati Shob zbilshiti znachennya u cij komirci pam yati potribni taki kroki proces chitaye znachennya v komirku pam yati proces dodaye odin do znachennya proces pishe nove znachennya nazad v komirku pam yati Dva procesi Teper uyavimo dva procesi vikonuyut zbilshennyam odnoyi rozpodilenoyi komirki pam yati pershij proces chitaye znachennya v komirku pam yati pershij proces dodaye odin do znachennya ale pered tim yak pershij proces zmozhe napisati nove znachennya nazad do roztashuvannya pam yati vin zupinyayetsya i pochinaye vikonuvatisya drugij proces drugij proces chitaye znachennya v komirku pam yati take zh znachennya sho pershe chitannya procesu drugij proces dodaye odin do znachennya drugij proces vpisuye nove znachennya v komirku pam yati Nareshti zupinyayetsya i drugij proces i pershij proces vidnovlyuye vikonannya pershij proces vpisuye teper hibne znachennya v komirku pam yati bo vin nepoperedzhenij sho inshij proces vzhe zminiv znachennya v komirci pam yati Ce prostij priklad U realnij sistemi diyi mozhut buti skladnishimi i pomilki traplyayutsya nadzvichajno vitoncheni Napriklad chitannya 64 rozryadnogo znachennya z pam yati mozhlivo faktichno zdijsnyuyetsya yak dva poslidovni chitannya dvoh 32 rozryadnih sliv pam yati Yaksho proces tilki prochitav pershi 32 bita a pered tim yak prochitati drugi 32 biti znachennya v pam yati zminilosya todi rezultat ne matime ani originalnogo znachennya ani novogo znachennya a otrimaye smittyeve znachennya Do togo zh konkretnij poryadok v yakij vikonuyutsya procesi mozhut raz vid razu zminyuvati rezultati roblyachi taku pomilku vazhkoyu dlya viyavlennya i vidladki BlokuvannyaAtomarna operaciya funkcionalno ekvivalentna kritichnij sekciyi blokuvannyu razom z tim treba doklasti zusil shob ne ponesti znachni vtrati porivnyano z pryamim vikoristannyam atomarnih operacij pryamu pidtrimku yakoyi proponuyut bagato komp yuternih arhitektur Shob pokrashiti produktivnist programi chasto ye dobroyu ideyeyu zaminiti kritichni sekciyi na atomarni operaciyi dlya Prote znachne pokrashennya shvidkodiyi ne garantovane i neblokuyuchi algoritmi mozhut stati prosto ne vartimi zusil na vtilennya Zagalni primitiviBilshist suchasnih procesoriv maye instrukciyi yaki mozhna zastosuvati dlya realizaciyi blokuvannya i neblokuyuchih algoritmiv Dlya odnoprocesornih sistem takozh dosit mati mozhlivist timchasovo zaboronyati pererivannya shob buti pevnim sho vikonuvanij proces ne pereklyuchit kontekst Nastupni instrukciyi pryamo vikoristovuyutsya kompilyatorami i operacijnimi sistemami ale takozh mozhut buti abstragovani i predstavleni yak bajt kod abo bibliotechni funkciyi v movah visokogo rivnya Atomic read and write atomarni chitatannya ta zapis Test and set proviriti i vstanoviti vibrati i dodati Compare and swap porivnyati i perestaviti Zavantazhiti zv yazati Zberegti umovno Bagato z cih primitiviv mozhut buti realizovani v terminah inshihRealizaciyiatomic h bilshist sistem postachaye nizkorivnevij C interfejs do atomarnih operacij prote najmenuvannya poryadok argumentiv povernuti znachennya i semantika znachno riznyatsya mizh operacijnimi sistemami tobto biblioteki i zastosunki sho vikoristovuyut cej interfejs napryamu budut priv yazani do konkretnoyi operacijnoyi sistemi APR 1 bereznya 2001 u Wayback Machine biblioteka Apache Portable Runtime postachaye nabir makrosiv z funkciyami atomarnih operacij dlya vikoristannya v programah z licenziyeyu MPL Atomarni operaciyi 28 chervnya 2009 u Wayback Machine v GLib open std org An Atomic Operations Library for C 14 kvitnya 2009 u Wayback Machine java util concurrent atomic 6 kvitnya 2009 u Wayback Machine v JDKPrimitkiReed D P 01 1979 Implementing Atomic Actions on Decentralized Data Proceedings of the Seventh Symposium on Operating System Principles 163 doi 10 1145 800215 806584 Martin Kleppmann 2017 Chapter 7 Transactions Designing Data Intensive Applications s 224 ISBN 978 1 449 37332 0 8 1 Locked Atomic Operations Intel 64 and IA 32 Architecture Software Developer s Manual T Volume 3 System Programming Guide Div takozhACID Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno cherven 2017
Топ