問題タブ [linux-kernel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Linux カーネル コードが再入可能であることを同僚に納得させるにはどうすればよいですか?
ええ、私は知っています... 一部の人々は、私たちの残りの人にとって自然に聞こえることを納得させるのが難しい場合があります。今すぐあなたの助けが必要です SO コミュニティ (または、すぐに郵送します..)
私の同僚の 1 人は、おそらく 7 年前に Linux カーネル コードに興味を持ったときにどこかで読んだので、Linux カーネル コードは再入可能ではないと確信しています。おそらくその時点での読みは正しかったのでしょう。マルチコア アーキテクチャはしばらく前にはあまり普及しておらず、当初の Linux プロジェクトは完全に適切に作成されておらず、すべてのファンシーな機能を完全に備えていなかったことを思い出してください。
今日は違います。同じアーキテクチャで並行して実行されている異なるプロセスから同じシステム コールを呼び出しても、未定義の動作が発生しないことは明らかです。Linux カーネルは現在広く普及しており、マルチコア アーキテクチャで実行されているにもかかわらず、その信頼性で知られています。それが今のところの私の主張です。しかし、それを客観的に証明するためにあなたは何をしますか?
私は彼に Linux カーネル ( lxr Web サイト) の関数を、mutex_lock() システム コールとして見せようと考えていました。すべてが並行環境で機能するように調整されています。しかし、コードは初心者にとってそれほど明白ではない可能性があります(私のように)。
私を助けてください.. ;-)
c - カーネルのコンパイル エラー
Linuxカーネルをコンパイルしようとしていました。
次のエラーが表示されます:-
arch/x86/kernel/entry_32.o', needed by
「 arch/x86/kernel/built-in.o'をターゲットにする規則はありません。」
この前に、カーネルを構成しました(デフォルトのオプション以外は何もしませんでした)。「make gconfig」を使用してカーネルを構成しました。構成が生成されました。x86 32 ビット マシン (Fedora 9) カーネル バージョン 2.6.30 を使用しています。
最後に、コンパイルに「make bzImage」を使用しました。
解決策をネットで検索しようとしましたが、成功しませんでした。これらのエラーを修正するには?? 親切に助けてください。
ありがとう、
スーラブ
sockets - ソケットペアと名前のないパイプのペアに違いはありますか?
ユーザー側の違いだけでなく、Linuxカーネル実装の違い・共通部分も知りたいです。
linux-kernel - Windows から Linux カーネルをリモートでデバッグしますか?
VMWareで実行されているLinuxカーネルをリモートでデバッグする方法を誰かが知っているかどうか疑問に思っていました(もしそうなら、Linuxが私を怖がらせるので、Windowsでそれを行う方法があるかどうか...)。どちらもx86です。VMWareがこれをサポートしていることは知っていますが(gdbを介したリモートデバッグに関する投稿を見ました)、Windowsからそれを行う方法(つまり、Eclipse CDTなど)があれば素晴らしいでしょう.
ありがとう!-ロバート
linux-kernel - Linux カーネル 2.6.18 の sys_call_table
sys exit 呼び出しを変数に設定しようとしています
ただし、作成しようとすると、コンソールにエラーが表示されます
どんなヒントでもいただければ幸いです:)ありがとう
c++ - 原因不明の Linux System V IPC 共有メモリ セグメントが破棄対象としてマークされる
Linux System V IPC 共有メモリ セグメントがあり、1 つのプロセスによって読み込まれ、他の多くのプロセスによって読み取られます。すべてのプロセスは、コンストラクタ/デストラクタ メソッドの一部としてセグメントのルックアップ、アタッチ、およびデタッチを処理するクラスの形式で、共有メモリ セグメントへのインターフェイスを使用します。
ここでの問題は、セグメントが「分割」されていることがときどき見られることです。ここで言いたいのは、「ipcs -m -s」の出力を見ると、2 つのセグメントがリストされていることがわかるということです。セグメントにアタッチするためのすべての新しい試みを取得します。ただし、カーネルにセグメントの破棄を実際に要求しているわけではありません。ここで何が起こっているのですか?!
注意すべきもう 1 つのことは、残念ながら、これが実行されているシステムは、メモリ部門で深刻にオーバーコミットされていることです。1 GB の物理メモリがあり、スワップはなく、/proc/meminfo の Committed_AS は約 2.5 GB のコミット済みメモリを報告しています。幸いなことに、システム プロセスは実際にはこれほど多くのメモリを使用していません...単に要求しているだけです (vmstat で報告されているように、まだ約 660MB の「空き」メモリがあります)。これが理想からかけ離れていることは承知していますが、当面の間、オーバーコミットされたメモリについて私にできることは何もありません。ただし、kernel/libc ソースを参照すると、ユーザーの要求以外の理由で共有メモリ セグメントを削除するようにマークするものは何も表示されません (ただし、どこかに隠されているのを見逃した可能性があります)。
参考までに、共有メモリ インターフェイス クラスのコンストラクタを次に示します。
Linux 2.6.18-5-686 #1 SMP Fri Jun 1 00:47:00 UTC 2007 i686 GNU/Linux
linux - pgpginおよびpgpgout-/proc/vmstatのLinuxカウンター
システム全体のI/O統計を収集するアプリケーションを作成しています。ページインとページアウトの2つのカウンターがあるかどうか疑問に思いました。
/ proc / vmstatには、システムに接続されているすべてのディスクベースのブロックデバイスに書き込まれ、そこから読み取られるページが含まれます。
できれば教えてください!
operating-system - ラダーガバナー、メニューガバナーとは?
オペレーティング システムでどのような役割を果たしますか?
.net - .NET Framework 上に構築された Linux ディストリビューション
私はコンピュータ サイエンス エンジニアリングの学生で、.NET Framework で 2 ~ 3 年間プログラミングを行っていますが、Linux は使用したことがありません。私の最終年度のプロジェクトには、Linux ディストリビューションが適していると思いました。
このクレイジーなアイデアが私に浮かんだとき、私はそれを実装するいくつかの方法を考えていました:
最初に Linux カーネルに .NET Framework を実装し、それを使用して残りをビルドすることはできますか?
これは最も奇妙な質問かもしれませんが、私が質問をするのが正しい場合は方法を教えてください。間違っている場合は修正してください。
c - bool はネイティブ C 型ですか?
Linux カーネル コードで bool が使用されていることに気付きましたが、bool は C++ 型だと思っていました。bool は標準の C 拡張機能 (ISO C90 など) ですか、それとも GCC 拡張機能ですか?