Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

Linux概要 - オペレーティングシステムの基本概念(1)

Last updated at Posted at 2025-02-24

オペレーティングシステムの基本概念

すべてのコンピュータシステムには、「オペレーティングシステム(Operating System)」と呼ばれる基礎的なプログラムの集合があります。その中でも最も重要なプログラムが「カーネル(Kernel)」です。

カーネルは、システムの起動時にRAMへ読み込まれます。

カーネルは、システムの基本的な構造や機能を決定する重要な要素です。

ここでは、多くの場合「オペレーティングシステム」という用語を「カーネル」と同じ意味で使用します。

オペレーティングシステムには、次の2つの重要な役割があります。

  • ハードウェアプラットフォームの一部である低レベルのプログラマブルなハードウェアを制御すること
  • コンピュータシステム上で動作するアプリケーション(いわゆるユーザープログラム)に実行環境を提供すること

オペレーティングシステムの中には、すべてのユーザープログラムにハードウェアへの直接アクセスを許可するものもあります。典型的な例として、MS-DOSが挙げられます。一方、UNIX系のオペレーティングシステムでは、アプリケーションからコンピュータの物理的な構成や低レベルの詳細を完全に隠蔽します。プログラムがハードウェア資源を利用する際は、オペレーティングシステムを介して要求を発行しなければなりません。この要求はカーネルによって処理され、許可された場合に限り、カーネルがユーザープログラムに代わってハードウェアを操作します。

近代的なオペレーティングシステムは、この仕組みを実現するために、ハードウェアが提供する特定の機能を活用しています。これにより、ユーザープログラムがハードウェアを直接制御したり、許可なく任意のメモリ領域へアクセスしたりすることを防ぎます。

具体的には、CPUには少なくとも2つの異なる実行モードが備わっています。1つはユーザープログラムが動作する「非特権モード」、もう1つはカーネルが動作する「特権モード」です。UNIX系のオペレーティングシステムでは、それぞれ「ユーザモード」と「カーネルモード」と呼ばれています。この仕組みにより、システムの安全性と安定性が確保されています。

マルチユーザシステム

マルチユーザシステムとは?

マルチユーザシステムとは、複数のユーザが同時に独立したアプリケーションを実行できるコンピュータのことです。「並行して実行できる」とは、複数のアプリケーションが同時に動作状態になり、CPU・メモリ・ディスクなどのシステム資源を共有しながら処理を進められることを意味します。「独立して実行できる」とは、各アプリケーションが他のアプリケーションの影響を受けずに処理を進められることを指します。

ただし、複数のアプリケーションが同じシステム資源を共有するため、あるアプリケーションが動作している間に別のアプリケーションへ切り替わることで、全体の処理速度が低下し、ユーザの応答時間に影響を与えます。近代的なオペレーティングシステムが複雑化しているのは、この遅延を最小限に抑え、可能な限り高い応答性を提供するためです。

マルチユーザシステムに必要な機能

マルチユーザシステムには、以下のような機能が求められます。

認証機構 ユーザIDを確認し、正当なユーザのみがシステムを利用できるようにする。
保護機構(アプリケーションの安定性確保) バグを含むユーザプログラムが、他のアプリケーションの動作を妨げるのを防ぐ。
保護機構(セキュリティ対策) 悪意のあるプログラムによる他のユーザの処理への干渉や盗み見を防ぐ。
アカウンティング機構 各ユーザに割り当てるシステム資源の使用量を制限し、過剰な利用を防ぐ。

ハードウェアによる保護の重要性

オペレーティングシステムがこれらの保護機構を安全に実現するには、ハードウェアの支援が不可欠です。特に、CPUの特権モードを利用することで、ユーザプログラムがシステムの重要な機能へ直接アクセスし、不正に制限を超えることを防ぎます。

UNIXは、このようなハードウェアの保護機構を活用してシステム資源を管理する代表的なマルチユーザシステムです。

次の記事へ

前の記事へ

一覧へ戻る

免責事項
本記事は、筆者の理解に基づいて執筆したものです。正確性には十分配慮していますが、内容の誤りや最新の情報と異なる可能性があります。
本記事の内容を参考にしたことによるいかなる損害についても、筆者は責任を負いかねますのでご了承ください。
正確な情報や書籍に書かれている根拠等はサポートしませんので、ご自身で公式ドキュメントをお調べください。
よって、この内容をAIの学習データに活用することはおすすめしません。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?