• Herramientas Online
  • - Calculadoras
    • Contador de caracteres
  • - Descarga
    • Descarga de TikTok
    • Descarga de DouYin
  • - Herramientas web
    • BASE64
    • Base64 a imagen
    • Imagen a Base64
    • Codificación URL
    • JavaScript
    • Timestamp
    • Convertidor Unicode
    • Formato JSON
    • Modificar extensión
    • Crear lista
    • Optimizador CSS
  • - Herramientas de cifrado
    • Cifrado MD5
    • Generador aleatorio
  • - Herramientas de imagen
    • Compresión de imágenes
    • Generador de código QR
    • Lector de código QR
    • Vista previa de fondo
  • - Hojas de información
    • Herencia de grupo sanguíneo
    • Tallas de ropa
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
Linuxカーネルとその関連アーキテクチャの依存関係を深く解析
2021-12-02

Linux kernelが成功した2つの理由:

柔軟なアーキテクチャ設計により、多くのボランティア開発者が開発過程に簡単に参加することができます。

各サブシステム(特に改善が必要なもの)は、良好な拡張性を備えています。

この2つの理由でLinux kernelは絶えず進化し、改善することができます。

階層構造の原則:

the dependencies between subsystems are from the top down: layers pictured near the top depend on lower layers, but subsystems nearer the bottom do not depend on higher layers. このようなサブシステム間の依存性は、上から下、すなわち図中の上部のサブシステムが下部のサブシステムに依存するだけであり、逆にはだめである。

二、カーネルの役割

三、Linuxカーネルの全体アーキテクチャ

中心システムはプロセススケジューラProcess Schedulerであり、SCHED:残りのサブシステムはすべてプロセススケジューラに依存します。残りのサブシステムはプロセスをブロックし、リカバリする必要があるためです。1つのプロセスがハードウェア動作の完了を待つ必要がある場合、対応するサブシステムはこのプロセスをブロックします。このハードウェア動作が完了すると、サブシステムはこのプロセスをリカバリします。このブロックおよびリカバリ動作は、プロセススケジューラの完了に依存します。

上の図の各依存矢印には、次の理由があります。 プロセススケジューラ依存メモリマネージャMemory manager:プロセスが実行を再開する場合は、メモリマネージャによって実行するメモリを割り当てる必要があります。 IPCサブシステムはメモリマネージャに依存する:共有メモリメカニズムはプロセス間通信の方法であり、2つのプロセスを実行して同じ共有メモリ空間を利用して情報伝達を行う。

VFSはネットワークインタフェースNetwork Interfaceに依存する:NFSネットワークファイルシステムをサポートする;

VFS依存メモリマネージャ:ramdiskデバイスのサポート

メモリマネージャはVFSに依存します。スワップswappingをサポートするため、一時的に実行しないプロセスをディスク上のスワップパーティションswapにスワップし、保留状態にすることができます。

四、高度モジュール化設計のシステムは、分業協力に有利である。

五、システム中のデータ構造

六、サブシステムアーキテクチャ

スケジューリングポリシーモジュールscheduling policy module:CPUへのアクセス権を取得するプロセスを決定します。スケジューリングポリシーは、すべてのプロセスができるだけ公平にCPUを共有できるようにする必要があります。

アーキテクチャ関連モジュールarchitecture-specific moduleは、特定のアーキテクチャインタフェースチップのハードウェア詳細を遮断するための統一的な抽象インタフェースのセットを設計する。このモジュールはCPUと対話してプロセスをブロックして復元する。これらの操作には、各プロセスが保存する必要があるレジスタおよびステータス情報を取得し、ブロックまたはリカバリ操作を完了するためにアセンブリコードを実行することが含まれる。

アーキテクチャ依存モジュールarchitecture-independent moduleは、スケジューリングポリシーモジュールと対話して次の実行プロセスを決定し、アーキテクチャ関連コードを呼び出してそのプロセスの実行を復元します。さらに、このモジュールは、ブロックされたプロセスのメモリマッピング情報が正しく保存されることを保証するために、メモリマネージャのインタフェースを呼び出します。

システム呼び出しインタフェースモジュールsystem call interfaceは、Linux Kernelがユーザープロセスに明確に露出したリソースにユーザープロセスがアクセスできるようにします。適切な基本的に不変のインタフェース(POSIX規格)のセットを定義することによって、ユーザアプリケーションとLinuxカーネルをデカップリングし、ユーザプロセスがカーネルの変化の影響を受けないようにする。

(3)データ表示

スケジューラは、要素の各アクティブなプロセスtask_を維持するデータ構造を維持します。structインスタンス;このデータ構造には、プロセスをブロックおよびリカバリするための情報だけでなく、追加のカウントおよびステータス情報も含まれます。このデータ構造はkernelレイヤ全体で共通にアクセスできます。

(4)依存関係、データフロー、制御フロー

前述したように、スケジューラはメモリマネージャが提供する機能を呼び出し、実行を再開する必要があるプロセスに適切な物理アドレスを選択する必要があります。そのため、プロセススケジューラサブシステムはメモリ管理サブシステムに依存します。他のカーネルサブシステムがハードウェア要求の完了を待つ必要がある場合、それらはプロセススケジューリングサブシステムに依存してプロセスのブロックとリカバリを行う。この依存性は,関数呼び出しと共有task listデータ構造へのアクセスによって現れる.すべてのカーネルサブシステムは、現在実行中のプロセスを表すデータ構造を読み書きするため、システム全体を貫く双方向のデータストリームを形成します。

OSサービス層は、カーネル層のデータストリームと制御ストリームに加えて、ユーザプロセスに登録タイマのインタフェースを提供する。これにより、スケジューラによるユーザプロセスの制御フローが形成される。通常、スリープ・プロセスを起動する例は、ユーザ・プロセスがいつ起動されるか予知できないため、通常の制御フロー範囲ではない。最後に、スケジューラはCPUと対話してプロセスをブロックし、復元します。これにより、CPUは現在実行中のプロセスを中断し、カーネルが他のプロセスの実行をスケジューリングできるようにします。

2.メモリマネージャMemory Managerアーキテクチャ

(1)目標

メモリ管理モジュールは、プロセスが物理メモリリソースにどのようにアクセスするかを制御します。プロセス仮想メモリとマシン物理メモリとの間のマッピングは、ハードウェアメモリ管理システム(MMU)によって管理される。各プロセスには独自の仮想メモリ領域があるため、2つのプロセスには同じ仮想アドレスがある可能性がありますが、実際には異なる物理メモリ領域で実行されます。MMUはメモリ保護を提供し、2つのプロセスの物理メモリ空間が互いに干渉しないようにする。メモリ管理モジュールはまた、交換をサポートします。一時的に使用しないメモリ・ページをディスク上の交換パーティションに交換します。この技術により、プロセスの仮想アドレス・スペースが物理メモリのサイズより大きくなります。仮想アドレス空間の大きさはマシンワード長によって決定される.

architecture specific moduleは物理メモリにアクセスする仮想インタフェースを提供する。

アーキテクチャ依存モジュールarchitecture independent moduleは、各プロセスのアドレスマッピングおよび仮想メモリ交換を担当します。欠落エラーが発生した場合、どのメモリ・ページがメモリからスワップされるべきかをモジュールが決定します。このメモリ・ページのスワップ選択アルゴリズムはほとんど変更する必要がないため、ここでは独立したポリシー・モジュールは構築されていません。

システム呼び出しインタフェースsystem call interfaceは、ユーザプロセスに厳格なアクセスインタフェース(mallocおよびfree;mmapおよびummap)を提供する。このモジュールでは、プロセスでメモリを割り当てて解放し、メモリマッピングファイルの操作を実行できます。

(3)データ表示

メモリ管理は、各プロセスの仮想メモリから物理メモリへのマッピング情報を格納します。このマッピング情報はmm_に格納されるstruct構造インスタンスでは、このインスタンスのポインタは各プロセスのtask_に格納されます。structで。マッピング情報の格納に加えて、メモリマネージャがページを取得および格納する方法に関する情報もデータブロックに格納する必要があります。例えば、実行可能コードは、実行可能ミラーをバックアップストレージとして使用することができる。ただし、動的申請のデータはシステムページにバックアップする必要があります。△これは読めませんでした。


ソース元URL:https://dopubox.com/article/p/d58872adf1c95adb

Otras Herramientas
  • Contador de caracteres Descarga de TikTok Descarga de DouYin BASE64 Base64 a imagen Imagen a Base64 Codificación URL JavaScript Timestamp Convertidor Unicode Formato JSON Modificar extensión Crear lista Optimizador CSS Cifrado MD5 Generador aleatorio Compresión de imágenes Generador de código QR Lector de código QR Vista previa de fondo Herencia de grupo sanguíneo Tallas de ropa
  • MURAKAMI × Liquem 夢のコラボアクセが再登場☆|長山智美 デザイン狩人
    2024-05-30

    原作者の意向は取り入れられたと日テレ
    2024-05-30

    意思疎通うまくいかず信頼関係失われた
    2024-05-31

    将棋叡王戦、藤井が勝ち最終局へ
    2024-05-30

    “家形埴輪”大集合、総選挙も 「住宅展示場の気分で」、奈良
    2024-06-01

    【光る君へ】平安時代、強烈なエピソードで知られた2人の受領とは
    2024-06-01

    吉田南さん、バイオリン部門6位 エリザベート音楽コン、奈良出身
    2024-06-01

    「警察密着24時」担当者ら懲戒 テレビ東京、石川社長は3割返上
    2024-06-03

    香川県・直島に開館する新たな美術館の正式名称が「直島新美術館」に決定
    2024-06-03

    フジコ・ヘミングさん偲ぶ魂のピアノ旋律
    2024-06-03

    GROUP「島をつくる | Planning Another Island」(マイナビアートスクエア)開幕レポート。高層ビルのなかで建築をコンポストする
    2024-06-05

    「TRIO パリ・東京・大阪 モダンアート・コレクション」(東京国立近代美術館)開幕レポート。トリオで再発見する3館のコレクション
    2024-06-05

    アートフェア東京、次回は2025年3月に開催決定
    2024-06-04

    国際博物館の日、今年のテーマは「学びと研究のための博物館」
    2024-06-04

    「ゲバルト」展が東京日仏学院などで開催。反暴力的反応とその美的様式を探る
    2024-06-05

    【1971年の今日 : 6月5日】京王プラザホテル全面開業―今からは想像もできない着工前の巨大な貯水池だった頃の写真も
    2024-06-05

    第55回星雲賞・自由部門に「巨大ロボット展」 日本SFファングループ連合会議
    2024-06-05

    そごう・西武が百貨店として初めてNFTマーケット開設、NFT作品約100点を発売
    2024-06-06

    「Osaka Art & Design 2024」(大阪市内)開幕レポート。何気ない日常のなかで多様なカルチャーに触れる
    2024-06-06

    佐渡金山、世界遺産登録に向け「追加情報の提出」求められる
    2024-06-06

    ©  Dopu Box
    💛