KORO NO ROOM

C言語はなぜ学ぶ意義があるのか!
linuxとのかかわり UNIXの接点
-
c言語が 他の言語をさしおいて なぜ 特別の意味があるのかといえば 主要なコンピュウターを制御をする OSが これで作成されてきた 経緯があるからです。
そして linuxがオープンなOSでこれを 利用して、様々なことを しようとすると プログラムとの直接的なかかわりが 必要とされてきます。新しいアプリケーションの導入でも、ソースコードの取り込みや これのコンバイル等の必要性が 問われたりします。OSの組み合わせの場合も勿論 必要です。
c言語が1980年代に作成され、これがUNIXで使用されることから 始まっています。UNIXは当時はアッセンブリ言語で書かれていました。これがc言語で置き換わって、多くのマシンで も動くようになりました。そしてUNIXの独占などの問題から ソースコードは広く提供されてUNIXから多くのOSが作られ、linuxもそのひとつです。他には BSDというものもあります。これはバークレイ校で開発されたものです。Solarisは現在 無償のOSになりましたが、現在の有名なUNIXになります。
-
linuxが 今日ではオープンなOSで 広くアプリケーションも開発されて 使いやすい状況があります。様々なサーバーに使用されたりしております。様々なlinuxデストリビューションも開発されています。これらを使用してサーバーの構築やアプリケーションの開発も行われています。linuxのfedora coreが元のred hat linuxですが、これが大きな影響を持っています。様々なlinuxがありますが、これらをlinuxデストリビューションと いいます。これらのlinuxは実はファィルの構造は一様ではありません。したがって コマンド(命令)も 違ってきます。只、この違いは 多くは ファィルの構造の違いで発生するもので、すべて 別物ということではありません。
-
c言語はlinuxでの操作に いろいろな形でかかわってきます。コマンド操作の基本的なことが ここにしたがっています。”端末”からの操作がコマンド操作になりますが、主にこれは外部からの遠隔操作として ssh を通じて行うのが一般的です。そもそもUNIX系のコンピューターは単独で使用するものではなく、複数で共用することを建前としています。linuxの操作コマンドの大半はUNIXのものと同じです。従ってc言語の扱いもUNIXのものから学ぶのが先だと思います。
- c言語の開発環境はlinuxではgccが一般的につかわれていますが、windosのc言語開発環境とは違いがあります。linuxで作成したコードをwindosのc言語開発環境でコンパイルしても 必ずうまくいくとは限りません。逆もそうです。単純なものでは実行されますが、ほとんどうまくコンパイルしてくれません。多分これは お互いのライブラリイの違いからくるのかもしれません。原因がなんであるのかに大きな意味を感じてはいませんが、linuxのOSの使用目的のためには、gccを使う必要があります。
c言語が だから万能であるということではありません。なぜなら Dos攻撃という サーバーに対する メモリーを溢れさせてダウンさせるバグが発生させる仕組みが存在します。更に38年に時間を管理するプログラムが不正に処理される仕組みがあります。このようなものを避けたプログラムもすでに存在します。但し広範囲なOSがc言語で書かれている現状では、これに依存しないで、いっぺんに他のプログラムに変更は出来ません。
2006/8/13
戻る
掲示板へ