计算机操作系统——进程管理(7)

线程

进程是资源分配的基本单位,线程是任务调度的基本单位。引入进程是为了使多道程序有条不紊的并发执行,提高资源利用率和系统吞吐量;引入进程是为了减少程序在并发执行时所付出的时空开销。


线程间的同步和通信

1、互斥锁:共享多个资源时导致死锁。

2、互斥锁+条件变量:解决共享一个临界资源时的死锁问题。

3、信号量:①私用信号量:存放于应用程序的地址空间中,OS并不知道其存在,用于同一进程中各线程之间的同步;②公用信号量:存放于受保护的系统存储区中,由OS为它分配空间并进行管理,用于不同进程间或不同进程的线程之间的同步。


线程的实现方式

1、内核支持线程KST:无论是用户进程中的线程,还是系统进程中的线程,他们的创建、撤消、切换以及要求由系统设备完成的I/O操作,都是在内核空间中实现的。

2、用户级线程ULT:创建、撤消、切换以及同步和通信,都无需内核的支持。内核完全不知道用户级线程的存在。

3、KST/ULT组合方式


线程的实现

1、内核支持线程的实现:系统在创建一个新进程时,便为它分配一个任务数据区PDTA,其中包含若干个线程控制块TCB空间。在每一个TCB中可保存线程标识符、优先级、线程运行的CPU状态信息等。虽然这些信息与用户级线程TCB中的信息相同,但现在却是被保存在内核空间中。

2、用户级线程的实现:采用中间系统①运行时系统;②内核支持线程(如下图)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值