ホームページ  >  記事  >  運用・保守  >  Linuxオペレーティングシステムの基本的な知識は何ですか

Linuxオペレーティングシステムの基本的な知識は何ですか

coldplay.xixi
coldplay.xixiオリジナル
2020-08-13 11:31:435861ブラウズ

Linux オペレーティング システムの基礎知識: 1. オペレーティング システムは物理メモリと仮想メモリを区別します; 2. メモリとハードディスクの関係を理解し​​ます; 3. CPU などの各部分に共通する脆弱性サーバー、動的 Web サーバー; 4. Linux 自体の最適化をマスターします。

Linuxオペレーティングシステムの基本的な知識は何ですか

Linux オペレーティング システムの基本知識:

1. オペレーティング システムの概要

•CPU: 人間の脳と同じように、主に関連事項の判断と実際の処理機構を担当します。

クエリコマンド: cat /proc/cpuinfo

•メモリ: CPU が判断するために皮膚や目などから収集された情報が記録される脳内の記憶ブロック。クエリコマンド: cat /proc/meminfo

物理メモリ

物理メモリは、マザーボードのメモリ スロットに挿入するメモリ スティックの容量です。コンピューターの構成を確認するときに、主に注目する必要があるのは物理メモリです。

仮想メモリ

Windows では仮想メモリ テクノロジが使用されています。つまり、ハード ディスク領域の一部が使用されています。メモリがいっぱいになると、コンピュータは自動的にハードディスクを呼び出してメモリとして機能させ、メモリの緊張を和らげます。

関係: Windows では仮想メモリと物理メモリの両方が使用されます。Linux では、物理メモリが使い果たされた場合にのみ仮想メモリが使用されます。

•ハードディスク: のメモリ ブロック脳、重要なデータを記録して、将来再び使用できるようにします。

クエリコマンド: fdisk -l (root権限が必要)

2. メモリとハードディスクの関係

具体的なコマンドを紹介します。後ほど

3. オペレーティング システム監視コマンド> 別のコピーを作成します

•vmstat

•sar

• iostat

•top

•free

•uptime

•netstat

•ps

•strace

•lsof

4. オペレーティングシステムの解析方法

実際の処理:データ読み込み》データ>ハードディスク》仮想メモリ( swaP)》メモリ》cpuキャッシュ》実行キュー

解析方向は逆です

5.各所に多発する脆弱性

• CPU: このタイプのボトルネックが発生しやすい メール サーバー、動的 Web サーバー

•メモリ: プリント サーバー、データベース サーバー、このようなボトルネックが発生しやすい静的 Web サーバー

•ディスク I/ O: 頻繁に読み取りおよび書き込み操作を行うプロジェクト

•ネットワーク帯域幅: 大量のプロジェクトを頻繁にアップロードおよびダウンロードする

#6. Linux 自体のいくつかの最適化

1. システム インストールの最適化

Linux システムをインストールする場合、ディスクのパーティショニングと SWAP メモリの割り当てはシステム パフォーマンスに直接影響します。仮想メモリ SWAP の設定に関して、仮想メモリが物理メモリの 2 倍であるといういわゆる要件はなくなりましたが、経験上、メモリが小さい場合 (物理メモリが 4GB 未満)、SWAP スワップ パーティションは通常、サイズはメモリの 2 倍に設定されます。物理メモリが約 4GB から 16GB 未満の場合は、SWAP サイズを物理メモリと同じかそれよりわずかに小さく設定できます。メモリが 16GB を超える場合は、原則として、 SWAP を 0 に設定することもできますが、特定のサイズの SWAP を設定することをお勧めします

• 2. カーネル パラメータの最適化

たとえば、システムが Oracle データベース アプリケーションをデプロイする場合、次のことが必要です。システム共有メモリセグメント (kernel.shmmax、kenerl.shmmni、kernel.shmall)、

システムセマフォ (kernel.sem)、ファイルハンドル (fs.file0max) およびその他のパラメータを最適化して設定します。 WEB アプリケーションがデプロイされている場合は、net.ipv4.ip_local_port_range、net.ipv4.tc_tw_reuse、net.core.somaxconn およびその他のネットワークを変更するなど、Web アプリケーションの特性に従ってネットワーク パラメーターを最適化する必要があります。

カーネルパラメータ

• 3. ファイルシステムの最適化

Linux でのオプションのファイルシステムは ext2、ext3、xfs、ReiserFS

Linux の標準ファイルシステムは次から始まります。 VFS、ext、ext2、ext2 は Linux の標準ファイル システムであり、ext3 は ext2 をベースにログを追加して形成されます。 VFS から ext3 まで、設計思想はほとんど変わっておらず、すべて初期の UNIX ファミリのスーパー ブロックと i ノードの設計概念に基づいて設計されています。 XFS ファイル システムは、SGI によって開発された高度なログ ファイル システムです。ディスク リクエストの分散、データの検索、キャッシュの一貫性の維持により、ファイル システム データへの低遅延、高帯域幅のアクセスが提供されます。そのため、XFS は非常にスケーラブルで堅牢です。 、優れたロギング機能、強力なスケーラビリティ、および高速書き込みを備えています。 ReiserFS は、Hans Reiser のリーダーシップの下で開発された高性能ログ ファイル システムで、ファイル データ、ファイル名、ログ サポートなどを含む、完全にバランスのとれたツリーを通じてデータを管理します。 ext2やext3と比較して、アクセス性能やセキュリティが大幅に向上しているのが最大のメリットです。これには、ディスク領域の効率的かつ合理的な使用、第一級のログ管理メカニズム、特殊な検索方法、大容量ディスク ストレージなどの利点があります。

4. 重要な知識

物理メモリと仮想メモリ

(1). 物理メモリと仮想メモリを確認するにはどうすればよいですか?

Topコマンドは物理メモリと仮想メモリの値を表示できます

(2).Buffer

は、ハードディスク コントローラ上のメモリ チップで、アクセス速度が非常に速く、ハードディスクの内部ストレージと外部インターフェイスの間のバッファです。ハードディスクの内部データ伝送速度は外部インターフェースの伝送速度と異なるため、キャッシュはバッファリングの役割を果たします。キャッシュのサイズと速度は、ハードディスクの転送速度に直接関係する重要な要素であり、ハードディスクの全体的なパフォーマンスを大幅に向上させることができます。

(3).キャッシュ

CPU キャッシュ (キャッシュ メモリ) は、CPU とメモリの間にある一時的なメモリであり、その容量はメモリに比べてはるかに小さいですが、交換速度はメモリよりもはるかに高速です。キャッシュの登場は主に、CPUの動作速度とメモリの読み書き速度の矛盾を解決するために行われますが、CPUの動作速度はメモリの読み書き速度よりもはるかに速いため、CPUの待ち時間が長くなります。データの到着またはメモリへのデータの書き込み。キャッシュ内のデータはメモリのごく一部ですが、この小さな部分は CPU によって短時間にアクセスされようとしており、CPU が大量のデータを呼び出すと、メモリを回避してキャッシュを呼び出すことができます。

(4).CPU 割り込み

CPU が現在の命令の実行を終了したとき、ペリフェラルがCPU に割り込み要求を送信すると、CPU が応答すると、割り込み応答信号が発行され、同時に割り込みがオフになり、CPU が他のデバイスからの割り込みを受け付けなくなったことを示します。このとき、CPU は割り込み要求のソースがどのデバイスであるかを検出し、CPU 自身のプログラム カウンタ (PC) の内容を保存します。次に、その割り込みソースを処理する割り込みサービス ルーチンに転送します。 CPU はオンサイト情報を保存し、機器サービス (データ交換など) を実行した後、オンサイト情報を復元します。これらのアクションが完了したら、割り込みをオープンし、最初に割り込まれたメイン プログラムの次の命令に戻ります。

(5). コンテキストの切り替え

コンテキスト スイッチまたは環境の切り替え

マルチタスク システムでは、コンテキストの切り替えは CPU イベントを指します。これは、制御が実行中のタスクから別の準備完了タスクに移されたときに発生します。

オペレーティング システムでは、CPU が別のプロセスに切り替わるときに、現在のプロセスの状態を保存し、他のプロセスの状態を復元する必要があります。現在実行中のタスクは準備完了 (または一時停止) に変わります。 、削除済み) 状態で、別のタスクが選択されると、指定された準備完了タスクが現在のタスクになります。コンテキストの切り替えには、現在のタスクの実行環境の保存と、実行するタスクの実行環境の復元が含まれます。

プロセス コンテキストは、プロセスの PCB (プロセス コントロール ブロック、PCB、タスク コントロール ブロックとも呼ばれます) によって表され、これにはプロセス ステータス、CPU レジスタ値などが含まれます。

通常は、状態保存を実行して CPU の現在の状態を保存し、状態復元を実行して操作を再開します。

コンテキストの切り替えはパフォーマンスに悪影響を与える可能性があります。ただし、一部のコンテキスト スイッチは他のコンテキスト スイッチよりも高価であり、より高価なコンテキスト スイッチの 1 つはクロスコア コンテキスト スイッチです。スレッドは専用プロセッサ上で実行することも、複数のプロセッサ間で実行することもできます。単一プロセッサによって処理されるスレッドにはプロセッサ アフィニティ (プロセッサ アフィニティ) があり、より効率的です。別のプロセッサ コアでスレッドをプリエンプトしてスケジュールすると、キャッシュ ミスやローカル メモリにアクセスするための過剰なコンテキスト スイッチが発生して、キャッシュ ミスが発生する可能性があります。一言で言えば、これは「クロスコアコンテキストスイッチング」と呼ばれます。

6. プロセスとスレッド

プロセスの概念

プロセスはリソースの基本的な表現ですアロケーションユニットは、スケジューリング操作の基本単位です。たとえば、ユーザーが独自のプログラムを実行すると、システムはプロセスを作成し、さまざまなテーブル、メモリ領域、ディスク領域、I/O デバイスなどのリソースをプロセスに割り当てます。次に、プロセスをプロセスの準備完了キューに入れます。プロセス スケジューラはプロセスを選択し、プロセスが実際に実行される前に CPU およびその他の関連リソースを割り当てます。したがって、プロセスはシステム内での同時実行の単位です。

スレッドの概念

スレッドは、プロセス内で操作を実行するための最小単位であり、プロセッサ スケジューリングを実行するための基本単位でもあります。プロセスが、オペレーティング システムによって論理的に完了されるタスクとして理解される場合、スレッドは、タスクを完了するために考えられる多くのサブタスクの 1 つを表します。

プロセスとスレッドの関係

(1) スレッドは 1 つのプロセスにのみ属することができ、プロセスは複数のスレッドを持つことができますが、少なくとも 1 つのスレッドが存在します。 (2) リソースはプロセスに割り当てられ、同じプロセスのすべてのスレッドがプロセスのすべてのリソースを共有します。

(3) プロセッサはスレッドに割り当てられます。つまり、スレッドは実際にプロセッサ上で実行されます。

(4) スレッドは実行中に連携して同期する必要があります。異なるプロセスのスレッドは、同期を達成するためにメッセージ通信を使用する必要があります。

関連する学習に関する推奨事項: linux ビデオ

##注:

1.Linux は大文字と小文字を区別するシステムです。たとえば、Mozilla、MOZILLA、mOzilla、mozilla は 4 つの異なるコマンドです (ただし、実際に有効なコマンドは 4 番目の mozilla のみです)。また、my_filE、my_file、my_FILE は 3 つの異なるファイルです。ユーザーのログイン名とシークレットも大文字と小文字が区別されます (これは、UNIX システムと C 言語の伝統が常に大文字と小文字を区別しているためです)。

2. ファイル名は最大 256 文字で、数字、ピリオド「.」、アンダースコア「_」、横棒「-」、およびその他の推奨されない文字を含めることができます。

3. ファイル名の前に「.」が付いているファイルは、通常、「ls」または「dir」コマンドを入力しても表示されません。これらのファイルは隠しファイルと見なすことができますが、もちろん「ls -a」コマンドを使用してこれらのファイルを表示することもできます。

4. "/" は、DOS では "\" (他のすべてのディレクトリの親ディレクトリを意味するルート ディレクトリ、またはディレクトリ間およびディレクトリとファイル間のスペーサー記号) に相当します。たとえば、cd /usr/doc となります。

5. Linux システムでは、すべてのディレクトリが 1 つのディレクトリ ツリーの下に表示されます (DOS システムのドライブ識別とは異なります)。これは、すべての物理デバイス上のすべてのファイルとディレクトリが 1 つのディレクトリ ツリーの下に結合されることを意味します。

6. 設定ファイル内で # で始まる行はコメント行です。設定ファイルを変更するときは、古い設定を削除しないようにしてください。元の設定に「#」を追加して、コメント行に変えることができます。変更箇所に対応する変更に関するコメントを常に追加してください。経営陣はそこから多くの恩恵を受けます。

7.Linux は、継承されたマルチユーザー オペレーティング システムです。あなたの個人設定 (および他のユーザーの設定) は、ホーム ディレクトリ (通常は /home/your_user_login_name) に置かれます。多くの構成ファイルのファイル名は「.」で始まるため、通常、ユーザーはこれらのファイルを見ることができません。

8. システム全体の設定は通常、ディレクトリ /etc に配置されます。

9. 他のマルチユーザー オペレーティング システムと同様に、Linux では、ファイルとディレクトリには独自の所有者とアクセス許可があります。一般に、ホーム ディレクトリ (/home/your_user_login_name) へのファイルのみが許可されます。ファイルのアクセス許可管理に関する関連知識を学んでください。そうしないと、Linux が非常に面倒だと感じることになるでしょう。

10. コマンド パラメーター オプションは通常、「-」の後に 1 文字が続きます (オプションが 1 文字を超える場合は「--」)。このように、「-」は DOS の「/」に似ています。たとえば、コマンド rm --help を入力します。

関連する推奨事項: プログラミング ビデオ コース

以上がLinuxオペレーティングシステムの基本的な知識は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。