6.なぜクラウドコンピューティング&ビッグデータの_linuxの基本(5)_コンピュータがコンピュータに機能していた方法(内部強度)

ソフトウェアは、1つのソフトウェアシステム、一つのアプリケーションで、2つのカテゴリに分類され、現在のコンピュータ・システム・ソフトウェアの役割を再生するために必要なソフトウェア、ハードウェアリソースをスケジュールする、コンピュータの機能で再生することができませんでし動作しませんでした

 

コンパイラでA.マシンプログラム

CPUは、実際にマイクロ命令セットを持っている間、ALU内部のCPUを決定する上で最も重要なコンピュータ。私たちは、ヘルプCPUの作業を必要とするときに、あなたは、マイクロ命令セットの内容を参照する必要があり、その後、CPUは、CPUの実行にライト命令コードを読み取る方法を知ってみましょう

要約すると、それから、私たちは、以下のスキルが必要

    • 機械語を理解する必要があります。マシンは0と1のみを知られているので、あなたが直接見て機械語に対処するために学ばなければなりません!この場所は非常に困難です

    • すべてのハードウェア関連機能の機能を理解しておく必要がありますあなたのプログラムが参照するには、マシンのために書かれなければならないので、もちろん、あなたがマシン自体の機能を参照し、その後、機能のためのプログラムコードを記述する必要があります。たとえば、あなたはDVDムービーの上映を行うことができますが、それは仕事のためのDVDドライブのハードウェア情報を参照する必要があります。場合にはお使いのシステムは、〜だけで気絶する可能性のある技術的なマニュアルを参照して、より多くの一般的なハードウェアを持っています

    • これは、移植性を持っていません:各CPUはマイクロ命令、同じのユニークなセットを持って、それぞれがそのハードウェアパフォーマンス機能を持っています。だから、あなたは、コンピュータプログラムとして記述し、理論的には、コンピュータ上のBで動作する方法はありません!そして、プログラムのコードを変更することは非常に困難です!それはマシンコードですので、ない人間のプログラミング言語ああを理解するために参照してください!

    • このようなプログラムは、ハードウェアのパフォーマンス機能のために書かなければならないので、すでにブラウザプログラムを開発した場合、その後、あなたは、レコード管理プログラムを開発したい、または書き込みを継続するために、ハードウェアのパフォーマンス機能を参照してください再び開始する必要があります。プログラムは、特定の持っています、そして毎日「ハードウェア」挑戦中!

それは非常に困難なことである機械語を直接使用することを見やすいので

この問題を解決するために、コンピュータ科学者は、人間がプログラミング言語を理解するために参照して、機械語プログラムに翻訳これらのヒトを書くことができるように、「コンパイラ」を作成するための方法を考案したマシンコードを理解見ることができ、我々は修正この方法書き込みプログラムがはるかに簡単になります!現在の一般的なコンパイラは、C、C ++、Javaの、パイソンなどを持っています

 

機械語より高次のプログラミング言語の相違点は次のとおりです。

 

 しかし、今回の問題がまだあるが、あなたは、データがメモリに書き込まれたときに動作する必要があります、あなたはそれらのデータが入力することができるようにするために、メモリのブロック自体を割り当てるために持っているので、あなたは、そのメモリアドレスを理解する必要がありますそれは常に書き込み制御コードを繰り返す必要があり、ハードウェアの問題を克服するために、検索する方法ですので、オペレーティングシステムがある(オペレーティングシステム、OS)が登場しました

 

II。オペレーティングシステム

オペレーティング・システムは、単に開発するソフトウェアエンジニアのためのリファレンス・インターフェース(API)を提供するために、すべてのハードウェアドライバ、およびソフトウェア開発であります

1>オペレーティングシステムのコア(カーネル)

ハードディスクを開始するためにアクセスされるように、ネットワークカードがデータを送信し始めることができるように、全周ができるように、メインメモリは、データ及びプログラムコードを読み出す/ロードを開始できるように機能が、CPUを起動するオペレーティング・システムが論理AND演算値を決定できるようにすることですすべてのアクションが動作を開始するなど、ハードウェア、オペレーティング・システムを介して達成されなければなりません

オペレーティングシステム(カーネル)コンピュータが特定の物事を行うことができない決定のコアは、提供される唯一の中核機能があり、コンピュータ・システムは、あなたが完了することができます!たとえば、あなたのカーネルはTCP / IPネットワークプロトコルをサポートしていない場合、あなたはカードを購入に関係なく、どのような、このコアは、ネットワーク容量を提供することはできません

制御ハードウェアの主コアとは、ユーザが誤って停止またはコアプログラムを破壊する場合、ユーザは、筐体のコアに直接使用することができる場合、これらのアクションの管理は、非常に重要である(例えば、ネットワーク機能など)に関連する容量を提供しますこれは、システム全体の崩壊につながります!そのため、コアプログラムは、ブロックが保護されているメモリに配置されました!そして、ブート後にそれらのメモリに常駐してきました

TIPS:

そのため、コアのみ、我々は唯一のコンピュータシステムが動作する準備(レディ)で見ることができますが、彼を操作することはできません!今回はソフトウェアの助けを必要と

2>コールシステム(システムコール)

ハードウェアは、コアによって管理されているので、私はソフトウェアを開発したい場合は、当然、あなたは参照関連する機能のコアに行かなければなりません!まあ!このように、元の参照ハードウェア機能から基準コア機能、またはトラブルああの多くにはなりません!何より簡単ああはありません!

この問題を解決するために、オペレーティング・システムは、通常、ソフトウェアを開発するエンジニアのグループ全体に展開インターフェースを提供します!エンジニアソフトウェアを開発することは非常に簡単であるインターフェースの開発を遵守限り!例えば、我々はシステムコールインタフェースのコアは、コアに関連するCプログラミング言語の構文のターンのイニシアチブを取るので、他の関連機能の中核を見に行く必要はありません、限り、参照Cプログラミング言語の関数としてCプログラミング言語を学びますタスク機能を理解することができ、それはプログラムの円滑な運営の中核的な性質ということも可能です!

我々がプロットされたコンピュータ・システム全体に関連するハードウェア/ソフトウェアを取る場合は、このような、その後の彼の関係ビット:

    • コアオペレーティングシステムは、異なるハードウェア・アーキテクチャ内の同じオペレーティング・システム・プログラムを動作させることができない、直接書かれた参照ハードウェア仕様です。たとえば、Windows XPのパソコン版は、RISCアーキテクチャのコンピュータで直接動作しません。Windows XPは、右の32ビット版と64ビット版に分かれているなぜあなたは知っていますか?あなたは、オペレーティングシステムの異なるバージョンを設計したいコースのよう以来32/64ビットCPUの命令セットは、同じではありません。

    • 唯一のオペレーティングシステムではCPU、メモリ、入出力デバイスとファイル・システムのファイルを含め、全体のハードウェアリソースを管理します。他のアプリケーションの支援がない場合、ホストオペレーティングシステムは、コンピュータがレディ(準備)させることができますのみ!そして、他の機能は動作しません。だから今のWindows XPの動作は、ページ画像の上に到達するために、なぜあなたが知っている、まだ右、PhotoshopやのPhotoImpact似たようなソフトウェアがインストールされている必要がありますか?

    • 現像アプリケーションインターフェースCaozuoxitongを開発している基準を提供するので、アプリケーションが動作のみ上記他のCaozuoxitong、その上Caozuoxitongでない動作することができます。CDオンラインゲームを購入する際に行くなぜ今、あなたが知っている、上記ディスクは、ソフトウェアがその上にCaozuoxitong右の使用に適していると言う真昼のように明らかになりますか?いくつかはLinuxがインストールすることはできませんなぜゲームはまた、右、知っていますか?

 

コンピュータシステムは、ハードウェアで構成され、その後主にコアプログラム管理ハードウェアで、コンピュータシステムは、そう(CPUリソース、メモリリソース、等を含む)資源の合理的な配分を提供限り(例えば、x86アーキテクチャとRISCアーキテクチャCPUのような)異なるハードウェアを、コアジョブは修正しなければならないであろう。コアは、コンピュータシステムのリソースを割り当てますので、アプリケーションの上部に提供する必要があるためと、ユーザーはCaozuojitongできるようになります。

コアを保護し、コアプログラムにCaozuojitong添加が、それは一般的に、つまり、システムコールのレベルを開発・インタフェースの完全なセットを提供しますので、プログラマがより簡単にソフトウェアを開発することを可能にするために。ソフトウェア開発エンジニアは、ただ、コアの上で操作できるソフトウェアを開発するために実績のあるシステムコールのパラメータに従ってください。あなたが見ることができるように、比較的大きな関係を持つコア・ソフトウェアは、ハードウェアとの関係は素晴らしいではありません!ハードウェアはまた、比較的大きなコアと関係を持っています!そのユーザアプリケーション用として、それを関連します!

3>コア機能

コアは主に配分し、経営資源に関連するコンピュータシステム全体を担当しているので、我々は実際にはコンピュータシステム全体が最も重要なことは、CPUとメインメモリは、したがって、少なくともこれらの機能のコアを持っている必要がありますであることを知っています:

    • システムコールインタフェース(システムコールインタフェース)
      このシンプルなインターフェイスの必要性は、アプリケーション開発者を容易にするように、コアを介して通信することができ、アプリケーション開発者を容易にすることであるだけの話しているが、簡単にハードウェアリソースの利用を促進します。

    • プログラムマネージャ(プロセス制御)は
      常に正しい、いわゆる「マルチ環境」のことを聞いていますか?コンピュータは多くの作業は、演算処理のために同じ時間にCPUの待機を行っていることが、今回のコアは、ジョブの効率的な配分のためのCPUリソースを聞かせて、これらの作業を制御することができなければなりません!また、優れたCPUのスケジューリング機構は、(CPUが仕事のための第1の動作である)を効果的すぎて、システム全体のパフォーマンスをスピードアップします!

    • メモリ管理(メモリ管理)
      プログラムコードおよびデータシステムの全ては、最初にそれらのメモリに格納されなければならないので、システム全体のメモリ管理を制御するが、このメモリ制御は、非常に重要です。メモリ交換マイル(交換)機能を提供することができる十分なメモリが存在する場合、コアは、典型的には、仮想メモリ機能を提供します。

    • マネジメントシステム(ファイルシステムの管理)ファイル
      にそれを作業のように、このようなデータの入力と出力(I / O)またはとして、ファイル管理システムを!だけでなく、さまざまなファイル形式の友人のためのサポートと、ファイルシステムの心を知っていない場合ので、あなたはアーカイブ・ファイル・フォーマットローを使用することはできません!たとえば:Windows 98がハードディスクNTFSファイル形式を認識しません。

    • ドライバ(デバイスドライバ)デバイス
      、上記と同様に、ハードウェア管理が仕事のメインコアの一つであり、確かに、デバイスドライバは、それを何をすべきかの中核です!幸いなことに、ドライバがモジュールにコンパイルすることができ、いわゆる「ローダブルモジュール」機能は今そこにある、あなたはカーネルを再コンパイルする必要はありません

アプリケーション

アプリケーションは、ユーザーがコンピュータを使用して特定の機能を達成するために、動作することを可能にするインターフェースを開発したソフトウェアの開発のための基準のオペレーティングシステムです。例えば、オフィスソフトウェア(オフィス)は、主にユーザーがで作業できるようにするために使用され、画像処理ソフトウェアは、ユーザーがオーディオやビデオのデータを処理できるように設計されて、ブラウザソフトウェアは、ユーザーがインターネットを閲覧できるように設計されて、など待ちます

 

おすすめ

転載: www.cnblogs.com/zhimahu/p/11746402.html