Izolacja procesu

Izolacja procesów to zestaw różnych technologii sprzętowych i programowych zaprojektowanych w celu ochrony każdego procesu przed innymi procesami w systemie operacyjnym . Robi to, uniemożliwiając procesowi A zapisywanie do procesu B.

Izolację procesów można zaimplementować za pomocą wirtualnej przestrzeni adresowej , w której przestrzeń adresowa procesu A różni się od przestrzeni adresowej procesu B – uniemożliwiając A zapis na B.

Bezpieczeństwo jest łatwiejsze do wyegzekwowania poprzez uniemożliwienie dostępu do pamięci międzyprocesowej, w przeciwieństwie do mniej bezpiecznych architektur, takich jak DOS , w których każdy proces może zapisywać w dowolnej pamięci w dowolnym innym procesie.

Ograniczona komunikacja między procesami

W systemie z izolacją procesów ograniczona (kontrolowana) interakcja między procesami może być nadal dozwolona za pośrednictwem kanałów komunikacji międzyprocesowej (IPC), takich jak pamięć współdzielona , ​​gniazda lokalne lub gniazda internetowe . W tym schemacie cała pamięć procesu jest odizolowana od innych procesów, z wyjątkiem sytuacji, gdy proces zezwala na wprowadzanie danych przez procesy współpracujące.

Zasady systemowe mogą uniemożliwić IPC w pewnych okolicznościach. Na przykład w obowiązkowych systemach kontroli dostępu osoby o różnych poziomach czułości mogą nie mieć możliwości komunikowania się ze sobą. Konsekwencje dla bezpieczeństwa w tych okolicznościach obejmują szerokie zastosowania w systematyce szyfrowania kluczy sieciowych, a także rozproszone algorytmy buforowania. Podobnie wpływa to na protokoły zdefiniowane przez interfejs, takie jak podstawowa architektura dostępu do chmury i udostępnianie sieci.

System operacyjny

Wybitne systemy operacyjne obsługujące izolację procesów:

Przeglądarki internetowe

Internet Explorer 4 wykorzystywał izolację procesów, aby umożliwić osobnym oknom instancjom przeglądarki własne procesy; jednak u szczytu wojen przeglądarek zostało to porzucone w kolejnych wersjach, aby konkurować z Netscape Navigator (który starał się skoncentrować na jednym procesie dla całego pakietu internetowego). Ta idea procesu na instancję nie została ponownie rozpatrzona aż do dekady później, kiedy przeglądanie w kartach stało się bardziej powszechne.

W „ Multi-Process Architecture ” Google Chrome i „ Loosely Coupled IE (LCIE) Internet Explorera 8 zakładki zawierające strony internetowe są zawarte w ich własnych częściowo oddzielnych procesach na poziomie systemu operacyjnego, które są odizolowane od podstawowego procesu przeglądarki tak, aby awaria jednej karty/strony nie spowodowała awarii całej przeglądarki. Ta metoda (znana popularnie jako multiprocess lub process-per-tab ) ma na celu zarówno zarządzanie pamięcią, jak i przetwarzaniem, umożliwiając awarię obraźliwych kart niezależnie od przeglądarki i innych kart oraz zarządzanie bezpieczeństwem.

Przeglądarki z izolacją procesów

Języki programowania

Erlang (język programowania) zapewnia podobną koncepcję w przestrzeni użytkownika, realizując ściśle oddzielone lekkie procesy.

Powiązane technologie

Zobacz też