2012-02-03 6 views
0

На многоядерном процессоре, если я создаю подоболочку из файла сценария оболочки, есть ли вероятность, чтобы подоболочка перешла к другому процессору или все подсели и родительская оболочка будут работать в одном процессоре? Я не мог проверить многоядерный процессор.Linux Shell Scripting

+1

Это может быть, но процессы не «застревают» для процессоров (если только вы не сойдете с пути, чтобы привязать его к одному). Процесс может изменять процессоры по полной прихоти планировщика; независимо от его родительского процесса. – tMC

ответ

3

Да, одновременно существующие процессы могут выполняться на отдельных ядрах. Конечно, это не купит вам ничего, за исключением того, что подоболочка выполняется в фоновом режиме, когда основная оболочка собирается выполнять другую работу.

+1

Вы можете извлечь выгоду, если суб-оболочка или команда является частью конвейера - тогда несколько ядер могут выполнять одну часть конвейера параллельно. Конечно, 'sort' gums работает немного, так как он должен читать все свои данные до того, как он произведет какой-либо вывод, но ... –

+0

@JonathanLeffler: Я никогда не испытывал значительных ускорений от конвейеров Unix на многоядерных хостах. Накладные расходы ввода-вывода слишком велики. –