Kompania Mozilla shpalli fillimin e testimit masiv në ndërtimet natës dhe publikimet beta të Firefox-it për modulin e ndarjes së rreptë të faqeve, që u zhvillua brenda projektit Fission. Ky mod është zgjeruar për të aplikuar arkitekturën multi-procesore - në vend të një rezervuari të fiksuar procesesh, për çdo faqe krijohet një proces i veçantë. Menaxhimi i aktivizimit të modit Fission bëhet nëpërmjet ndryshores "fission.autostart=true" në about:config ose në faqen about:preferences#experimental.
Kujtojmë se modeli multi-procesor i aplikuar në Firefox deri tani kishte parashikuar hapjen e një rezervuari procesesh për përpunuesit: me parazgjedhje 8 procese kryesore për përpunimin e përmbajtjes, 2 procese të tjera jo të privilegjuara për përmbajtjen web dhe 4 procese ndihmës për shtesat, ndërveprimin me GPU, operacionet rrjet dhe dekodimin e të dhënave multimedia. Shpërndarja e tab-eve në procese bëhej në mënyrë të rastësishme, për shembull, në një proces mund të ishte përpunimi i faqes së bankës dhe një burim të dyshimtë që nuk meritonte besimin.
Rezhimi i ri përfshin në një proces të veçantë përpunimin e çdo faqe në mënyrë që ndarja të bëhet jo sipas tab-eve, por sipas domain-eve, duke lejuar kështu izolim të mëtejshëm të përmbajtjes së skripteve të jashtme dhe blloqeve iframe. Për përpunimin e veçantë të njësi të tipike të shërbimeve lidhur me faqe të ndryshme, përdoret ndarjen jo sipas formaleve, por sipas faktikeve (eTLD). domainet e nivelit të lartë, të shënuara në listën e Public Suffix (dmth, faqet "a.github.io" dhe "b.github.io" do të trajtohen në procese të ndryshme).
Rezhimi i ndarjes së rreptë lejon mbrojtjen nga sulmet përmes kanaleve të jashtme, për shembull, ato që lidhen me dobësitë e klasës Spectre, të cilat shkaktojnë një rrjedhje informacioni brenda një procesi. Rrjedhja e të dhënave të ndjeshme të përpunuara në atë proces mund të ndodhi gjatë ekzekutimit të kodit të jashtëm të dyshimtë në motorët me JIT dhe në makinat virtuale. Në kontekstin e shfletuesve web, kodi i keq që vjen nga një faqe mund të fitojë informacion rreth fjalëkalimeve, çelësave të hyrjes dhe numrave të kartave të kreditit të futur në një faqe tjetër, që po përpunohet në të njëjtin proces. Fillimisht, për të mbrojtur nga sulmet nëpërmjet kanaleve të jashtme, zhvilluesit e shfletuesve kufizuan saktësinë e orës dhe bllokuan aksesin në API-në SharedArrayBuffer, por këto masa vetëm sa e komplikonin dhe ngadalësonin realizimin e sulmit (p.sh., së fundmi u propozua një metodë për nxjerrjen e të dhënave nga cache CPU, e cila funksionon në përgjithësi pa JavaScript).
Nga të mirat e tjera të modit të ndarjes së rreptë përmendet zvogëlimi i fragmentimit të memories, kthimi më efikas i memories në sistemin operative, minimizimi i ndikimit të mbledhjes së plehrave dhe llogaritjeve intensive në faqet në procese të tjera, rritja e eficiencës së shpërndarjes së ngarkesës në bërthamat e ndryshme të CPU-së, rritja e stabilitetit (dështimi i procesit që përpunon iframe, nuk do të tërheqë pas vetes faqen kryesore dhe tabet e tjera).
Në mesin e problemeve të njohura që ndodhin gjatë përdorimit të Fission, përmendet një rritje e ndjeshme në konsumimin e memories, lidhjeve X11 dhe deskriptorëve të skedarëve gjatë hapjes së një numri të madh tab-eve, si dhe ndërprerja e funksionimit të disa shtesave, zhdukja e përmbajtjes së iframe gjatë printimit dhe thirrjes së funksionit për regjistrimin e pamjeve, zvogëlimi i efikasitetit të ruajtjes së dokumenteve me iframe, humbja e përmbajtjes së formave që janë plotësuar, por nuk janë dërguar, gjatë rikuperimit të seancës pas një dështimi.
Burimi: opennet.ru
