A Biblioteca Paralela de Tarefas (ou PLINQ) leva em conta outros processos?

Em particular, estou olhando para usar o TPL para iniciar (e aguardar) processos externos. O TPL analisa a carga total da máquina (CPU e E / S) antes de decidir iniciar outra tarefa (daí - no meu caso - outro processo externo)?

Por exemplo:

Eu tenho cerca de 100 arquivos de mídia que precisam ser codificados ou transcodificados (por exemplo, de WAV para FLAC ou de FLAC para MP3). A codificação é feita iniciando um processo externo (por exemplo, FLAC.EXE ou LAME.EXE). Cada arquivo leva cerca de 30 segundos. Cada processo é principalmente vinculado à CPU, mas há algumas E / S lá. Eu tenho 4 núcleos, então o pior caso (transcodificação ao canalizar o decodificador no codificador) ainda usa apenas 2 núcleos. Eu gostaria de fazer algo como:

Parallel.ForEach(sourceFiles,
    sourceFile =>
        TranscodeUsingPipedExternalProcesses(sourceFile));

Isso iniciará 100 tarefas (e, portanto, 200 processos externos competindo pela CPU)? Ou verá que a CPU está ocupada e apenas faz 2-3 por vez?