OS第四章线程(thread)

线程是进程中的运行实体,是CPU调度单位,包括线程ID、程序计数器、寄存器组、栈空间和TCB。线程与进程在调度、并发性和资源拥有上有区别。线程实现有用户级和内核支持两种方式,前者在系统调用时可能阻塞整个进程,后者在切换时系统开销较大。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概述

                        (1)thread的基本概念:进程中的一个运行实体,是CPU的调度单位

                         (2)thread包括:

                                        【1】线程ID

                                        【2】程序计数器

                                        【3】寄存器组

                                        【4】栈空间

                                        【5】TCB

                线程与属于同一进程的其他线程共享:代码段,数据段和其他操作系统资源,如打开文件和信号。

                        (3)线程和进程:

                                        【1】调度:线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位

                                        【2】并发性:进程间可以并发执行,而且一个进程中的多个进程之间亦可以并发执行。使操作系统有更好的并发性。

                                        【3】资源:进程一定拥有资源,是系统中拥有资源的一个基本单位。而一般县城不拥有系统资源(也有一点必不可少的资源)

                                        【4】系统开销

 线程和进程的并发并行。

2、线程的实现方式:

ULT是与内核无关的:

 

线程的调度:

 用户级现成的系统,其调度仍以进程为单位。若内核支持线程,则调度是以线程为单位进行的。

 对于多处理器系统(对立于采取进程机制的操作系统),内核支持线程优势体现在运行、调度、开销

甚至可以说在对线程的优劣势考虑中,主要面临的就是针对于两种不同的操作系统,两种实现线程方法在运行、调度、开销上的体现的对比。

 缺点:

 用户级现成在基于进程机制的操作系统中,当线程执行一个系统调用的时候,阻碍对象是进程,所以不仅该线程被阻塞,其所属的整个线程都将会被阻塞。

 内核支持线程的主要缺点是:对于用户的线程而言,其模式切换的开销较大,在同一个进程中,从一个线程切换到另一个线程时,需要从用户态转为用户进程的线程在用户态运行,而线程调度和管理是在内核实现的,系统开销较大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值