Kaj je procesna izolacija?

Izolacija procesov v računalniškem programiranju je ločevanje različnih procesov programske opreme, da se prepreči dostop do pomnilniškega prostora, ki ga nimajo v lasti. Koncept izolacije procesov pomaga izboljšati varnost operacijskega sistema z zagotavljanjem različnih ravni privilegijev določenim programom in omejevanjem pomnilnika, ki ga ti programi lahko uporabljajo. Čeprav obstaja veliko izvedb izolacije procesov, se v spletnih brskalnikih pogosto uporablja za ločevanje več zavihkov in za zaščito samega osrednjega brskalnika, če proces ne uspe. Lahko temelji na strojni opremi ali na programski opremi, vendar oba služita istemu namenu omejevanja dostopa do sistemskih virov in ohranjanja programov izoliranih od lastnega virtualnega naslovnega prostora.

Osnovno delovanje izolacije procesa vključuje dodelitev procesu ali programu jasno opredeljenega virtualnega naslovnega prostora. Ta prostor vsebuje program in vse povezane podatke. Če proces zahteva več prostora, ga zahteva operacijski sistem in dodeli, če je na voljo. Na ta način lahko operacijski sistem prepreči, da bi dva procesa nehote ali namerno dostopala do pomnilnika drug drugega.

Drug namen izolacije procesov je omogočiti izvajanje programov, hkrati pa zagotoviti, da ne vplivajo na vitalne sisteme. Programu lahko prepreči poskus dostopa do ključnih področij operacijskega sistema in jih spremeni ali kako drugače spremeni. To omogoča, da se program prekine v primeru težave, ne da bi se izklopil tudi večji operacijski sistem.

Obstajajo različne različice izolacije. Ena je dodelitev privilegijev za obdelavo, tako da lahko dostopajo do določenih virov v sistemu, hkrati pa ščitijo druge. To se pogosto naredi, da se programu omogoči uporaba internetne vtičnice ali tiskalnika, medtem ko mu še vedno omejuje dostop do diskovnega pogona ali datotečnega sistema.

Obstajajo tudi situacije, v katerih je mogoče sprejeti določene korake, da se različnim procesom omogoči varna komunikacija med seboj, vendar ostanejo neodvisni drug od drugega. S pomočjo mehanizmov, kot sta komunikacija med procesi (IPC) in skupni pomnilnik, lahko procesi izmenjujejo informacije, vendar so še vedno omejeni na svoj lastni pomnilniški prostor. Ta funkcionalnost je pomembna, kadar proces zahteva informacije iz različnih procesov upravljanja, ki so v lasti operacijskega sistema.

Izolacija procesa je pomembna funkcija programske in strojne opreme, ki pomaga omogočiti več tehnologij. Strežniki navideznih strojev delujejo z napredno obliko izolacije procesov, ki temelji na upravljanju strojne in programske opreme. Varno zagon programčkov ali drugih skriptov s spletnih mest je odvisno od tega, da je proces izoliran od pomembnih sistemskih virov. Mobilne naprave in vgrajeni sistemi uporabljajo izolacijo procesov, da omogočijo, da jedro strojne opreme ostane varno kljub kakršni koli napačni ali zlonamerni programski opremi, ki se izvaja.