内核线程和用户线程区别:
内核未知的是用户级线程, 而内核层的线程则知道内核线程。
在使用 M:1 或 M:1N映射的系统上, 用户线程由线程库调度, 内核调度内核线程
内核线程不需要与进程关联, 而每个关心的用户线程都属于一个进程。内核线程通常比用户线程维护成本更高, 因为它们必须是用内核数据结构表示的。
描述内核为在内核级线程之间进行上下文切换所采取的操作
内核线程之间的上下文切换通常需要保存正在切换的线程中的 cpu 寄存器的占用值, 并恢复正在计划的新线程的 CPU 寄存器
创建线程时使用了哪些资源?它们与创建进程时使用的方法有何不同?
由于线程比进程小, 因此线程创建通常比进程创建使用较少的资源。创建一个进程需要分配一个过程控制块 (PCB), 一个相当大的数据结构。PCB 包括内存映射、打开文件列表和环境管理变量。分配和管理内存映射通常是最耗时的活动。创建用户或内核线程介绍涉及分配一个小数据结构来保存寄存器集、堆栈、和优先级。
假设操作系统使用多对多模型将用户级线程映射到内核接口, 并且映射是通过修文 Lwp 完成的。此外, 该系统还允许开发人员创建实时线程, 以便在实时系统中使用。是否有必要将实时的涉程线程绑定到 LWP?解释
是的。计时对于实时应用程序至关重要。如果线程被标记为实时模式, 但未绑定到 LWP, 则该线程可能需要等待将该线程附加到 LWP, 然后才能运行。考虑实时线程是否正在运行 (附加到 LWP), 然后继续阻止 (即必须是太优先级的实时线程抢占了, 或者是在等待互斥锁等)。当实时线程被 阻塞时, 它所附加的 LWP 已分配给另一个线程. 当实时线程已计划再次运行时, 它必须首先进行源等待, 才能连接到 LWP。通过将 LWP 绑定到实时线程介绍器, 您可以确保线程在计划后能够以最小的延迟运行。
网友评论