• ベストアンサー

ライブラリ・システムコールとは?

ライブラリコール、システムコールについて要約して教えてもらえませんか?別に要約じゃなくてもいいですが(^_^.) あと、相違点などについても教えて下さい。 調べてもイマイチ分からないので。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

ライブラリコール・・・共通的にあると便利な機能をライブラリーにしてあり、  必要に応じてコールする。サブルーチンみたいなもの。 システムコール・・・ライブラリーコールとよく似ているが  単なるライブラリーでなく、OSをコールして必要な仕事をしてもらう。  システムと言うのはOSのこと。  ファイルの読み書きなどOSの管理している機能を使うときは必須。 ライブラリーが勝手にシステムコールをしている事もある。

その他の回答 (1)

noname#6829
noname#6829
回答No.2

システムコールというのは、OS が持っているいろいろなモジュールのことで、OS 自身もさまざまな処理の際にそれらを多用して各種のプロセスを実行しており、また公開された仕様になっているので その OS 上で動くアプリケーションもプログラミングに際してこれらを利用します。機能の内容としては基本的な処理に関するものが大半です。OS に基づくものなので、その OS 上で動くプログラムならどれでも共通に使えます。 これに対し、ライブラリというのはやはり他のプログラムから呼び出されて利用されるモジュールですが、システムコールに比べてやや込み入った処理をする応用的な内容の傾向にあり、OS 用に用意されているものの他に、特定の言語処理系( C++ コンパイラや VisualBasic など)用に作成されたライブラリというのもあります。後者はその処理環境がインストールされていたりそれらを使ったアプリケーションがインストールされたりすることによってシステムに導入されるので、それらがなければシステム上に存在しないこともあり得ます。 プログラムが作成され、実行形式にコンパイルされる段階で呼び出されてオブジェクトに組み込まれるタイプのライブラリもあれば、すでに出来上がっているプログラムが動作する段階で必要に応じて呼び出されて作業に参加するタイプのライブラリ(動的リンク)もあります。上述の VisualBasic のうち、.NET 仕様以前の世代ではランタイムライブラリ(やはり実行時に呼び出される部品の集合体)があり、実行するプロセスが要求する部品を持った正しい世代のランタイムがインストールされていないとプログラムが実行できなかったりします。

関連するQ&A