Hongmengカーネルソースコード分析(必ず読む必要があります)|カーネルにストーリーを伝える

注:オープンソースのあいまいなカーネル分析に基づいて、公式ソース[ kernel_liteos_a ]公式ドキュメント[ docs ]リファレンスドキュメント[ Huawei LiteOS ]
作者:Hong Mengコア愛好家、カーネルの言い方についての話は、国の最初であるはずなので、謎のカーネルが裸になります。活発なので、お楽しみに。コンテンツは個人的な見解のみを表しており、エラーは歓迎されます。誰でも修正して改善することができます。このシリーズのすべての記事は、Hongmengシステムのソースコード分析(総合カタログ)ビューに入ります


序文:筆者は大学でlinux0.11カーネルを読むのはつらい経験があったので、私はいつも結びつきを持っています。多くの学生の目には、オペレーティングシステムカーネルの操作は神秘的で予測不可能です。少なくともコンピューターを勉強していない人に、それはおそらく魔法のようなものであることを理解させてください。彼はこの問題をあきらめるつもりです。ただし、9月11日の紅門の公式リリースと一致し、ソースコード分析が初めてダウンロードされましたが、制御不能で一晩中眠ることができなかったため、紅門システムのソースコード分析に関する一連の記事がありました。作者は、ストーリーテリングの方法とソースコードを使用して、Hongmengの​​全体像をすべての人に見せたいと考えています。Hongmengは、将来のために設計されたシステムです。非常に良いものです。深く掘り下げないのは残念です。作者は、成功すると確信しており、しっかりしています。フォロワーと普及者も、興味がある場合は一緒に行動します。

目次

これは必読なので、重要です!

張叔父さんのストーリー紹介

会場の運営方法

パフォーマンスのプロセス

叔父さんの仕事のプロセスは何ですか?

Zhen Qinの作業プロセスはどうですか?

王スタジアムのワークフローはどうですか?

Hongmengコアとこのストーリーの間のマッピング関係は何ですか?

この話を覚えておいてください


これは必読なので、重要です!

この記事は物語を伝えるだけです。それを聞いた後、誰もが物語のシーンプロセスを思い出してくれることを願っています。一連の記事では、この物語に繰り返し言及し、物語の詳細を使用して、後続の特定のソースコード解釈プロセスでソースコードをガイドします。 。読んで気に入ったら、このストーリーを知っている他の人と共有してください。ストーリーには名前が必要で、張叔父さんのストーリーと呼んでください  。ストーリーが始まります。

張叔父さんのストーリー紹介

      10 * 40 400メートルのスポーツ会場があり、地元の企業/組織/グループがさまざまなイベントを主催するためにのみ使用されます。ただし、ビジネス上の都合により、会場の外に32のレーンがあり、列の数は0〜31です。 、会場には常に時間どおりに止まることのない大きな時計があり、10分ごとに自動的に鳴ります。会場の中央には大きな画面があり、今後の具体的なアクティビティやプログラムの操作手順が表示されます。スタジアムにはバスケットボール、バレーボール、食堂、テーブルと椅子、子供たち(人もリソースです)を含む多くのリソースがあります。とにかく、彼らはすべてを持っていますが、数は限られています。主催者は、イベントに参加するために何かを持参する必要はありません。彼らはタスクリストだけを必要とします。具体的な手順はリストに明確に書かれている必要があります。誰かがパフォーマンスを指示するのを手伝ってくれます。会場にはスタッフ専用の管理事務所があり、スタッフ以外の方は入館できません。 物語が書かれている限り、誰もが心に絵を持っています。

会場の運営方法

     会場はどのように運営されていますか?会場では、会場を使用する優先度を表すために、事前に会場を使用する各企業にラベルが付けられます。レベル0が最高で、レベル31が最低です。各会社は、事前にプログラムリストとプログラムで使用するリソースを準備する必要があります。また、事前に準備する必要があります。たとえば、プログラムリストに祖国の花と呼ばれる子供のダンスがあります。3人の子供とギター必要です。これらのリソースは、会場の担当者に適用する必要があります。すべてのプログラムに必要なプログラムリソースアプリケーションは1つだけです。所定の位置にある場合は、キューに移動できます。8日の場合は、8番目のウィンドウに移動し、着信番号がタスクリストを送信するのを待ちます。プログラムリストのプログラムリソースをまだ申請していない場合は、ランク付けの資格もありません。絵は頭に入れておいてください。ストーリーは少し長くなります。シリーズでは、このストーリーを使用して、Hongmengカーネルの動作原理を説明します。

パフォーマンスのプロセス

    ショーが呼び出された場合は、タスクリストを会場の担当者に提出するだけで、リストの手順に従ってショーが完了します。各ショーは10分です。時間が切れたら、戻って再度キューに入れる必要があります。それでもまだパフォーマンスを続けることができます。ただし、ここでは異常な状況が発生します。たとえば、上位のリーダーが会場に電話をかけ、一時的に優先度の高い会社のプログラムを挿入する必要があります。最初にプログラムを停止する必要はなく、会場を他のユーザーに提供し、続行する必要があります。並びますが、会場を出る前に祖国の花が飾られてい場所を記録しおくので、戻ってきても演奏を続けられますのでご安心ください公演中に追加のリソースを申請する必要がある状況もあります。たとえば、一握りの二胡が必要ですが、二胡は他の誰かに連れ去られます。申し訳ありませんが、もう一度列に戻る必要があり、会場は他の人が使用する必要があります。さらに悲惨なのは、リストにあるすべてのプログラムがリソースを申請している場合、チームから出ることができるだけであり、キューイング資格がキャンセルされても、他のリソースがすべて使用されて申請するまで、リソースをキューに戻すことができるだけです。祖国の花を見るために戻るように要求されたときに、再度ショーを実行する必要はありません。覚えていますか?場所を記録して保存したのではなく、その場所に復元するだけです。ショーの終了後、すべてのリソースをリサイクルする必要があります。このショーは終了します。リストのすべてのショーが終了したら、バイバイも可能です。もちろん、自分でショーをキャンセルすることもできます。これはあなたの権利です。

     了解しました。スタジアムには3人の従業員がいます。張叔父、陳琴空、王体育館です。張叔父が電話をかけて停止するか、火災などの異常事態が発生した場合は、地震後に停止します。鎮キンカイは非常にそれは素晴らしく、すべてを実行できます。実行できないリストは地球上にありません。彼はプログラムのステップを実装する責任があります。最も苦痛で疲れるのはそれです。したがって、それはZhen Qinqaiと呼ばれ、Wangスタジアムはリソースの管理を担当しています。 、ゴミを片付け、物流に従事する。

叔父さんの仕事のプロセスは何ですか?

      每十分钟准时响一次大钟,大爷会查下正在表演的节目时间有没有用完,没用完就继续演,用完了的不好意思先停止继续出去排队,然后大爷会去看下外面排队的人,从0号队列开始看有没有人在,因为它优先级最高嘛,从高往低了看,一直往下看直到有人的队列,例如是张全蛋了,再让张全蛋拿他优先级最高的节目去排,因为全蛋节目单里可能也有很多个节目,全蛋的节目也有优先级的,而且也是32个优先级。

甄勤快的工作流程呢?

     节目单的步骤会打到中间显示屏上显示,一步一步很清楚,甄勤快就是去执行这些步骤的。除了组织大家在场地表演,还有一个管理处记得吗,有的节目单的步骤会用到管理处,比如去缴费,去打印等等吧,涉及管理处的就在管理处里面完成,不会跑到外面的场地来完成。管理处和表演场地是分的很清楚的。

王场馆的工作流程呢?

      王场馆看也看的出来,就是管后勤的,接电话的,场地的各种现场清扫,开门做生意前的准备工作。

故事到这里讲完了,还有画面了吗?没有的再读一遍,消化下,把他印在脑子里。笔者到底想说什么呢?这就是内核的工作机制,熟悉了这个故事就熟悉了至少80%的鸿蒙系统内核的工作原理!有了这个故事垫底,鸿蒙内核源码分析系列就有了一个非常好的开始基础。

真的是这样的吗?

鸿蒙内核和这个故事的映射关系是什么?

キューイング担当者はプロセスです。32のキューイングチャネルは、32のプロセス優先順位を持つレディキューです。プログラムリストは、タスクとも呼ばれるスレッドです。リストの手順は、コードセグメントの指示であり、読み取ることしかできません。変更できません。プログラムが中断された場合は、レコードを保存します。次にパフォーマンスが継続するときはタスクコンテキストと呼ばれ、パフォーマンスの開催地はユーザーアドレススペースと呼ばれ、管理オフィスを含むシステムコールはシステムコールと呼ばれます。システムコールは、カーネルモードで完了する必要があります。これは、管理オフィスで再生することです。カーネル空間です。張叔父さんがスケジューリングの仕事をしました。10分に1回鳴る大きな時計は目盛りですが、Hongmengカーネルでは1回10msで、ショーにはタイムスライスとして10分のパフォーマンス時間しかありません。Hongmengでは、デフォルトは20msです。Zhen Qinが高速に処理するのはCPUの処理であり、プログラム命令レジスタはその目であり、大画面の実行を1つずつ見つめ、王スタジアムはリソース管理メカニズムです。電話、地震、火災はあらゆる種類のハードウェアおよびソフトウェアの中断であり、トリガーした後などにタスクを再スケジュールする必要があります...

この話を覚えておいてください

もちろん、特定のメモリ割り当てメカニズム、IPC、相互排除、セマフォなど、ストーリーで言及されていない詳細はまだたくさんあります。ストーリーで完全に説明するには詳細すぎるので、説明したいのはフレームワークです。 、構造的思考、最初に全体的なフレームワークを用意し、次につるに従ってレイヤーごとに詳細を見つける必要があります。そうしないと、行き止まりになり、外に出ないのは簡単です。読んだ後はあきらめましたが、それほど難しいことではありません。根底にある操作メカニズム全体を理解してから、上のレベルのアプリケーションを見ると、雲と霧の中から太陽を見たときに、さわやかな気分になります。具体的には、以降の章で順次展開していきますので、この話をもとに紅門システムの核心を理解してください。

共有したい親指を忘れないでください。システムのソースコード分析隠蔽するためのより多くの記事  (リスト)表示

おすすめ

転載: blog.csdn.net/kuangyufei/article/details/108745174