Я работал только с системами, которые реализуют то, что некоторые называют моделью «один-к-одному». Эта классификация ИМХО «один-к-одному»/«много-ко-многим» и «много-к-одному» вводит в заблуждение.
Предложение состоит в том, что в модели «один-к-одному» каждый поток действительно создает два потока: поток режима ядра и поток пользовательского режима. В действительности, все, что требуется одному потоку, который может работать как в режиме пользователя, так и в режиме ядра (т. Е. В стеке режима ядра).
Преимущество потока, который может работать как в режиме ядра, так и в режиме пользователя (возможно, в других режимах, например, в модели «один к одному»), заключается в том, что потоки могут работать полностью независимо и, вероятно, проще реализовать. Каждый поток может войти в режим ядра (например, выполнить ввод-вывод), не блокируя ни один другой поток. Предполагаемый недостаток заключается в том, что для этого требуется, чтобы каждый поток имел свой собственный стек режима ядра.
Опять же, я не работал с системой «многие-к-одному» или «многие-ко-многим», но я бы подозревал, что они не реализованы с отдельными потоками режима ядра, а с структурами данных режима ядра, которые совместно используются несколькими потоки.
В чем проблема со многими для многих моделей?
Прозрачный недостаток для многих-ко-многим и многим-к-одному заключается в том, что режим ядра становится ресурсом, недоступность которого может привести к тому, что одна группа потоков блокирует другую группу потоков.
Предположим, у вас есть 3 режима «потоки» режима ядра и 10 потоков пользовательского режима. Если 4 потока пользовательского режима пытаются выполнить ввод-вывод одновременно, четвертый поток будет блокироваться до тех пор, пока не завершится один из первых трех потоков.
Это также сложнее реализовать, потому что вам нужно будет управлять «потоками» режима ядра в качестве ресурсов.
Почему сдвиг происходит от многих до многих моделей к одной модели?
Я не могу придумать каких-либо практических преимуществ «один-ко-многим» или «многие ко многим» и могу думать о многих недостатках (см. Выше). Вероятно, поэтому произошел сдвиг.
Это говорит, ИМХО, это путаный способ объяснить резьбу.