기본 Linux 설치가 기본 OpenBSD 설치보다 더 많은 프로세스를 실행하는 이유는 무엇입니까?

기본 Linux 설치가 기본 OpenBSD 설치보다 더 많은 프로세스를 실행하는 이유는 무엇입니까?

ps -auxGUI 없이 Ubuntu(또는 GNU/Linux 배포판)를 사용한다면 약 100개의 프로세스가 실행되는 것을 볼 수 있습니다 . GUI 없이 OpenBSD를 사용 하면 ps -aux약 10개의 프로세스가 생성됩니다.

이에 대한 설명/이유는 무엇입니까? *BSD 시스템은 "더 깨끗"합니까(코드)또는그냥 커널에 모든 것을 넣나요?

답변1

프로세스 수와 운영 체제의 "명확성" 사이에는 상관 관계가 없습니다. 당신은 사과와 구스베리를 비교하고 있습니다.

Linux 시스템에서는 ps ax메모리를 사용하지 않는 여러 프로세스가 아래와 같이 대괄호 안에 이름과 함께 표시됩니다.

root         2  0.0  0.0      0     0 ?        S    Nov02   0:01 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Nov02   4:39 [ksoftirqd/0]
root         6  0.0  0.0      0     0 ?        S    Nov02   0:00 [migration/0]
root         7  0.0  0.0      0     0 ?        S    Nov02   0:01 [watchdog/0]
root         8  0.0  0.0      0     0 ?        S    Nov02   0:00 [migration/1]

이러한 프로세스는 커널의 일부입니다. 커널 권한으로 실행되지만 사용자 프로세스처럼 스케줄러에 의해 관리됩니다(대부분 하드웨어 요청을 처리하기 때문에 우선순위가 높습니다). 내가 이 글을 쓰고 있는 컴퓨터에는 100개가 넘는 프로세스가 있습니다. 프로세스 수는 커널 버전, 하드웨어, 실행 중인 커널 서비스(예: 일부 파일 시스템에는 커널 데몬 프로세스).

이러한 프로세스는 다양한 수치의 상당 부분을 차지할 수 있습니다. 내가 아는 한, BSD는 그러한 작업만을 보고하지 않으므로 비교가 의미가 없습니다.

또한 기본 OpenBSD 설치에는 매우 적은 서비스가 포함되어 있는 반면 기본 Ubuntu 설치에는 일반 사용자가 찾을 것으로 예상하는 모든 서비스가 실행됩니다. 두 대의 컴퓨터에 동일한 소프트웨어를 설치하면 비슷한 수의 비커널 프로세스를 찾을 수 있습니다.

답변2

실행 중인 프로세스의 수가 반드시 "명확성"을 나타내는 좋은 지표는 아닙니다.

devd예를 들어, 통신을 위해 소켓을 사용하지만 D-Bus를 사용하는 FreeBSD를 예로 들어보겠습니다 udev(따라서 다른 프로세스가 필요함 dbus-daemon). 프로세스 수: 1:2. 하지만 D 버스더 많은 기능과 가능성을 제공합니다.기타 많은 시스템 데몬그것도 사용하십시오( dbus-daemon동일한 프로세스로 처리됨). 이제 어느 것이 더 명확합니까?

또한 기능을 희생함으로써(즉, *Kits를 사용하지 않음) GUI가 아닌 GNU/Linux 시스템이 "더 적은 수의 프로세스를 사용"하도록 만들 수 있다고 생각합니다. 그리고 BSD와 이 시스템 간의 공정한 비교(가치가 무엇인지에 대해)는 그만한 가치가 있습니다. ) 기능 세트가 일치하는 경우에만 수행할 수 있습니다.

답변3

어쩌면 이것은 당신이 리눅스를 많이 사용한다는 뜻일까요? BSD 시스템에 더 많은 서비스를 로드하면 시간이 지남에 따라 Linux와 같은 조잡한 데몬으로 가득 차게 됩니다.

이는 최신 Linux 배포판의 정크 양을 반영할 수도 있습니다. FreeBSD 기본 시스템은 실제로 매우 가볍습니다. Slackware를 새로 설치하는 것과 비교하는 것이 더 나은 비교가 될 수 있습니다. 나는 그것이 기본적으로 50개의 프로세스와 함께 제공되는지 의심스럽습니다.

관련 정보