SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

翔泳社の本

ITインフラのキホン:3階層型システムを見てみよう【前編】

抄録:『絵で見てわかる ITインフラの仕組み 新装版』


3.2.2 OS カーネルとは?

 OSにとって、カーネルとはその心臓であり、脳であり、脊髄となるものです。カーネルがOSの本質そのものであり、そのほかは豪華なオマケと言っても差し支えありません。カーネル自身が、OSにとっての「インフラ」であるとイメージしてください。

 カーネルの主な役目は多数ありますが、重要なのは「裏で何が起きているかを隠いん蔽ぺいし、便利なインターフェースを提供する」という事実です。カーネルが存在することで、開発者は、ハードウェアの詳細を理解せずとも、またほかのアプリケーションへの影響を深く意識せずとも、アプリケーションを作ることが可能となります。

 OSとしての処理は、原則的にカーネルを通じて行なわれます。カーネルの役割は多岐にわたりますが、図3.5に6つの機能を挙げました。本章では、そのうちの5つ(1、2、3、5、6)をピックアップしてご紹介します(最後の1つ「(4)ネットワークスタック」は第6章で取り上げます)。

図3.5 カーネルの6つの役割
図3.5 カーネルの6つの役割

 (1)システムコールインターフェース

 プロセス/スレッドからカーネルへのインターフェースです。アプリケーションがOSを通じて何かを行ないたいときは、システムコールと呼ばれる命令を利用することで、本インターフェースを通じて、カーネルに対して命令を出します。銀行や役所の、受付窓口をイメージすると良いかもしれません。

 たとえばディスク上のデータを読み書きしたい場合や、ネットワーク通信を行ないたい場合、新しいプロセスを生成したい場合など、該当するシステムコールを呼び出せば、その機能を利用できます。その裏で具体的に何が行なわれているか、 プロセスは意識する必要がありません。

 図3.6のように、ディスクアクセスもネットワークリクエストも、プロセスから見た場合、カーネルに対するシステムコールという観点では差がありません。

図3.6 ディスクI/OもネットワークI/Oもシステムコール
図3.6 ディスクI/OもネットワークI/Oもシステムコール

 (2)プロセス管理

 プロセスを管理します。OS上では数十、数百、数千といった数のプロセスが稼働することができます。それに比べて、物理サーバーでのCPUコア数は、多くても数十といった数しかありません。いつ、どのプロセスが、どれだけCPUコアを利用できるのか、処理優先度をどうつけるか、そういったことを管理するのが本機能の役割です。

 たとえば、遠足における引率の先生のようなイメージです。「はい、みんな並んでー」「男子と女子は交互に座ってー」などです。この機能がない場合、そもそもOSが成り立たないので、OSにとって最も重要な機能と言えます。

 (3)メモリ管理

 メモリ領域を管理します。プロセス管理はCPUコアを考慮しましたが、メモリ管理では物理メモリ空間の上限を考慮します。プロセスが利用する独立したメモリ空間を確保したり、お互いが参照すべきでない領域を守るための独立性を管理したりするのも、メモリ管理機能の役目となります。

 この機能がない場合、各プロセスは自分以外のプロセスが利用しているメモリ領域の範囲も把握する必要があり、そのハードウェアの神でもない限り、アプリケーション開発が非常に難しいものとなります。

 (4)ネットワークスタック

 ネットワークについては、第6章でより詳しく説明します。

 (5)ファイルシステム管理

 これはファイルシステムへのインターフェースを提供します。図3.7をご覧ください。

図3.7 プロセスから見たファイルシステム
図3.7 プロセスから見たファイルシステム

 ファイルシステムとは、OSの機能の1つとして提供され、物理ディスクに格納されたデータを管理する機能を指します。

 皆さんが普段利用する「文書ファイル」や「表計算ファイル」がファイルです。物理ディスクに書き込まれているデータはただの「01011110…」などといった数値の集まりであり、区切りなどもなく、そのままでは非常に扱いにくいものです。ファイルシステムがあるおかげで、アプリケーションは「ファイル」という単位でデータを作成したり、更新したり、削除したりできるようになります。

 管理機能には主に、ディレクトリ(フォルダ)構造の提供、アクセス管理、高速化、耐障害性の向上が含まれます。

 (6)デバイスドライバー

 ディスクやNICなどの物理機器とのインターフェースを提供します。たとえばディスクやNICは、多数のベンダーが独自の製品を提供しています。

 それぞれに対応したアプリケーションを作成することは現実的ではないため、カーネルはデバイスドライバーを利用し、その下にある物理デバイスを隠蔽する役目を果たします。各機器のベンダーが、OSに対応したデバイスドライバーを用意し、そのOSの標準的なデバイスとしてカーネル経由で利用できるようにします。

絵で見てわかるITインフラの仕組み 新装版

Amazon  SEshop  その他


絵で見てわかるITインフラの仕組み 新装版

著者:山崎 泰史、三縄 慶子、畔勝 洋平、佐藤 貴彦 著、小田 圭二 監修
発売日:2019年06月19日
価格:2,618円(税込)

本書について

本書では、普遍的な常識をもとに、ITインフラという領域全体を、ミクロ、マクロの視点で、わかりやすいように絵(図)で説明します。ITインフラの常識(=勘所)をつかむことで、よりITシステムに対する理解が深まり、専門外または新しい技術に出会ったときにその本質を理解するための基礎力が身につくはずです。

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
関連リンク
翔泳社の本連載記事一覧

もっと読む

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/13391 2020/11/19 17:48

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング