★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
ソフトウェアの種類
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
−ファームウェア−
以下の構成図に書いてある通りハードウェアに組込まれたソフトウェアで、基本的にはROM(Read Only Memory)に書込んで使用することで処理の高速化と回路の単純化を図ったハードウェア制御用のソフトウェアである。 ルーター、スイッチなどのハードウェアで動作する機器の制御用に利用される事も多い。BIOSもファームウエアの一つである。
−BIOS(Basic Input/Output System)−
コンピュータに接続されたディスクドライブ、キーボード、ビデオカードなどの周辺機器を制御するプログラム群。これらの機器に対する基本的な入出力手段をOSやアプリケーションソフトに対して提供することからこう呼ばれる。パソコンではマザーボード上に装着されたフラッシュメモリなどの不揮発メモリーに記録されており、最新の内容に更新することが可能である。
−OS−
前ページで説明した通りで、コンピュータを利用する時に人間の意思をコンピュータに伝え、その指示に基づいて処理した結果を人間に解かるように表示(出力)する役目を担っているソフトウェア。コンピュータの基本となるソフトウェアである。
−ライブラリ−
ライブラリには各種のライブライリがあり、CAEの分野で関係の深いライブラリとして数値計算用のMathライブライが一般的である。ライブラリの定義としては「汎用性の高い複数のプログラムを、再利用可能な形でひとまとまりにしたもの」と言える。
コンパイラのC言語では型・マクロ・関数の集合からなるライブラリが標準Cライブラリとしてある。
CAEで利用するライブラリとして重要なものに MPI(Message Passing Interface)があります。 これはネットワーク越にメッセージ通信をするライブラリで、現在の並列プログラムでは必須のものです。
−コンパイラ−
コンパイラは翻訳という意味があるが、コンピュータで言うコンパイラはFortran、C、C++等を指す。これはFortranの様に人間が見てわかる計算手順をコンピュータがわかるアセンブラ、機械語に翻訳する為に付けられた名前である。Fortranで書かれたものをコンピュータで実行する為には最終的には上記の必要なライブラリを付加(リンクする)して、実行が出来る形式に変換する。これにより最終的にコンピュータで利用する事ができる。
コンパイラに対比される言葉としてインタプリター言語がある。 これはBASICがそれにあたり、わざわざコンパイルせずに言語を一つ一つコンピュータが理解して実行していく方法である。コンパイラを利用したプログラムは機械語になっている為に実行が早いが、インタプリターは実行する都度いちいち翻訳しているので実行速度が非常に遅くなる。
−データベース−
CAEの分野ではあまりなじみがないが設計・開発での部品表などはデータベースを利用して構築されている。データ間の関連性を持って大量のデータを効率的に蓄える為のソフトウェア技術である。 代表的なソフトウェアとしてOracle、DB2、SQLServerなどがあり、手頃なものとしてはACCESSやファイルメーカーなどもある。 フリーのものとしてはPostgreSQLなどがある。
データベースは昔は階層型のデータベースが主流であったが、今はリレーショナル型のデータベースになってきている。
−ネットワーク−
ネットワークは一般的な名前なので多くの方が知っているが、実際のコンピュータでの構築になると知っている方も少ないのではないかと思います。ネットワーク自身は1970前後にARPANETで実験が開始され、1980年頃から本格的に利用されるようになったものです。現在主流のTCP/IPはこの頃出たもので、UNIXをベースにしたネットワークとして発展してきました。 各コンピュータ企業では、それぞれ企業の特徴を生かして性能重視で独自のネットワークを構築してきました。 それがDECのDecnetであり、IBMのSNAでした。 しかし1990年代から徐々にTCP/IPに集約され、今ではTCP/IPでの通信が一般的になってきております。
各システムではTCP/IPのネットワーク機能がOSに組込まれており、今では標準でネットワーク機能が使えます。
このネットワーク機能の上位に
Telnet、FTP、RCP、NFS
等の各種機能が付加されております。 Windowsでは上記を意識する必要なくSMBでのWindows間でのファイル共有機能等もあります。 またLinuxではWindowsファイルサーバーになる為のSambaも用意されております。
−ユーザアプリケーション−
ユーザアプリケーションはコンピュータのソフトウェアでは最上位に来るもので、コンパイラ、ライブラリ、ネットワークを利用して構築されます。 簡単なアプリケーションから複雑なものまで自由に作る事が可能です。CAE関連では昔はFortranで作成されていましたが、今はC言語で作られる事が多いようです。
−商用アプリケーション−
これはLS-Dyna、Flow-3D、COMSOL、Nastranの様に市販されている解析アプリケーションを指します。商用アプリケーションを検討する際には
・そのマシンで動作するのか?
・必要なコンパイラはないか?
・他の市販ソフトウェアは用意する必要があるか?
・アプリケーションを動かす為のCPU、メモリー、ディスク等の必要な資源は?
・ライセンスの設定方法は?
等を事前に確認しておく必要があります。