操作系统复习笔记--第四章 线程

四.线程

1、线程的引入目的:减少进程切换和创建开销,提高执行效率和节省资源

2、实现:将进程的资源申请和调度属性分开。即进程作为资源的申请和拥有者,但不作为调度的基本单位,这样,就产生了线程的概念。

3、线程:是进程中的一个实体,是独立调度和分派的基本单位。

4、优点响应度高、经济、资源共享多处理器体系结构的利用

5、线程是CPU运行的一个基本单元,包括程序计数器、寄存器集、栈空间

6、一个线程与它的对等线程共享代码段、数据段、操作系统资源

7、传统的或重型进程等价于只有一个线程的任务

8、线程分为内核线程和用户线程

9、用户级线程和核心级线程的区别

(1)线程的调度与切换时间

用户级线程的切换通常发生在一个应用进程的多个线程之间,无须通过中断进行OS的内核,且切换规则也简单,因此其切换速度特别快。而核心级线程的切换时间相对比较慢。

(2)系统调用

用户级线程调用系统调用时,内核不知道用户级线程的存在,只是当作是整个进程行为,使进程等待并调度另一个进程执行,在内核完成系统调用而返回时,进程才能继续执行。而核心级线程则以线程为单位进行调度,当线程调度系统调用时,内核将其作为线程的行为,因此阻塞该线程,可以调度该进程中的其他线程执行。

(3)线程执行时间

如果用户设置了用户级线程,系统调用是以进程为单位进行的,但随着进程中线程数目的增加,每个线程得到的执行时间就少。而如果设置的是核心级线程,则调度以线程为单位,因此可以获得良好的执行时间。

10、多对一模型多个用户级线程映射到一个内核线程

(1) 线程管理由线程库在用户空间中进行,效率比较高

(2) 如果一个线程执行了阻塞系统调用,整个进程会阻塞

(3)任一时刻只有1个线程访问内核,并行性差(多核)

 

11、一对一模型:每个用户级线程映射到一个内核线程

(1)并行性高(2)  需要一一对应系统开销大

 

12、多对多模型:允许多个用户级线程映射到多个内核线程上,允许操作系统创建足够多的内核线程

 

13、二级模型:跟多对多类似,也允许一个用户线程绑定到一个内核线程上

 

14、线程取消:在线程结束前终止线程的任务

15、线程取消的两种方法

1异步取消:立即终止目标线程。2延迟取消:允许目标线程不断地检查它是否应终止,允许目标线程有机会以有序的方式终止自己

16、并发与并行的概念及区别

并行:同一时刻,两个事物均处于活动状态

示例:CPU中的超流水线设计和超标量设计

并发:宏观存在并行特征,微观上存在顺序性,同一时刻,只有一个事物处于活动状态

示例:分时操作系统中多个程序的同时运行

 

17、线程池:创建一定数量的线程,放到池中等待工作

18、优点通常用现有线程处理请求比等待创建新的线程要快,限制了在任何时候可用线程的数量

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值