Как перезапустить сервер xorg с помощью сценария bash?

Первое утверждение верно, но оно не имеет смысла ни в Linux, ни в любых других системах. Это связано с тем, что большинство драйверов или оборудования выполняются с помощью прерываний, и невозможно сделать это по-другому. Например, если из сети приходит пакет, ЦП узнает об этом по прерыванию, инициированному сетевой картой.

Но эти прерывания невидимы для процессов пользовательского пространства и не влияют на них.

За исключением редких, обычно встроенных сценариев, ни один Linux не работает без обработки прерываний.

Что может вызвать состояние гонки, так это переключение контекста, т. е. если ядро ​​отбирает ЦП у процесса и передает его другому. Обычно это происходит по прерыванию от таймера. Если работает только один процесс, или если весь планировщик каким-то образом отключен (может быть, это возможно в какой-то встроенной среде, но очень нетипично ), то этого не происходит, и у вас один -система процессов а-ля DOS. Это правда, что невозможно состояние гонки, потому что нет многозадачности.

В многопроцессорной -системе, если одновременно активны несколько ЦП, также может возникнуть состояние гонки, поскольку несколько потоков могут выполняться одновременно, даже если планировщик не активен. Обратите внимание, что этот сценарий также чужд Linux (или любой не встраиваемой ОС ).


Второе предложение,"потоки не прерывают друг друга" в основном верно. Потоки — это, по сути, процессы, использующие одно и то же адресное пространство. Несколько потоков обычно не прерывают друг друга. Возможно, они могли бы посылать сигналы друг другу, но не более того. Это утверждение не зависит от предыдущего.

0
31.01.2021, 20:39
1 ответ

Gentoo — один из наиболее документированных дистрибутивов. Сначала поищите в интернете, а потом задавайте вопросы здесь.

На ваш вопрос я могу порекомендовать эти вики-страницы Gentoo:

0
18.03.2021, 22:33

Теги

Похожие вопросы