美文网首页
操作系统线程问题

操作系统线程问题

作者: skelton | 来源:发表于2019-04-09 18:04 被阅读0次

    内核线程和用户线程区别:

    内核未知的是用户级线程, 而内核层的线程则知道内核线程。

    在使用 M:1 或 M:1N映射的系统上, 用户线程由线程库调度, 内核调度内核线程

    内核线程不需要与进程关联, 而每个关心的用户线程都属于一个进程。内核线程通常比用户线程维护成本更高, 因为它们必须是用内核数据结构表示的。


    描述内核为在内核级线程之间进行上下文切换所采取的操作

    内核线程之间的上下文切换通常需要保存正在切换的线程中的 cpu 寄存器的占用值, 并恢复正在计划的新线程的 CPU 寄存器


    创建线程时使用了哪些资源?它们与创建进程时使用的方法有何不同?

    由于线程比进程小, 因此线程创建通常比进程创建使用较少的资源。创建一个进程需要分配一个过程控制块 (PCB), 一个相当大的数据结构。PCB 包括内存映射、打开文件列表和环境管理变量。分配和管理内存映射通常是最耗时的活动。创建用户或内核线程介绍涉及分配一个小数据结构来保存寄存器集、堆栈、和优先级


    假设操作系统使用多对多模型将用户级线程映射到内核接口, 并且映射是通过修文 Lwp 完成的。此外, 该系统还允许开发人员创建实时线程, 以便在实时系统中使用。是否有必要将实时的涉程线程绑定到 LWP?解释

    是的。计时对于实时应用程序至关重要。如果线程被标记为实时模式, 但未绑定到 LWP, 则该线程可能需要等待将该线程附加到 LWP, 然后才能运行。考虑实时线程是否正在运行 (附加到 LWP), 然后继续阻止 (即必须是太优先级的实时线程抢占了, 或者是在等待互斥锁等)。当实时线程被 阻塞时, 它所附加的 LWP 已分配给另一个线程. 当实时线程已计划再次运行时, 它必须首先进行源等待, 才能连接到 LWP。通过将 LWP 绑定到实时线程介绍器, 您可以确保线程在计划后能够以最小的延迟运行。

    相关文章

      网友评论

          本文标题:操作系统线程问题

          本文链接:https://www.haomeiwen.com/subject/ohviiqtx.html