Internet Explorer 11 のプロセスの動作について (LCIE)


こんにちは。日本マイクロソフト Internet Explorer サポート チームの片岡です。
本日は、過去のブログ記事のアップデートとして、以下のブログでご紹介した Loosely-Coupled IE (LCIE) という機能の最新情報について、ご紹介させていただきます。

 

IE8 のプロセスモデルについて
https://blogs.technet.microsoft.com/jpieblog/2010/05/10/ie8-3/

 

LCIE とは、IE を単一のプロセスではなく、複数のプロセスで動作させる機能です。
具体的には、IE 外側の枠をつかさどる1つの「フレーム (マネージ) プロセス」とタブやコンテンツ表示等をつかさどる複数の「タブ (コンテンツ) プロセス」で動作します。
詳細は上記のブログ記事をご覧ください。

LCIE の機能は、最新の IE11 では、IE8 と比較して以下の点が異なります。

 

1. 各プロセスの名前
2. 各プロセスが動作する bit 数

 

また併せて、よくお問い合わせをいただく LCIE のセッション管理についても、”3. LCIE 有効時のセッション管理” として、本ブログでご紹介します!

 

1. 各プロセスの名前
====================
LCIE が有効の場合、ウィンドウのアドレス バーやお気に入りバーが表示される部分を処理するフレーム プロセスと、コンテンツが表示される部分を処理するタブ プロセスという 2 種類のプロセスが、各 1 つ以上動作します。
IE10 以降では、それぞれの名称が以下の通り変更となりました。

– フレーム プロセス → マネージ プロセス
– タブ プロセス → コンテンツ プロセス

なお、名称は変更されましたが、各プロセスの役割自体には変更がありませんので、アドレス バーなどの部分を処理するプロセスがマネージ プロセス、コンテンツを表示する部分を処理するプロセスがコンテンツ プロセスとなります。

 

2. 各プロセスが動作する bit 数
====================
IE9 までは、以下の通りフレーム プロセスとタブ プロセスが同じ bit 数で動作しておりました。

– 32 bit OS:フレーム プロセスおよびタブ プロセスがともに 32 bit
– 64 bit OS:フレーム プロセスおよびタブ プロセスがともに 32 bit もしくは 64 bit
※ “C:\Program Files\Internet Explorer\iexplore.exe” を実行すると 64 bit、”C:\Program Files (x86)\Internet Explorer\iexplore.exe” を実行すると 32 bit です。

そのため 64 bit  OS には「64 bit 版の IE」、「32 bit 版の IE」が独立して存在し、スタート メニューには、”Internet Explorer”、”Internet Explorer (64 ビット)” という 2 つの項目がありました。

 

IE10 以降では、64 bit OS の場合には、マネージ プロセスは 64 bit、コンテンツ プロセスは 32 bit で動作するようになりました。(32 bit OS の場合は、両プロセスともに 32 bit で動作します)
“C:\Program Files” 配下の iexplore.exe および “C:\Program Files (x86)” 配下の iexplore.exe のいずれを実行してもこの動作となり、64 bit OS において、マネージ プロセスを 32 bit で動作させる方法はございません。

 

一方、[インターネット オプション] – [詳細設定] タブにある “拡張保護モードで 64 ビット プロセッサを有効にする” の設定を有効とすることで、コンテンツ プロセスが 64 bit で動作します。
上記の設定が有効の場合、保護モードが有効な Web ページを表示する際には、コンテンツ プロセスも 64 bit で動作いたします。

“拡張保護モードで 64 ビット プロセッサを有効にする” の設定については、以下のブログ記事もありますので、併せてご参考ください。

 

IE10 & IE11 : 拡張保護モードの実態
https://blogs.technet.microsoft.com/jpieblog/2013/11/29/ie10-ie11/

 

※ コンテンツ プロセスを 64 bit とした場合の注意事項
コンテンツ プロセスは、Web ページの描画などの処理を担います。そのため、ActiveX を利用する Web ページでは、ActiveX のモジュールもコンテンツ プロセス上にロードされます。
しかし、コンテンツ プロセスを 64 bit とした場合、32 bit のみに対応する ActiveX はロードができず、うまく動作しないというお問い合わせをいただくこともありますので、上記のいずれかの方法でコンテンツの描画を担うプロセスを 64 bit で動作させる場合には、ご注意ください。

 

3. LCIE 有効時のセッション管理
====================
普段ネットショッピングなどを行う際に、ログオンしたあとに別の IE のウィンドウを開いても、ログオン状態が保持されていることがあると思います。
これは、LCIE が有効の場合、同一のマネージ プロセスで管理されているすべてのコンテンツ プロセス間で、「ログオンしている」という情報が共有されているためであり、情報を共有できる単位を “セッション” と呼びます。
ひとつのセッションには、必ずマネージ プロセスがひとつのみ存在し、そのマネージ プロセスが、各コンテンツ プロセスに情報を共有する役割を担います。

共有される情報の代表例は、セッション Cookie (非永続的な Cookie) です。
セッション Cookie は、ローカル ファイルなどに情報が保存されず、コンテンツ プロセスのメモリー上のみに保存されるため、別のプロセスから参照することができず、またプロセスを終了すると情報が消えてしまいます。
上記の「ショッピングサイトにログオンしている」という情報も、一般的にはセッション Cookie で保持されていることが多く、厳密には「セッション Cookie が共有されるので、ログオン状態が保持されている」という状況であり、IE7 以前のバージョンや LCIE が無効な場合には、別ウィンドウを開くと再度ログオンが必要でした。

 

しかし、ウィンドウを起動する度に再度ログオンが必要だと、非常に不便です。
そのため、マネージ プロセスは、ひとつのコンテンツ プロセスのメモリー上のみに保存されるような情報を、複数のコンテンツ プロセス間で共有できる仕組みを取り、別のウィンドウを開いても、ログオン状態が保持されるようになりました。

なお、複数のセッションを起動したい場合には、[ファイル] メニューの [新規セッション] から、起動することが可能です。
このときは、2 つ目のマネージ プロセスが起動される動作となり、既存のマネージ プロセスとは Cookie 情報などが共有されません。

 

以上が、IE11 におけるプロセスの動作のご紹介となります。また IE11 の機能について、続々とご紹介していきたいと思います!


Comments (0)

Skip to main content