#process #operating-system #affinity
Вопрос:
У меня на компьютере 6 ядер, и во время запуска программы я замечаю некоторое необъяснимое поведение (остановку), которое может быть вызвано фоновыми операциями ОС.
- Есть ли способ узнать, на каком ядре работает ОС?
- и если есть несколько ядер, на которых работает ОС, могу ли я ограничить работу ОС одним ядром, которое я выберу?
Комментарии:
1. Это так не работает. Нет никакого «ядра, на котором работает ОС». Я не знаю об операционных системах ARM, но операционные системы x86 в основном основаны на прерываниях. ОС не «работает», она просто где-то присутствует в оперативной памяти (и вам не нужно знать, где). Есть некоторые процессы, которые запускаются для графического рабочего стола, и это наиболее близко к процессу, который всегда выполняется, который вы могли бы назвать процессом операционной системы. В противном случае ОС просто устанавливает прерывания и таймеры, и каждый поток ядра, который вы найдете, создается прерываниями.
2. Кроме того, если вы запускаете программу в пользовательском режиме в Linux и обнаруживаете, что она «глохнет», это не ошибка в ядре. Это ошибка в вашей программе. Linux достаточно зрелый, чтобы не иметь такого рода странных ошибок.