다음을 사용하여 사용자 모드 Linux를 부팅하는 경우:
./kernel32-3.19.8 ubda=./Debian-Wheezy-x86-root_fs mem=128m
CPU 코어가 하나인 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 시뮬레이션 스레드 작성