Переключение контекста между потоками ядра и пользовательскими потоками

$ killall -s SIGUSR1 mate-panel- mate -панель перезагружается, когда я это делаю, и файлы.desktop обновляются

2
07.08.2019, 19:41
1 ответ

Я думаю, вы неправильно понимаете используемую терминологию.

В контексте связанного учебника и многих лекций/книг по операционным системам(пример)классическое различие между потоками пользователя и ядра относится к:

  • потоки ядра -потоки, управляемые ядром, но выполняющие программы пользовательского пространства
  • пользователь (уровень )потоки (a.k.a.'волокна')-потоки, о которых ядру ничего не известно и которые полностью управляются приложением (или библиотекой, используемой приложением, например, pth)в пользовательском пространстве

Цель просмотра пользовательских потоков обычно состоит в том, чтобы проиллюстрировать совместную многозадачность, показать преимущества сохранения реального переключения контекста в стиле ядра -и познакомить учащихся с переключением контекста.

В отличие от этого, в контексте ядра Linux термины определяются по-другому:

  • потоки ядра -облегченные потоки, созданные ядром для задач ядра, которые выполняются в пространстве ядра
  • пользовательские потоки -потоки приложений, которые управляются ядром и выполняются в пользовательском пространстве; т. е. потоки, созданные pthread_create()или аналогичной библиотечной функцией, или системным вызовом более низкого уровня clone()
0
15.05.2021, 12:09

Теги

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