首页 > 编程知识 正文

用户级线程和内核级线程的区别,进程和线程的区别

时间:2023-05-03 13:06:46 阅读:175964 作者:1208

在轻量级进程计算机操作系统中,轻量级进程(LWP )是实现多任务的方法。 与常规进程相比,LWP与其他进程共享所有或很少的逻辑地址空间和系统资源。 与线程相比,LWP具有自己的进程标识符、优先级、状态、堆栈和本地存储,与其他进程具有父子关系; 这与基于Unix的操作系统的系统调用vfork ()生成的过程相同。 此外,虽然线程可以由APP和内核管理,但LWP只由内核管理,其调度方式与常规进程相同。 Linux内核是支持LWP的典型例子。 在大多数系统上,LWP与常规进程的区别在于运行上下文和调度程序所需的统计信息最小。 这就是被称为轻量的理由。 一般来说,进程表示程序的实例,而LWP表示程序的执行线程。 事实上,如果内核不支持线程,LWP可以很容易地提供线程实现。 因为一个执行线程不需要进程那么多的状态信息,所以LWP中也没有这样的信息。 LWP的一个重要作用是提供用户级线程实现的中间系统。 由于LWP可以通过系统调用获得内核提供的服务,因此如果用户级线程正在运行,只要将其连接到一个LWP上,内核就可以具有支持该线程的所有属性。 由于LWP之间共享大部分资源,因此部分APP应用程序不可用,此时使用多个普通进程。 例如,避免内存泄漏(aprocesscanbereplacedbyanotherone )和特权隔离(processescanrununderothercredentialsandhaveotherpermissions ) 如果进程池中的进程崩溃或受到攻击,使用多个进程可以使APP应用程序更可靠。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。