ええ、私は知っています... 一部の人々は、私たちの残りの人にとって自然に聞こえることを納得させるのが難しい場合があります。今すぐあなたの助けが必要です SO コミュニティ (または、すぐに郵送します..)
私の同僚の 1 人は、おそらく 7 年前に Linux カーネル コードに興味を持ったときにどこかで読んだので、Linux カーネル コードは再入可能ではないと確信しています。おそらくその時点での読みは正しかったのでしょう。マルチコア アーキテクチャはしばらく前にはあまり普及しておらず、当初の Linux プロジェクトは完全に適切に作成されておらず、すべてのファンシーな機能を完全に備えていなかったことを思い出してください。
今日は違います。同じアーキテクチャで並行して実行されている異なるプロセスから同じシステム コールを呼び出しても、未定義の動作が発生しないことは明らかです。Linux カーネルは現在広く普及しており、マルチコア アーキテクチャで実行されているにもかかわらず、その信頼性で知られています。それが今のところの私の主張です。しかし、それを客観的に証明するためにあなたは何をしますか?
私は彼に Linux カーネル ( lxr Web サイト) の関数を、mutex_lock() システム コールとして見せようと考えていました。すべてが並行環境で機能するように調整されています。しかし、コードは初心者にとってそれほど明白ではない可能性があります(私のように)。
私を助けてください.. ;-)