linux その2
2001.12.18

Browserを利用して、あるURLにアクセスし、コンテンツが画面上に表示される までを追っていきます。

  1. URLをKeyboardで打ち込んだとき、Keyboardから押下されたKeyの電気信号が KeyboardのDevice Driverを通して、Kernelに伝えられます。
  2. Kernelはカーソルがある位置をもとにどのApplicationにKeyboardからの 入力信号を伝えるべきかを判定し、BrowserにKeyboardからの入力信号を 伝えます。
  3. Applicationは、Keyboardからの入力信号を受け取り、入力されたURL文字列を 画面に表示することにします。画面に表示する文字列を画面表示を行う Application(or Kernel)に伝えます。
  4. 画面表示を行うApplication(or Kernel)は、Kernel→Device Driver経由で 画面にURLを表示します。
  5. Browserは、URLを解析しNetwork越しに接続するhost、portを決定しKernelに これからNetwork越しの通信を行うことを伝えます。
  6. Kernelは、Network接続の準備を行います。準備が終わったらその旨を Applicationに伝えます。
  7. Browserは、KernelにNetwork越しの通信路を確保することを要求します。
  8. Kernelは、Device Driverを通してModemやNICを操り、Network越しに通信路を 確保し、その状態をApplicationに報告します。
  9. Browserは、Kernelにコンテンツを取得するための通信文を渡します。
  10. Kernelは、Device Driverを通してModemやNICを操り通信文を送信します。 送信が一段落したら、その旨をApplicationに伝えます。
  11. そうこうしていると、Serverからコンテンツが送られてきます。 コンテンツを受信したModemやNICは、その旨をKernelに伝えます。
  12. Kernelは、Device Driver越しにModemやNICが受け取ったコンテンツを 受け取ります。その後、受け取ったportを元にコンテンツを受信するべき Applicationを決定し、Browserにコンテンツが届いたことを知らせます。
  13. コンテンツが届いたことを知ったBrowserは、Kernelに届いたコンテンツを 渡すように要求します。
  14. Kernelは、要求されたコンテンツをApplicationに渡します。
  15. Browserは受け取ったコンテンツを解析し、画面のどの位置になにを 出力するかを決定します。決定した情報を画面表示を行うApplication or Kernelに託します。

この結果、やっとコンテンツが画面に表示されるのです。
本当はまだまだいろいろな処理があります。 PC内で動いているApplicationはBrowser一つではないし、つながっているDeviceも もっとたくさんあります。
ごく簡単な今回の例でもKernelという言葉は、16回も出てくるのですから、 現実に稼動しているPCでは、Kernelはそれこそ引っ切り無しに呼ばれて 仕事をしているのです。 このため、使用しているKernel自体の設計、作り方によって同じPCを用いていても かなりの差が出てきます。

次回は、linuxとWindowsを対比しながら、OSやKernelのさまざま違いによる 性能の差を考えてみます。

Go to previous page Go to next page
Go to Index
Go to Top