用户模式和内核模式的优点和缺点有哪些

问题描述:

在操作系统中,线程通常在用户模式或内核模式下处理。每个的优点和缺点是什么?用户模式和内核模式的优点和缺点有哪些

用户模式线程在进程中由用户模式调度,而进程本身是内核调度程序处理的唯一东西。

这意味着你的进程从CPU获得一定数量的咕噜声,你必须在你的所有用户模式线程中共享它。

简单情况下,您有两个进程,一个使用单个线程,另一个使用一百个线程。

使用简单的内核调度策略,单线程进程中的线程获得50%的CPU,百线程进程中的每个线程各获得0.5%。

使用内核模式线程,内核本身管理您的线程并独立调度它们。使用相同的简单调度程序,每个线程只会在CPU咕噜声的1%以下(101线程共享100%的CPU)触摸。

用户级线程的一个问题是:如果一个线程阻塞,整个进程就会阻塞。 即使其他线程可以运行并与被阻塞的线程无关。对于操作系统,它不知道线程,所以整个过程都被阻塞了。

+0

你可以给我一些线程阻塞的例子吗? –

+1

@ You'reawesome,等待I/O的线程就是一个例子。等待释放信号量的线程是另一个。 –