本文へ移動

マルチユーザー(コンピューティング):概念・設計・歴史・用途

マルチユーザーとは、複数の人が同じコンピューター資源を同時に利用できるシステム、プログラム、ゲームを指す。アーキテクチャ、歴史、例、シングルユーザーとの違いを解説する。

マルチユーザーとは、オペレーティングシステム、アプリケーション、またはゲームなどのコンピューティング環境において、複数のユーザーが同時に同一のコンピューターへアクセスし、利用できることをいう。マルチユーザー設計は、同時セッション、独立したアカウント、ハードウェアおよびデータの管理された共有を可能にする。複数の人が別々のコンソールやリモート接続から同じマシンと対話するサーバー、タイムシェアリングシステム、ネットワーク化されたデスクトップで広く用いられる。

主な特徴

マルチユーザーシステムは、プロセスの分離、資源のスケジューリング、アクセス制御、ユーザーセッションという、繰り返し現れる設計目標を中心に構築される。一般的な属性には、認証情報を備えたユーザーアカウント、ファイルおよびプロセスのアクセス権、セッション管理、プロセススケジューラーやネットワークサービスなどの並行実行機構がある。対話型の構成では、各人は個別のログインシェルまたはグラフィカルセッションを利用する一方、カーネルとシステムサービスがCPU、メモリー、ディスク、ネットワークへのアクセスを調停する。

  • 並行性:異なるユーザーの複数のプロセスが同時に実行される。
  • 分離とセキュリティ:アクセス権によりユーザーデータを分離し、操作を制限する。
  • セッション管理:独立したシェル、デスクトップ、または端末を提供する。
  • 管理者の役割:システム保守のために特権アカウントを設ける。

歴史と発展

マルチユーザー機能はパーソナルコンピューターより前から存在した。1960年代の初期タイムシェアリングシステムでは、端末が中央のメインフレームを共有できた。設計概念の多くはUnixとその派生システムで成熟し、そのアクセス権モデルとプロセスモデルは現代のマルチユーザーOSに影響を与えた。ネットワークが広く普及すると、リモートアクセスプロトコルと端末サービスによって、マルチユーザーの方式は分散システムにも拡張された。今日のクラウドおよびコンテナのプラットフォームも、共有インフラ上で多数のテナントを支援することにより、この伝統を継承している。

用途と例

一般的なマルチユーザーの利用例には、複数の管理者や開発者が同時にログインする共有Unix系サーバー、ネットワーク化された端末を備える教育用コンピューターラボ、同時参加するプレイヤーや共同作業者を受け入れるマルチプレイヤーゲームまたは共同作業アプリケーションがある。たとえばUnixシステムでは、Secure Shellなどのツールを通じて複数のリモートシェルセッションを提供でき、各ユーザーにはそれぞれのUnixシェルのプロンプトが与えられる。グラフィカルなマルチユーザー構成では、複数のXセッションまたはリモートデスクトップサービスを利用でき、1台のホスト上で別個のグラフィカルコンソールを提供するために、X Windowなどのディスプレイシステムに依存する場合がある。

シングルユーザーモードと区別

これに対応する概念がシングルユーザー環境であり、1人だけが一度にマシンを制御することを想定する。多くのマルチユーザーシステムには、Unixサーバーで見られるような、シングルユーザーモードと呼ばれる特別な保守状態がある。この状態では、システムが起動するか最小限の環境へ切り替わり、修復のためにスーパーユーザーだけが有効となる。通常のマルチユーザーサービスは制限され、排他的なアクセスを必要とする復旧作業に用いられる。「シングルユーザー」という語は、技術的能力ではなく利用制限を表すためにソフトウェアライセンスでも使用される。

マルチユーザーマシンの管理者は、使いやすさとセキュリティの均衡を取らなければならない。アカウントポリシー、分離機構、監査はユーザー間のデータ保護に役立ち、スケジューリングと資源制限は公平なアクセスを確保する。マルチユーザーモデルは、サーバー、組織内コンピューティング、ならびにコンピューティング資源への共有アクセスが必要なあらゆる場面で、依然として中心的な役割を果たしている。

構成要素およびベストプラクティスについてさらに調べるには、OS設計とアクセス制御に関する資料を参照するか、スーパーユーザー向けユーティリティやセッションマネージャーなど、特定のマルチユーザー実装に関するベンダー文書を確認するとよい。

関連資料として、システム管理とマルチユーザーネットワーキングに関する一般的な情報は、入門書やオンラインガイドで参照できる。検索語には、タイムシェアリング、端末サービス、マルチテナントアーキテクチャなどがある。

本文で言及した概念へのリンク:オペレーティングシステム、コンピュータープログラム、ゲーム、ユーザー、同じコンピューター、Secure Shell、Unixシェル、X Window、起動、スーパーユーザー、Unixサーバー。

関連項目

著者

AlegsaOnline.com マルチユーザー(コンピューティング):概念・設計・歴史・用途

URL: https://ja.alegsaonline.com/art/67455

共有