オペレーティング システムについて:コンピューターを動かすコア ソフトウェア
投稿者
- Mary E. Shacklett、トランスワールド データ
- Stephen J. Bigelow、シニア テクノロジー エディター
発行日:2024 年 10 月 31 日
オペレーティング システム (OS) は、ブート プログラムによって最初にコンピュータにロードされた後、コンピュータ内の他のすべてのアプリケーション プログラムを管理するプログラムです。アプリケーション プログラムは、定義されたアプリケーション プログラム インターフェイス (API) を通じてサービスを要求することによって OS を使用します。さらに、ユーザーは、コマンドライン インターフェイス (CLI) やグラフィカル ユーザー インターフェイス (GUI) などのユーザー インターフェイス (UI) を通じて、オペレーティング システムと直接対話できます。
オペレーティング システムは、コンピュータ ソフトウェアとソフトウェア開発に強力なメリットをもたらします。コンピューターを実行するために特別に設計されたシステム ソフトウェアであるオペレーティング システムがなければ、すべてのアプリケーションに独自の UI と、ディスク ストレージやネットワーク インターフェイスなど、基盤となるコンピューターのシステム ソフトウェアのすべての低レベル機能を処理するために必要な包括的なコードを含める必要があります。利用可能な基盤となるハードウェアの膨大な数と、コンピュータ機能をサポートするためにシステム ソフトウェア レベルで実行する必要があるソフトウェア ルーチンの数を考慮すると、すべてのアプリケーションのサイズが肥大化し、ソフトウェア開発が非現実的になります。
代わりに、OS は、ネットワーク パケットの送信やディスプレイなどの標準出力デバイスへのテキストの表示など、多くのシステム レベルのソフトウェア タスクを処理します。システム ソフトウェアは、アプリケーションと、基礎となるコンピューターおよびハードウェア機能の間の仲介者として機能します。 OS は、アプリケーションが詳細を知らなくても、ハードウェアや他のシステム レベルの機能と対話するための一貫した反復可能な方法を提供します。
各アプリケーションが同じリソースとサービスに同じ方法でアクセスする場合、OS、および OS と連携する基盤となるシステム ソフトウェアは、ほぼ任意の数のアプリケーションにサービスを提供できます。これにより、アプリケーションの開発とデバッグに必要な時間とコーディングの量が大幅に削減されると同時に、ユーザーはよく理解された共通の OS インターフェイスを通じてシステム ソフトウェアとハードウェアを制御、構成、管理できるようになります。
オペレーティング システムはどのように動作しますか?
オペレーティング システムがインストールされると、デバイス ドライバーの大規模なライブラリに依存して、そのサービスを特定のハードウェア環境に合わせて調整します。たとえば、すべてのアプリケーションがストレージ デバイスに対して共通の呼び出しを行うことができます。 OS はその呼び出しを受信し、対応するドライバーを使用して、その呼び出しを、その特定のコンピューター上の基盤となるハードウェアに必要なアクションまたはコマンドに変換します。オペレーティング システムは、以下を識別、設定、管理する包括的なプラットフォームを提供します。
- プロセッサを含むさまざまなハードウェア
- メモリ デバイスとコンピュータのメモリ管理
- チップセット。
- ストレージ。
- ネットワーキング。
- ビデオ グラフィック アレイ、高解像度マルチメディア インターフェイス、ユニバーサル シリアル バス(USB)などのポート通信インターフェイス
- Peripheral Component Interconnect Express などのサブシステム インターフェース
オペレーティング システムの機能は何ですか?
すべての主要なコンピュータ プラットフォーム (ハードウェアとソフトウェアの両方) には、通常、OS が必要であり、さまざまなデバイス フォーム ファクタの特定のニーズを満たすために、さまざまな機能を備えて開発する必要があります。
エンド ユーザーの観点から見ると、オペレーティング システムは次の 3 つの重要な機能を提供します。
<オル>ユーザー インターフェース
ユーザーは、システム機能をトリガーしてアプリケーションを起動するアイコンを含むポイント アンド クリックのビジュアル画面である GUI、データ入力用の 1 つのコマンド ラインで構成される CLI、またはその両方を通じてコンピュータと対話して作業を行うことができます。
OS のアーキテクチャ。 アプリケーション管理
オペレーティング システムは、すべてのアプリケーションの起動と管理を処理し、次の機能をサポートします。
- 複数のプロセスまたはスレッドをタイムシェアリングし、さまざまなタスクが利用可能なプロセッサのリソースを共有できるようにする
- プロセッサの即時の注意を引くためにアプリケーションが発生する中断を管理し、他のプロセスを妨げることなくアプリケーションとそれに対応するデータを実行するのに十分なメモリを確保する
- アプリケーションのプロセスを削除できるエラー処理を実行します。
- 他のアプリケーションや OS を中断することなくメモリ管理を実行します。
ハードウェアのプロビジョニングと実行
オペレーティング システムは、低レベルの OS やハードウェアの状態について何も知らなくても、アプリケーションが OS やハードウェアの機能を使用できるようにする API をサポートすることもできます。たとえば、Windows API を使用すると、プログラムがキーボードやマウスから入力を取得できるようになります。ダイアログ ウィンドウやボタンなどの GUI 要素を作成します。ストレージ デバイスへのファイルの読み取りと書き込みを行います。アプリケーションは、ほとんどの場合、アプリケーションが実行される OS システムを使用するように調整されています。
プロセスのスケジュール設定と優先順位付け
複数のプログラムを同時に実行できるマルチタスク オペレーティング システムでは、OS がアプリケーションを実行する順序と、別のアプリケーションに順番を与える前に各アプリケーションにどれだけの時間を与えるかを決定します。たとえば、OS は、大規模な印刷タスクなどのバッチ ジョブを、後でリソースが空いたときに実行するようにスケジュールできるかどうかを判断できます。
並列処理
並列処理が可能なコンピュータでは、OS がプログラムを分割して、一度に複数のプロセッサで実行できるように管理します。
ファイル管理
ユーザーのリクエスト、IT ルールセット、またはデフォルト設定ごとに、オペレーティング システムがファイルとディレクトリの作成、アクセス、変更、削除を管理します。
ネットワーキング
OS はユーザーに対して透過的で、ネットワーク プロトコルを解読してネットワークに接続することにより、ワークステーションをネットワーク全体のリソースに自動的に接続します。これにより、単一のユーザーが、ネットワーク上でホストされているネットワーク プリンターやサーバーにアクセスできるようになります。
セキュリティ
IT 部門によって定義および承認されたポリシーを使用して、OS はユーザー、アプリケーション、データのセキュリティ アクセス制御と暗号化を強制します。
パフォーマンスの監視とエラー検出
OS はコンピュータのパフォーマンスを継続的に監視し、最適なパフォーマンスを実現するための微調整や、リソース使用率、パフォーマンスの低下やボトルネック、エラー解決に関する問題の解決に役立つシステム ログを生成します。
バックアップとリカバリ
データは、日中、毎晩、毎週、または定義された任意の頻度で定期的にバックアップできます。 OS は、ユーザーや IT 部門の支援なしで、これらのバックアップを自動的に実行できます。データの停止やシステム障害が発生した場合、最新のバックアップからデータを簡単に復元できます。
仮想化
ほとんどの OS では、単一の物理ワークステーション上で各 OS を他の OS から分離するソフトウェアで作成されたパーティションを使用することにより、ユーザーが互いに独立して実行される複数のオペレーティング システムを定義できます。これにより、ユーザーは、それぞれ独自の専用 OS を備えた複数のアプリケーションを 1 台のワークステーション上で同時に実行して、パフォーマンスを最適化することができます。
デバイス管理
オペレーティング システムは、プリンター、キーボード、その他のコンピューター ハードウェア デバイスなどの基礎となる入出力デバイスを識別、構成し、アプリケーションに共通のアクセスを提供します。 OS はハードウェアを認識して識別すると、対応するデバイス ドライバーとインターフェイスをインストールし、OS と OS 上で実行されるアプリケーションがデバイスを使用できるようにします。
オペレーティング システムは正しいプリンタを識別し、適切なプリンタ ドライバをインストールします。これにより、アプリケーションはプリンタに固有のコードやコマンドを使用することなく、プリンタを呼び出すだけで済みます。このプロセスは、次のような他のデバイスでも同様です。
- USB ポート。
- ネットワークポート。
- グラフィックス プロセッシング ユニットなどのグラフィックス デバイス
- マザーボードのチップセット。
- シリアル接続 SCSI ディスク アダプタや、適切なファイル システムでフォーマットされたディスクなどのストレージ デバイス
OS は、サービス用の物理デバイスと論理デバイスを識別して構成し、通常はそれらを Windows レジストリなどの標準化された構造に記録します。デバイスのメーカーは定期的にドライバーにパッチを適用して更新し、最適なデバイスのパフォーマンスとセキュリティを確保するために OS もドライバーを更新する必要があります。デバイスが交換されると、OS は新しいドライバーもインストールして構成します。
オペレーティング システムの種類と例
オペレーティング システムの基本的な役割は遍在していますが、次のような幅広いハードウェアとユーザーのニーズに応えるオペレーティング システムが無数にあります。
汎用オペレーティング システム
汎用 OS は、幅広いハードウェア上で多数のアプリケーションを実行できるため、ユーザーは 1 つ以上のアプリケーションまたはタスクを同時に実行できます。汎用 OS は、さまざまなデスクトップおよびラップトップ モデルにインストールでき、会計システムからデータベース、Web ブラウザ、ゲームに至るまでのアプリケーションを実行できます。汎用 OS は通常、アプリケーションが存在する幅広いコンピューティング ハードウェアを確実に共有できるようにするために、プロセス、スレッド、およびハードウェアの管理に重点を置いています。
一般的なデスクトップ オペレーティング システムには次のものがあります。
- Microsoft の主力オペレーティング システムである Windows は、家庭用およびビジネス用コンピュータの事実上の標準です。 Microsoft Windows GUI ベースの OS は 1985 年に導入され、それ以来さまざまなバージョンがリリースされてきました。パーソナル コンピューティングの急速な発展には、ユーザー フレンドリーな Windows 95 が大きく貢献しました。
- Mac OS は、Apple の一連の PC およびワークステーション用のオペレーティング システムです。
- Unix は、柔軟性と適応性を考慮して設計されたマルチユーザー オペレーティング システムです。 Unix は 1970 年代に開発され、C 言語で書かれた最初の OS の 1 つです。
- Linux は、オープンソース コミュニティが提供する Unix に似たオペレーティング システムで、PC ユーザーに無料または低コストの OS の代替手段を提供するように設計されています。 Linux は効率的で高速な OS として定評があります。
モバイル オペレーティング システム
モバイル オペレーティング コンピュータ システムは、モバイル コンピューティングおよびスマートフォンやタブレットなどの通信中心のデバイス向けに設計されています。通常、モバイル デバイスが提供するコンピューティング リソースは従来の PC に比べて限られており、デバイス上で実行される 1 つ以上のアプリケーションに十分なリソースを確保しながら、OS 自体のリソース使用を最小限に抑えるために、OS のサイズと複雑さを縮小する必要があります。モバイル オペレーティング システムは、効率的なパフォーマンス、ユーザーの応答性、およびメディア ストリーミングのサポートなどのデータ処理タスクに細心の注意を払う傾向があります。 Apple iOS と Android は、モバイル オペレーティング システムの例です。
組み込みオペレーティング システム
すべてのコンピューティング デバイスが汎用であるわけではありません。家庭用デジタル アシスタント、現金自動預け払い機、航空機システム、小売店の POS 端末、IoT デバイスなどの膨大な種類の専用デバイスは、よりカスタマイズされ「スリム化された」オペレーティング システムを使用しています。組み込み OS と汎用 OS の主な違いは、組み込み OS が組み込まれているデバイスが実行する主要な機能が 1 つだけであるため、OS は大幅に機能が削減され、パフォーマンスと回復力の両方に特化していることです。組み込み OS は、クラッシュせずに高速に実行され、あらゆる状況で動作を継続できるようにすべてのエラーを適切に処理する必要があります。多くの場合、OSは実機に組み込まれるチップ上で提供されます。たとえば、患者の生命維持装置に使用される医療機器には、患者の生命を維持するために確実に実行される必要がある組み込み OS が採用されています。組み込み Linux は組み込み OS の一例です。
ネットワーク オペレーティング システム
ネットワーク オペレーティング システム (NOS) は、ローカル エリア ネットワーク上で動作するデバイス間の通信を容易にすることを目的とした別の特殊な OS です。 NOS は、ネットワーク プロトコルを理解してネットワーク パケットを作成、交換、分解するために必要な通信スタックを提供します。現在、他の OS がネットワーク通信を処理するため、特殊な NOS の概念はほとんど時代遅れになっています。たとえば、Windows 10 と Windows Server 2019 には、包括的なネットワーク機能が含まれています。 NOS の概念は、ルーター、スイッチ、ファイアウォールなどの一部のネットワーキング デバイスに今でも使用されており、メーカーは Cisco インターネットワーク オペレーティング システムや MikroTik のオープンソース NOS RouterOS などの独自の NOS を採用しています。
リアルタイム オペレーティング システム
一定かつ反復可能な時間制約内でコンピューティング デバイスが現実世界と対話する必要がある場合、デバイス メーカーはリアルタイム オペレーティング システム (RTOS) の使用を選択することがあります。たとえば、産業用制御システムは、広大な工場や発電所の動作を制御する場合があります。このような施設は、無数のセンサーから信号を生成し、バルブ、アクチュエーター、モーター、その他無数のデバイスを動作させるための信号を送信します。このような状況では、産業用制御システムは、現実世界の状況の変化に迅速かつ予測どおりに対応する必要があります。そうでないと、災害が発生する可能性があります。 RTOS は、バッファリング、処理遅延、その他の遅延なしに機能する必要がありますが、これは他の種類のオペレーティング システムでは完全に許容されます。 RTOS の例には、FreeRTOS や Wind River VxWorks などがあります。
オペレーティング システムの種類間の違いは絶対的なものではなく、一部の OS は他の OS の特性を共有する場合があります。たとえば、汎用 OS には通常、従来の NOS にあるネットワーク機能が組み込まれています。同様に、組み込みオペレーティング システムには通常、RTOS の属性が含まれていますが、モバイル オペレーティング システムは通常、他の汎用 OS と同様に多数のアプリを同時に実行できます。
分散オペレーティング システム
ネットワーク上にインストールされた分散 OS は、多数のワークステーション、特に常駐アプリケーションやデータがほとんどまたはまったくないシンクライアント コンピュータにサービスを提供できます。複数のユーザーが、これらの大規模な分散ネットワーク サーバー上でホストされているアプリケーションとリソースにアクセスして共有し、これらのサーバー上の OS が複数のユーザー ワークステーションからのアクセス要求とリソース消費を管理します。分散 OS の例としては、Microsoft Windows Server や、サーバー用のオープンソース Linux のさまざまなディストリビューションが挙げられます。
クラスタ オペレーティング システム
クラスター オペレーティング システムは、単一システム上で連携して動作するコンピューターのクラスターを実行するように設計された OS です。人工知能処理は、データの高速、同時、並列処理を必要とするため、クラスター コンピューティングの代表的な例です。仲介システムなど、数千のトランザクションを同時にリアルタイムで処理する必要がある高性能コンピューティング システムも、クラスター コンピューティングの使用例です。 Rocks Cluster Distribution とオープンソース Open MPI は、クラスター コンピューティング OS の 2 つの例です。
続きを読む オペレーティング システム (OS) とは何ですか?
- オペレーティング システムの変更を検討しているデータセンターへのアドバイス
- Windows 11 はついに普及の準備が整ったのでしょうか?
- メインフレームのスキルは限界に達しています。部外者と内部者の視点
- Windows 11 アップグレード プロジェクトを計画する方法
- Windows 10 のサポート終了はいつですか?サポートを延長する方法
-
DistroTestを使用してインストールせずにLinuxディストリビューションをテストする方法
インストールせずにシステムでLinuxディストリビューションを試してみませんか? Linuxベースのオペレーティングシステムをインターネットブラウザで実行できるようにするいくつかのWebサイトがインターネット上で利用可能です。 DistroTestは、システムを完全に制御できるため、群を抜いて最も優れたプラットフォームです。このようにして、コンピュータにインストールしなくても、ニーズに最も適したディストリビューションを簡単に選択できます。 DistroTestは何をしますか? リモートデスクトップコントロールについて聞いたことがあると思います。これにより、システムのデスクトップをデバイス
-
Raspberry PiをデスクトップPCとして使用する:1週間後に学んだ7つのこと
Raspberry Piは素晴らしい小さなコンピューターですが、標準のオフィスや学校のデスクトップの代わりに使用できますか?最近のTwitter交換(Piの力の価値を称賛した)で考えさせられたので、私の理論を試してみることにしました。 次の7日間は、RaspberryPiのみを使用しています。私が1週間にわたって作成および編集するすべての作業は、オフィスのPCを装ったクレジットカードサイズのコンピューターで行われます。 Raspberry PiはデスクトップPCとして機能しますか? 最近、Twitterで、学校に最新のコンピューター機器がないことについての会話を見つけました。 今、あな