以下を使用してユーザーモードLinuxを起動する場合:
./kernel32-3.19.8 ubda=./Debian-Wheezy-x86-root_fs mem=128m
CPUコアが1つのDebian GNU/Linux 8(jessie)で、一番上のプロセスが4つ見えるのはなぜですか?
1608 root 20 0 132m 42m 42m S 0.7 33.4 0:12.01 kernel32-3.19.8
1615 root 20 0 132m 42m 42m S 0.0 33.4 0:00.00 kernel32-3.19.8
1616 root 20 0 132m 42m 42m S 0.0 33.4 0:00.02 kernel32-3.19.8
1617 root 20 0 132m 42m 42m S 0.0 33.4 0:00.00 kernel32-3.19.8
答え1
psを実行すると、TTモードで見られる数十のプロセスの代わりにUMLあたり4つのプロセスしかないことがわかります。彼ら
- UMLカーネルスレッドは別のカーネルアドレス空間で実行され、カーネルコードを実行し、UMLプロセスへのシステムコールを傍受します。
- すべてのUMLプロセスコードを実行し、すべてのUMLコンテキストスイッチでホストアドレス空間を切り替えるUMLユーザースペーススレッド
- ubd は非同期 IO スレッドを駆動します。
- SIGIOシミュレーションスレッドの作成