사용자 모드 Linux는 왜 4개의 프로세스를 생성합니까?

사용자 모드 Linux는 왜 4개의 프로세스를 생성합니까?

다음을 사용하여 사용자 모드 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

~에서Linux 사용자 모드: skas 모드:

ps를 실행하면 TT 모드에서 볼 수 있는 수십 개의 프로세스 대신 UML당 4개의 프로세스만 있음을 알 수 있습니다. 그들은

  • UML 커널 스레드는 별도의 커널 주소 공간에서 실행되고, 커널 코드를 실행하고, UML 프로세스에 대한 시스템 호출을 가로챕니다.
  • 모든 UML 프로세스 코드를 실행하고 모든 UML 컨텍스트 스위치에서 호스트 주소 공간 간을 전환하는 UML 사용자 공간 스레드
  • ubd는 비동기 IO 스레드를 구동합니다.
  • SIGIO 시뮬레이션 스레드 작성

관련 정보