경계: 프로세스 및 응용 프로그램 도메인
현대의 운영 체제와 런타임 환경에서는 개별 응용 프로그램을 다른 응용 프로그램의 오류로부터 보호해야 합니다. 이 보호 메커니즘은 프로세스와 응용 프로그램 도메인을 사용하여 구현됩니다.
프로세스
Microsoft Windows 운영 체제에서는 각 응용 프로그램을 해당 응용 프로그램 고유의 프로세스에서 실행하는 방법으로 응용 프로그램을 보호합니다. 특정 원인으로 응용 프로그램에 오류가 발생하면 해당 프로세스만 영향을 받고 다른 프로세스에 있는 응용 프로그램은 계속 실행됩니다. 물론 한 프로세스의 메모리 주소는 다른 프로세스에서는 의미가 없으므로 한 프로세스의 함수를 다른 프로세스에서 호출하는 것은 다소 복잡할 수 있습니다. 마샬링은 호출 및 인수를 하나의 프로세스에서 패키지로 만든 후 다른 프로세스에서 이 패키지를 풀어 프로세스 경계를 넘는 호출이 올바르게 실행될 수 있도록 하는 이벤트를 지칭합니다.
응용 프로그램 도메인
관리되는 환경에서 일종의 논리적 프로세스 역할을 수행하는 응용 프로그램 도메인과 컨텍스트를 사용하는 경우, 적은 비용으로 운영 체제 프로세스보다 확장성이 좋은 격리 및 보안 기능을 구현할 수 있습니다. 이는 무엇보다 관리 코드의 형식 안전성이 뛰어나기 때문입니다. 모든 관리되는 응용 프로그램은 응용 프로그램 도메인에서 실행됩니다. 이 때 응용 프로그램 도메인은 다른 응용 프로그램에서 자체적으로 사용하기 위해 시작한 것일 수도 있고, 호스트 환경에서 사용하기 위해 시작한 것일 수도 있습니다. .NET Remoting을 사용하면 보안 기술의 보호를 받는 명확한 방법으로 응용 프로그램 도메인 간에서 통신할 수 있는 인프라를 얻을 수 있습니다.