IE8과 Loosely-Coupled IE (LCIE)


이 글은 Internet Explorer 개발 팀 블로그 (영어)의 번역 문서입니다. 이 글에 포함된 정보는 Internet Explorer 개발 팀 블로그 (영어)가 생성된 시점의 내용으로, 제품의 사양이나 기능이 보장되는 것은 아닙니다. 이 글에 포함된 정보의 이용은 사용 조건을 참조해 주세요. 또, 이 글 게재 시점에서 Internet Explorer 개발 팀 블로그 (영어)의 내용이 변경 될 수 도 있습니다. 최신 정보는 Internet Explorer 개발 팀 블로그 (영어)를 참조하십시오.

영문 원본 : IE8 and Loosely-Coupled IE (LCIE)


업데이트 일자: 2008 년 3 월 12 일

 

 

안녕하세요? Internet Explore Foundation 팀의 프로그램 관리자 Andy Zeigler 입니다. 새로운 IE8 기능인 Loosely-Coupled IE ( LCIE) 를  설명하겠습니다.

기본적으로 LCIE 는 브라우저의 안정성, 성능 및 확장성을 개선하는 Internet Explorer 내부 아키텍처 변경을 종합한 것입니다. 또, 보안이나 사용성을 포함한 다른 영역의 향후 개선을 위한 포석이기도 합니다. 따라서 우리는 브라우저 프레임과 탭을 분리하여, 구성요소 사이의 비동기통신을 사용할 수 있도록 변경했습니다.

이 글에서는 IE8 Beta 1 에 추가된 변경 사항을 순서대로 설명하겠습니다. .

컴퓨터는 모든 종류의 소프트웨어가 프리로드 된 상태로 출시됩니다. 프리로드 된 소프트웨어의 상당수는 유용하고 제대로 작동하지만,  IE 의 애드온을 포함한 몇가지 작업이 중단되거나 브라우징 경험을 방해할 가능성이 있습니다. Internet Explorer 의 타사 애드온은 COM 기반으로, 개발자는 고성능의 강력한 기능을 가진 애드온을 생성할 수 있습니다. 이것은 IE 와 실행중의 애드온은 같은 프로세스와 메모리 주소 공간을 공유하고 있다는 의미입니다. 그래서, 애드온이 중단되면, 브라우저 전체가 중단됩니다. Windows 오류 보고 데이터를 분석해보니, IE 행이나 작업 중단 원인의 70% 이상은 타사의 애드온에 의한 것이었습니다. 우리는 설치 비율이 높은 애드온 공급업체와 협력하여, 애드온 품질 향상에 주력을 다하고 있습니다. 하지만, 이용할 수 있는 애드온의 수가 많기 때문에, 모든 개발자에 협력하는 것은 현실적으로 어려움이 있습니다.

IE 프로세스 모델

LCIE에서의 실시 내용 일부는 프레임을 탭에서 분리하여, 보다 자율적으로 기능할 수 있도록 했습니다. 변화를 주기 위해, IE7 프로세스 모델을 조금 단순화한 그림을 보여줍니다.

cc787974.IE_Process_Model3(ja-jp,MSDN.10)

IE7 모델에서는 각 검색 창 (UI 프레임)은 일반적으로, 독자적인 프로세스를 가지고 있지만 몇 가지 예외가 있습니다. 예를 들어, ctrl 키를 입력하면서 n 키를 입력하여 새로운 창을 여는 경우, IE 는 동일 프로세스 안에 신규 UI 프레임을 생성합니다. 탭, 도구 막대 확장기능, 브라우저 도우미 개체 및 ActiveX 컨트롤은 모두 검색 창과 동일 프로세스에 있습니다. 이 모델의 문제는 액세스 위반, 스택 오버플로우, 그 외의 장애가 하나만 발생해도 브라우저 전체 및 모든 탭이 중단됩니다.

다음에 보여주는 이 프로세스 모델은 IE8 에서 어떻게 변경되었는지 보여주는 그림입니다.

cc787974.IE8_Process_Model2(ja-jp,MSDN.10)

주목할 만한 몇 가지 변화는 다음과 같습니다. 

  • 탭은 프레임에서 분리되어 독립된 프로세스에 존재

IE 는 탭 프로세스에서 발생하는 많은 장애를 분리 가능하여, 다른 브라우징 세션에게 주는 악영향을 줄일 수 있습니다.

  • 프레임과 브로커 개체는 동일한 프로세스 내에 존재

시작 성능이 향상된 브로커 개체는 URL 를 검사하여, 보호 모드에서 로드해야 할지 결정하여, IE 를 적절한 유효성 검사 수준에서 실행합니다. 브라우저 외의 개체를 로드하기 전에, 보호 모드 브로커 개체의 시작 프로세스를  더 이상 기다릴 필요가 없습니다.

  • 저/중간 유효성 검사 탭은 동일 UI프레임에 존재 가능

Windows 통합 메커니즘은 프로세스 단위로 동작합니다. 탭을 그 탭 자신의 프로세스에 둘 수 있기 때문에, 탭 마다 보호 모드를 온/오프로 할 수 있습니다. 이것은 사용성면에서 크게 개선된 점으로, 이제 사이트를 표시할 경우에 보호 모드의 온/오프 마다 다른 검색 창을 시작할 필요가 없습니다.

LCIE 동작 보기

이것들은 모두 내부 아키텍처의 변화이지만,  그 효과는 몇가지 방법으로 볼 수 있습니다.

예를 들어 보겠습니다. Windows Vista 가 동작하고 있는 컴퓨터에서 Internet Explorer 를 열어, 웹 사이트를 몇 개 참조한 후, 하드 디스크에서 HTML 페이지를 엽니다. 그 페이지가 기존의 탭에 나란히, 동일한 윈도우의 탭에서 열리는 것을 잘 봐주세요. 기존에는「Internet Explorer 는 이 웹 페이지를 신규 창에 표시해야 합니다」라는 대화상자를 보여주었습니다. 이것은 인터넷 파일은 보호 모드에서 실행해야 하는 한편, 로컬파일은 보호 모드 외에서 열어야 하기 때문에, 단일 프로세스는 1 개의 유효성 검사 수준에 관해서만 실행할 수 있었습니다. LCIE에서는 단순하게 두가지 탭 프로세스를 하나는  인터넷 파일용의 보호 모드이며, 다른 하나는 로컬파일용으로 보호 모드를 오프에서 생성합니다. 앞에서 말한 대화상자는 더 이상 표시되지 않습니다.

IE8 에는 Automatic Crash Recovery 라 불리는 새로운 기능도 있습니다. 이것은 탭 분리를 이용하여, 매우 새롭고 흥미로운 방법으로 중단에서 회복하는 기능입니다. 이 새로운 기능에 대해서도 곧 글을 쓸 예정입니다.

감사합니다.

Andy Zeigler
프로그램 관리자

편집 : 첫번째 이미지 업데이트.「LCIE  동작 살펴보기」설명 추가.