试题详情
简答题什么是内核级线程和用户级线程?对它们进行比较。
  • 内核级线程:线程管理的所有工作由操作系统内核来做。
    优点:
    (1)在多处理器上,内核能够同时调度同一进程中多个线程并行执行;
    (2)若其中的一个线程被阻塞了,内核能调度同一进程的其它线程占有处理器并运行,也可以运行其它进程中的线程。
    (3)由于内核线程仅有很小的数据结构和堆栈,KLT的切换比较快,内核自身也可以用多线程技术实现,从而,能提高系统的执行速度和效率。
    缺点:应用程序线程在用户态运行,而线程调度和管理在内核实现,在同一进程中,控制权从一个线程传送到另一个线程时需要用户态——内核态——用户态的模式切换,系统开销较大。
    用户级线程:线程管理的全部工作都由应用程序来做,在用户空间内实现,内核是不知道线程的存在的。
    优点:
    (1)线程切换不需要内核特权方式。
    (2)按应用特定需要允许进程选择调度算法。
    缺点:
    (1)在传统的基于进程操作系统中,大多数系统调用将阻塞进程。
    (2)在纯ULT中,多线程应用不能利用多重处理的优点。
  • 关注下方微信公众号,在线模考后查看

热门试题