コンピュータの基礎-システムS / W

ご存知のように、システムソフトウェアは、基盤となるハードウェアシステムのインターフェイスとして機能します。ここでは、いくつかの重要なシステムソフトウェアについて詳しく説明します。

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

Operating system (OS)コンピュータの生命線です。CPU、モニター、キーボード、マウスなどのすべての基本的なデバイスを接続します。電源を接続し、すべてが整っていると思って電源を入れます。ただし、OSが原因で、オペレーティングシステムがインストールされていない限り、コンピュータは起動または起動しません。

  • すべてのハードウェア部品をユーザーの指示に従う準備ができた状態に保ちます
  • 異なるデバイス間の調整
  • 優先度に従って複数のタスクをスケジュールします
  • 各タスクにリソースを割り当てます
  • コンピュータがネットワークにアクセスできるようにします
  • ユーザーがアプリケーションソフトウェアにアクセスして使用できるようにします

初期起動に加えて、これらはオペレーティングシステムの機能の一部です-

  • ハードウェア、ソフトウェア、共有リソースなどのコンピューターリソースの管理。
  • リソースの割り当て
  • ソフトウェア使用中のエラーを防ぐ
  • コンピュータの不適切な使用を管理する

初期のオペレーティングシステムの1つは MS-DOS,MicrosoftがIBMPC用に開発しました。そうでしたCommand Line Interface (CLI)PC市場に革命をもたらしたOS。DOSはそのインターフェースのために使いにくいものでした。ユーザーは、タスクを実行するための指示を覚えておく必要がありました。コンピュータをよりアクセスしやすくユーザーフレンドリーにするために、マイクロソフトは開発しましたGraphical User Interface (GUI) と呼ばれるベースのOS Windows、それは人々がコンピュータを使う方法を変えました。

アセンブラ

アセンブラは、アセンブリレベルのプログラムをマシンレベルのコードに変換するシステムソフトウェアです。

これらは、アセンブリレベルのプログラミングによって提供される利点です-

  • ニーモニックの記憶が容易になるため、プログラマーの効率が向上します
  • エラーの数が減ると生産性が向上し、デバッグ時間が短縮されます
  • プログラマーはハードウェアリソースにアクセスできるため、特定のコンピューターに合わせてカスタマイズされたプログラムを柔軟に作成できます。

通訳

アセンブリレベル言語の主な利点は、メモリ使用量とハードウェア使用率を最適化できることでした。しかし、技術の進歩に伴い、コンピュータはより多くのメモリとより優れたハードウェアコンポーネントを備えていました。そのため、メモリやその他のハードウェアリソースを最適化するよりも、プログラムの作成のしやすさが重要になりました。

さらに、コンピューターをより多くの分野で使用できるように、訓練を受けた少数の科学者やコンピュータープログラマーからプログラミングを取り除く必要性が感じられました。これにより、コマンドが英語に似ているため、理解しやすい高級言語が開発されました。

高水準言語のソースコードをマシンレベルの言語オブジェクトコードに1行ずつ翻訳するために使用されるシステムソフトウェアは、 interpreter。インタプリタはコードの各行を取得してマシンコードに変換し、オブジェクトファイルに保存します。

ザ・ advantageインタプリタを使用する利点は、書き込みが非常に簡単で、大きなメモリスペースを必要としないことです。ただし、インタプリタを使用することには大きな欠点があります。つまり、インタプリタされたプログラムの実行には長い時間がかかります。これを克服するにはdisadvantage、特に大規模なプログラムの場合、 compilers 開発されました。

コンパイラ

プログラム全体を保存し、スキャンし、プログラム全体をオブジェクトコードに変換してから、実行可能コードを作成するシステムソフトウェアは、コンパイラと呼ばれます。表面的には、コンパイラーはインタープリターと比較して不利です。

  • 通訳よりも複雑です
  • より多くのメモリスペースが必要
  • ソースコードのコンパイルにもっと時間がかかる

ただし、コンパイルされたプログラムはコンピューター上で非常に高速に実行されます。次の画像は、ソースコードが実行可能コードに変換される方法のステップバイステップのプロセスを示しています-

これらは、ソースコードを実行可能コードにコンパイルする手順です-

  • Pre-processing −この段階では、通常CやC ++などの言語で使用されるプリプロセッサ命令が解釈されます。つまり、アセンブリレベルの言語に変換されます。

  • Lexical analysis −ここですべての命令はに変換されます lexical units 定数、変数、算術記号などのように。

  • Parsing −ここでは、すべての指示が準拠しているかどうかを確認するためにチェックされます grammar rules言語の。エラーがある場合、コンパイラは続行する前にエラーを修正するように求めます。

  • Compiling −この段階で、ソースコードは次のように変換されます。 object code

  • Linking−外部ファイルまたはライブラリへのリンクがある場合、それらの実行可能ファイルのアドレスがプログラムに追加されます。また、実際に実行するためにコードを再配置する必要がある場合は、再配置されます。最終的な出力はexecutable code それは実行する準備ができています。