基本ソフトウェアとは? わかりやすく解説

Weblio 辞書 > 同じ種類の言葉 > 情報 > コンピュータ > ソフトウェア > 基本ソフトウェアの意味・解説 

オペレーティングシステム

別名:基本ソフトウェア,基本ソフト
【英】Operating System, OS

オペレーティングシステムとは、コンピュータ制御しアプリケーションソフトなどがコンピュータ資源利用可能にするためのソフトウェアのことである。「OS」と略されることが多い。

オペレーティングシステムは、入出力制御メモリハードディスクなどのハードウェア管理プロセス管理といった、コンピュータ基本的な管理制御行っている。アプリケーションソフトウェアは、オペレーティングシステムが提供する機能利用して動作する

コンピュータユーザーインターフェースCUIであるかGUIであるか、プロセス管理方式シングルタスクマルチタスクか、また、ファイルシステムネットワーク管理には何を採用しているか、といった事柄は、オペレーティングシステムによって規定されている。アプリケーションソフトは、オペレーティングシステムが提供するユーザーインターフェースを共通で利用することができるため、基本的に統一され操作方法操作感提供できる

PC向けのオペレーティングシステムの代表的な製品としては、WindowsMac OSUNIXLinuxなどを挙げることができる。中でもWindowsは、一連のシリーズWindows系OS)を合わせる市場90%以上のシェアを持つといわれている。

なお、オペレーティングシステムはハードウェア管理するためのものであるため、基本的に一つマシン一つだけ搭載できる。ただ、仮想的他のオペレーティングシステム機能動作再現するためのソフトウェア利用することによって、例えWindowsマシン上でUNIX環境利用する、といったことも可能となる。

オペレーティングシステムは、PCだけでなく、サーバースーパーコンピュータPDA携帯電話デジタルカメラ産業用機械生活家電に至るまで、さまざまなコンピュータ機器搭載されている。

オペレーティングシステムの種類いくつかは、バージョン派生といった観点から系統だててWindows系OSUNIX系OSLinux系OSSolaris系OSBSD系OSなどに分類されることがあるまた、汎用機ワークステーションなど、特定のハードウェア専用のオペレーティングシステムが開発搭載されることも珍しくないまた、Linuxは、オープンソースソフトウェアOSS)として公開されておりカーネル安定性にも優れていることから、携帯電話組み込み機器などに利用されることも多い。


参照リンク
Microsoft Windows ホーム ページ
Mac OS X
The UNIX System - (英文
日本の Linux 情報
ソフトウェアのほかの用語一覧
OS:  エラーメッセージ  エラーコード  イニシャライズ  オペレーティングシステム  上書き  BSD系OS  Chrome OS

システムソフトウェア

(基本ソフトウェア から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/27 01:17 UTC 版)

システムソフトウェア: system(s) software)は、電子機器類(コンピュータも含む)の基本的な制御や管理を行うためのソフトウェア[1]。 コンピュータのハードウェア管理や制御などを行うソフトウェア全般をまとめた総称。システムプログラムとも。対比される用語・概念はアプリケーションソフトウェア(応用ソフトウェア)。類似の用語には「基本ソフトウェア」「システム制御ソフトウェア」などもある。

1960年代から使われるようになった用語であり[2]、何を「システムソフトウェア」と呼ぶかは、電子機器の種類やそのメーカーによって異なっており[1]、また時代によっても変化してきており、その境界は明確ではないが、一般論として言えば、ファームウェアオペレーティングシステム(OS)、ミドルウェアなどの総称として使われており[1]、機器によってはそれらを組み合わせたものもそう呼ばれる[1]。たとえばデバイスドライバ、またプログラミング言語処理系(つまりコンパイラインタプリタなど[3])もそう分類されることは一般的である。とはいえ、PCなど汎用コンピュータ製品では「OS」や「ファームウェア」などとひとつひとつ区別をはっきり付けることが多いため(多くなってきたため)[1]、PCに関してはこれらをまとめてシステムソフトウェアと呼ぶ機会は少なくなっている[1]。(その結果、近年では)テレビ、家庭用ゲーム機など、コンピュータを応用したデジタル機器でよく用いられる用語となっている[1]

概要

通常、各アプリケーションプログラムを稼働させるための、よりシステム(ハードウェアなど)に近い、共通的なソフトウェア・プログラムが、システムソフトウェアと呼ばれている。しかしその範囲は、時代やシステムや観点によっても異なる。

初期のコンピューターや、一部の組み込み機器、専用機器などでは、アプリケーションプログラムとシステムソフトウェアは明確に分離されていない。オペレーティングシステムが登場した後でも、当初はUIマルチタスク、ネットワーク、ライブラリなどの機能は、アプリケーションプログラムの領域であった。

現在のオペレーティングシステムでも、付属するゲームなどは製品上はオペレーティングシステムの一部だが、技術的にはアプリケーションプログラムである。狭義にはオペレーティングシステムの中でもカーネルがシステムプログラムとされるが、ユーザーインターフェースである各種シェルや、ネットワーク機能なども含める場合もある。また個々のハードウェア用のドライバーは、オペレーティングシステムに付属する場合、ハードウェアまたはアプリケーションソフトウェアに付属する場合、単体販売される場合もある。更にミドルウェアが存在する場合は、オペレーティングシステムの観点からはアプリケーションプログラムの一種であるが、ミドルウェア上のアプリケーションプログラム(ユーザープログラム)の観点からはミドルウェア自体も一種のシステムプログラムである。同様に各種のユーティリティソフトウェアも、オペレーティングシステムから見れば単なるアプリケーションソフトウェアだが、ユーザー(人間)から見ればシステム制御系のものも存在している。

マイクロソフト社に対する独占禁止法訴訟では、ウェブブラウザ(Internet Explorer)がオペレーティングシステム(Microsoft Windows)の一部かどうか、分離不可能かどうかが議論となった。

システムプログラミング

システムプログラミング: System programming)は、システムソフトウェアをプログラミングする行為を指す。アプリケーションソフトウェアのプログラミングとの主な違いは、ハードウェアとの関わりが大きい点である。

以下では、オペレーティングシステムデバイスドライバの開発におけるシステムプログラミングについて述べる。


  • プログラマはハードウェアやその他のシステムの特徴を前提として、それらを利用してコードを作成する。例えば、そのハードウェアで効率がよいとわかっているアルゴリズムを採用したりする。



  • リソースが制限されているためデバッガが使えない場合もあり、そうするとデバッグが困難になる。このため、エミュレータ上でデバッグを行ったりする。


システムプログラミングはアプリケーションプログラミングとかなり異なるため、プログラマはそれぞれの領域に特化する傾向がある。 高い実行効率が求められるため、プログラマーにはアルゴリズムとデータ構造に関する深い知識が要求されることもあるが、資源の制約などで高度なアルゴリズムやデータ構造が使えないという縛りの下でのプログラミングが必要なこともある。

システムプログラミングでは、プログラミングに利用できる道具が制限されることが多い。ガベージコレクションは一般的ではないし、デバッグが困難な場合もある。ランタイムライブラリはあったとしても貧弱で、あまりエラーチェックをしない。このような制限があるため、モニタリングやデータロギングといった技法が使われることが多い。オペレーティングシステム(特にカーネル)はそのようなロギングを多用している。

古くは、システムプログラマは例外なくアセンブリ言語を使っていた。高水準言語をシステムソフトウェアに使った初期のものとしては、バロース B5000ALGOLMulticsPL/Iがある。1960年代後半から、BLISSBCPLC言語などが使われるようになり、UNIXの普及もあって1980年代にはそれが一般化した。macOSのI/O Kitドライバなどでは、Embedded C++ が使われることもある。

21世紀に入ると、セキュリティの重要性が否応にも増していることから、型システムによってより強い安全性が保証されたプログラミング言語でシステムソフトウェアを書くことも、研究レベルでは進んでいる。

オペレーティングシステムやネットワーク関連の実装ではシステムプログラミングが必要となる(例えば、仮想記憶を実装する場合やデバイスドライバを実装する場合など)。

システムコールを用いるプログラミング、の意味でのシステムプログラミング

現在では多くの場合に「システムプログラミング」とは、オペレーティングシステムの提供しているシステムコールを利用するプログラムの作成の意味としても使われる。

  • Marc J. Rochkind:「UNIX システムコール・プログラミング」、アスキー出版局、ISBN 4-87148-260-X(1987年11月1日)。
  • 冨永和人、権藤克彦:「例解 UNIX/Linux プログラミング教室 システムコールを使いこなすための12講」、オーム社、ISBN 978-4-274-22210-8 (2018年4月15日)。
  • 羽山博、垰井正雄:「Linuxシステムプログラミング」、オーム社、ISBN 978-4-274-07972-6 (2004年7月20日)。
  • 篠山学:「システムプログラミング入門 実行しながら理解するLinux OSのしくみ」、森北出版、ISBN 978-4-627-85551-9 (2020年10月29日)。
  • 武内覚:「Linuxの仕組み カーネルを知ってステップアップ」、技術評論社、ISBN 978-4-297-13148-7 (2022年10月29日)。

関連項目

脚注

外部リンク




基本ソフトウェアと同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「基本ソフトウェア」の関連用語

基本ソフトウェアのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



基本ソフトウェアのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【オペレーティングシステム】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのシステムソフトウェア (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS