タグ

kernelとMacに関するnobyukiのブックマーク (3)

  • XNU - Wikipedia

    XNUの基礎であるMachはシンプルなマイクロカーネルであり、OSのコアを分割された柔軟なプロセスとして実行することができる(Machコアの上でいくつかのOSを平行して実行できる)。しかし、これはカーネル/ユーザモードの切り替えに時間を消費し、またマイクロカーネルのアドレス空間とデーモンとのあいだで行われるメッセージのマッピングやコピーによってオーバーヘッドを生じることから、しばしばパフォーマンスが低下してしまう。macOSでは効率化のために、BSDの機能はMachのコアの中に組み込まれた。その結果、Machと古典的なBSDカーネル両方の利点と欠点を併せもつものとなった。 Machは、カーネルスレッド、プロセス管理、プリエンプティブ・マルチタスク、メッセージパッシング(プロセス間通信)、メモリ保護、仮想記憶、ソフトリアルタイム処理のサポート、カーネルデバッグのサポート、コンソールI/Oを提

  • ローダブル・カーネル・モジュール - Wikipedia

    ローダブル・カーネル・モジュール(英: loadable kernel module, LKM)は、オペレーティングシステム (OS) の動作中のカーネルを拡張するコードを含むオブジェクトファイル。現行Unix系システムの多くやMicrosoft Windowsはローダブル・カーネル・モジュールをサポートしているが、呼称はそれぞれ異なる。例えばmacOSでは"kernel extension" ("kext") と呼ぶ。他にもカーネル・ローダブル・モジュール (KLM) やカーネルモジュール (KMOD) とも呼ばれる。LKMは一般にCPUやM/Bなど新しいハードウェアやファイルシステムのサポート、通信プロトコル、システムコールを追加するために利用される。LKMの提供する機能が不要になれば、アンロードしメモリを解放することができる。 解説[編集] ローダブル・カーネル・モジュールが存在しな

    ローダブル・カーネル・モジュール - Wikipedia
  • Macで動くVMWare Fusionを使ってLinux Kernelの実行を覗く方法 - suztomoのはてなダイアリー

    Macで動くVMWare Fusion2を使ってLinux Kernel2.6の動きを追う方法のメモ.*1 まずvmxファイルに debugStub.listen.guest32 = "TRUE" の1行を書き加えます. VMWare Fusionを起動します.このとき上のvmxファイルと同じディレクトリの中に.logで終わるファイルがあるので,その中に書いてあるlistening portを探します. ソースファイルとの対応付けをするためにvmlinuxとカーネルのソースコードをもってきます. ここでgdbでデバッグするのですがMacにもともと入っているgdbはtargetがmac用になっているのでそれをLinux用に変えてコンパイルしたものを使います. これで準備完了.CarbonEmacsを立ちあげてM-x cdでLinuxのソースツリーがある場所に移動し,M-x gdbで上のgdb

  • 1