Što je izolacija procesa?

Izolacija procesa u računalnom programiranju je odvajanje različitih softverskih procesa kako bi se spriječilo da pristupe memorijskom prostoru koji ne posjeduju. Koncept izolacije procesa pomaže poboljšati sigurnost operacijskog sustava dajući različite razine privilegija određenim programima i ograničavajući memoriju koju ti programi mogu koristiti. Iako postoji mnogo implementacija izolacije procesa, ona se često koristi u web preglednicima za odvajanje više kartica i za zaštitu samog temeljnog preglednika u slučaju neuspjeha procesa. Može se temeljiti na hardveru ili softveru, ali oba služe istoj svrsi ograničavanja pristupa resursima sustava i držanja programa izoliranih od vlastitog virtualnog adresnog prostora.

Osnovno funkcioniranje izolacije procesa uključuje dodjelu procesu ili programu jasno definiranog virtualnog adresnog prostora. Ovaj prostor sadrži program i sve povezane podatke. Ako proces zahtijeva više prostora, on se traži od operativnog sustava i dodjeljuje se ako je dostupan. Na taj način operativni sustav može spriječiti dva procesa od slučajnog ili namjernog pristupa memoriji jednog drugog.

Druga svrha izolacije procesa je omogućiti izvođenje programa uz osiguranje da ne utječu na vitalne sustave. Može spriječiti program da pokuša pristupiti ključnim područjima operacijskog sustava i promijeniti ih ili na drugi način promijeniti. To omogućuje prekid programa u slučaju problema bez da se isključi veći operativni sustav.

Postoje različite varijacije izolacije. Jedan je dodijeliti privilegije procesu kako bi mogli pristupiti određenim resursima na sustavu, a da pritom štite druge. To se često radi kako bi se programu omogućilo korištenje internetske utičnice ili pisača, dok mu se i dalje ograničava pristup pogonu diska ili datotečnom sustavu.

Postoje i situacije u kojima se mogu poduzeti određeni koraci kako bi se različitim procesima omogućila sigurna komunikacija jedni s drugima, ali i dalje ostali neovisni jedan o drugom. Kroz mehanizme kao što su međuprocesna komunikacija (IPC) i zajednička memorija, procesi mogu razmjenjivati ​​informacije, ali i dalje biti ograničeni na vlastiti memorijski prostor. Ova je funkcionalnost važna kada proces zahtijeva informacije iz različitih procesa upravljanja u vlasništvu operacijskog sustava.

Izolacija procesa važna je softverska i hardverska značajka koja pomaže u omogućavanju nekoliko tehnologija. Poslužitelji virtualnih strojeva rade s naprednim oblikom izolacije procesa koji se temelji na upravljanju hardverom i softverom. Sigurno pokretanje apleta ili drugih skripti s web-mjesta ovisi o tome da je proces izoliran od važnih resursa sustava. Mobilni uređaji i ugrađeni sustavi koriste izolaciju procesa kako bi omogućili da temeljni hardver ostane siguran unatoč pokretanju bilo kakvog neispravnog ili zlonamjernog softvera.