What are the user mappings with the kernel?

What is a one-to-one mapping? many-to-one mapping? mapping many, many?

What are these user / kernel mappings? What effect does this have on the system?

+3
source share
2 answers

Many-to-one maps many user-level threads to a single kernel thread. One-to-one maps one user-level thread to one kernel thread. Many-to-many maps many user-level threads to many kernel threads.

Many-to-one is managed by a stream library in user space, so it is efficient; but the whole process will be blocked if the thread calls a blocking system call. In addition, since only one thread can access the kernel at a time, multiple threads cannot run in parallel on multiprocessors.

"--" concurrency, "--" ; . , , . , .

" " . concurrency, true concurrency , ​​ . , , . , ​​ .

+4

. , .

--

  • , , , .

  • , , - . . , OS-.

  • , . "--".

  • .

--

  • "--", , .

  • "--" , , /, / concurrency . "--" . , , .

enter image description here

+4

Source: https://habr.com/ru/post/1792383/


All Articles