Linux는 여러 프로세스를 어떻게 처리합니까?

Linux는 여러 프로세스를 어떻게 처리합니까?

저는 Linux 기술과 bash 스크립팅을 처음 접했습니다.

현재 나는 작동하는 간단한 bash 스크립트를 가지고 있습니다 mkvextract.

알고 싶습니다: 여러 사용자가 동시에 동일하거나 다른 mkv 파일에서 이 스크립트를 사용하는 경우(예: bash 명령을 통해) Linux는 어떻게 반응합니까?

자체적으로 "시퀀싱 시스템"을 생성합니까, 아니면 각 명령을 병렬로 처리합니까?

답변1

이건 직업이야프로세스 스케줄러(또한보십시오이것).

일반적으로 어떤 명령을 사용할 때 (자세히 설명하지 않고) Linux 커널(운영 체제 생각)에 별도의 명령을 생성하도록 요청한다고 가정해 보겠습니다.프로세스이것이 그 일을 처리할 것입니다.

이제 프로세스가 대기열에 추가되고 모든 프로세스에 PC 리소스에 대한 액세스 권한이 부여됩니다. 이는 일종의 스케줄링 알고리즘을 통해 처리됩니다. 제가 생각할 수 있는 가장 간단한 것은 FIFO(선입 선출)입니다. 요청한 첫 번째 항목이 리소스를 가장 먼저 가져오는 것입니다. 짧은 기간 동안 리소스를 제공한 후 다시 대기열에 넣습니다.

병렬 처리에 관해서는 상황에 따라 다릅니다. 일반적으로 Linux는 다중 코어를 사용하며 일부 작업은 병렬로 수행된다고 말할 수 있지만 많은 작업은 병렬 실행의 환상을 만들어 수행됩니다. 너무 빨리 전환되어 병렬이라고 생각할 수 있습니다.

귀하의 질문에 정확하게 답하려면 데이터를 추출할 때 삭제되는 것이 아니라 단지 읽는 중일 것입니다. 따라서 동일하거나 다른 mkv에서 여러 읽기 전용 명령을 실행하는 것은 문제가 되지 않습니다.

자세한 내용은 Google "Scheduler", "Linux Scheduler"를 참조하세요.

관련 정보