Është publikuar versioni 4.0 i instrumentit CRIU (Checkpoint and Restore In Userspace), i destinuar për ruajtjen dhe rikuperimin eproceseve në hapësirën e përdoruesit. Ky instrument lejon ruajtjen e gjendjes së një grupe ose të vetme procesesh, dhe pastaj vazhdimin e punës nga pozita e ruajtur, përfshirë edhe pas një ricarikimi të sistemit ose në një server tjetër pa ndërprerjen e lidhjeve të krijuara tashmë. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën GPLv2. CRIU përdoret në sisteme menaxhimi të kontejnerëve si OpenVZ, LXC/LXD dhe Docker. Ndryshimet e nevojshme për funksionimin e CRIU janë përfshirë në bërthamën kryesore të Linux.
Si zona të aplikimit të teknologjisë CRIU, dihet se ofron ri-startimin e sistemit operativ pa ndërprerje të vazhdimësisë së proceseve që zgjatin, migrimin e përkohshëm të kontejnerëve të izoluara, përshpejtimin e nisjes së proceseve të ngadalta (mund të filloni punën nga një gjendje e ruajtur pas iniciatës), kryerjen e përditësimeve të bërthamës pa ri-startimin e shërbimeve, ruajtjen e përkohshme të gjendjes së detyrave të larta për llogaritje për t'u rikuperuar në rast dështimi, balancimin e ngarkesës në nyjat e grupeve, përfundimin e proceseve në një makinë tjetër (fork në një sistem të largët), krijimin e snapshot-eve të aplikacioneve të përdoruesve gjatë punës për analizimin e tyre në një sistem tjetër ose në rast se nevojitet anulimi i veprimeve të mëtejshme në program.
Në versionin e ri:
- Është shtuar një plugin CUDA, i cili siguron mundësinë e ruajtjes dhe rikuperimit të gjendjes së aplikacioneve mbi teknologjinë NVIDIA CUDA.
- Është shtuar mbështetje për mekanizmin Shadow Stack, i mbështetur që nga bërthama Linux 6.6, dhe që mundëson bllokimin e funksionimit të shumë eksploitëve, duke përdorur mundësitë harduerike të procesorëve Intel (pas kalimit të kontrollit në funksion, adresat e rikthimit ruhen nga procesori jo vetëm në stack-un normal, por edhe në një 'stack' të veçantë 'të errët', i cili nuk mund të ndryshohet drejtpërdrejt, dhe para se të del nga funksioni, adresa e rikthimit nxirret nga stack-u i errët dhe krahasohet me adresën e rikthimit nga stack-u kryesor).
- Candido mbështetje për komandën ioctl PAGEMAP_SCAN për të marrë informacion mbi përmbajtjen e tabelave të faqeve të memories, e cila, ndër të tjera, duke u përdorur me userfaultfd(), lejon të përcaktohen faktet e shkruajtes në një zonë të veçantë të memories.
- Zhvilluar mundësinë për rikthimin e rrjedhës në cgroup v1 të saktë.
Burimi: opennet.ru
