「システムソフトウェア」の版間の差分

削除された内容 追加された内容
Addbot (会話 | 投稿記録)
m ボット: 言語間リンク 24 件をウィキデータ上の d:q676202 に転記
CharHigh (会話 | 投稿記録)
25行目:
システムプログラミングでは、プログラミングに利用できる道具が制限されることが多い。[[ガベージコレクション]]は一般的ではないし、[[デバッグ]]が困難な場合もある。ランタイムライブラリはあったとしても貧弱で、あまりエラーチェックをしない。このような制限があるため、[[モニタリング]]や[[データログ|データロギング]]といった技法が使われることが多い。オペレーティングシステム(特に[[カーネル]])はそのようなロギングを多用している。
 
古くは、システムプログラマは例外なく[[アセンブリ言語]]を使っていた。[[高水準言語]]をシステムソフトウェアに使った初期のものとしては、[[バロース B5000]]の[[ALGOL]]、[[Multics]]の[[PL/I]]がある。1960年代後半から、[[BLISS]]、[[BCPL]]、[[C言語]]などが使われるようになり、[[UNIX]]の普及もあって1980年代にはそれが一般化した。[[OS X|Mac OS X]]の[[I/O Kit]]ドライバなどでは、[[Embedded C++]] が使われることもある。
 
オペレーティングシステムや[[コンピュータネットワーク|ネットワーク]]関連の実装ではシステムプログラミングが必要となる(例えば、[[仮想記憶]]を実装する場合や[[デバイスドライバ]]を実装する場合など)。