孙钟秀操作系统第二章处理机管理

孙钟秀操作系统第二章处理机管理

ID:46277091

大小:249.00 KB

页数:18页

时间:2019-11-22

孙钟秀操作系统第二章处理机管理_第1页
孙钟秀操作系统第二章处理机管理_第2页
孙钟秀操作系统第二章处理机管理_第3页
孙钟秀操作系统第二章处理机管理_第4页
孙钟秀操作系统第二章处理机管理_第5页
资源描述:

《孙钟秀操作系统第二章处理机管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、引入多线程的动机引入进程的目的是为了使多个程序并发执行,以改善资源使用率、提高系统效率。再引入线程,则是为了减少程序并发执行时所付出的时空开销,使得并发粒度更细、并发性更好。2.4线程及其实现进程的两项功能1.进程是资源分配和保护基本单位。2.进程同时又是一个可独立调度和分派的基本单位。进程作为一个资源拥有者,在创建、撤消、切换中,系统必须为之付出较大时空开销。所以系统中进程的数量不宜过多,进程切换的频率不宜过高,但这也就限制了并发程度的进一步提高。为解决此问题,人们想到将进程的上述两个功能分开,即对作为调度和分派的基本单位,不同时作为独立分配资源的单位;对拥有资源的单位,不对

2、之进行频繁切换。线程因而产生。二、多线程环境中的进程与线程1.多线程结构进程进程进程PCB资源线程控制块用户栈核心栈线程控制块用户栈核心栈…线程n控制块用户栈核心栈存储区存储空间全局数据程序代码线程1线程1线程控制块…线程2线程1线程控制块用户栈核心栈线程i线程n多线程环境中进程的定义进程是操作系统中除处理器外进行的资源分配和保护的基本单位,它有一个独立的虚拟地址空间,用来容纳进程映像(如与进程关联的程序与数据),并以进程为单位对各种资源实施保护,如受保护地访问处理器、文件、外部设备及其他进程(进程间通信)。多线程环境中的线程概念线程是操作系统进程中能够并发执行的实体,是处理器调度

3、和分派的基本单位。每个进程内可包含多个可并发执行的线程。线程自己基本不拥有系统资源,只拥有少量必不可少的资源:程序计数器、一组寄存器、栈。同属一个进程的线程共享进程所拥有的主存空间和资源。2.引入线程的好处创建一个新线程花费时间少(结束亦如此)两个线程的切换花费时间少因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核3.线程与进程的比较线程具有进程的许多特征,故又称轻型进程,传统进程称重型进程。在引入线程的OS中,每一进程都拥有多个线程,至少一个。(1)调度在传统OS中,拥有资源、独立调度和分派的基本单位都是进程,在引入线程的系统中,线程是调度和分派的基本单位,而

4、进程是拥有资源的基本单位。在同一个进程内线程切换不会产生进程切换,由一个进程内的线程切换到另一个进程内的线程时,将会引起进程切换。(2)并发性在引入线程的系统中,进程之间可并发,同一进程内的各线程之间也能并发执行。因而系统具有更好的并发性。(3)拥有资源无论是传统OS,还是引入线程的OS,进程都是拥有资源的独立单位,线程一般不拥有系统资源,但它可以访问隶属进程的资源。即一个进程的所有资源可供进程内的所有线程共享。(4)系统开销进程的创建和撤消的开销要远大于线程创建和撤消的开销,进程切换时,当前进程的CPU环境要保存,新进程的CPU环境要设置,线程切换时只须保存和设置少量寄存器,并不

5、涉及存储管理方面的操作,可见,进程切换的开销远大于线程切换的开销。同时,同一进程内的各线程由于它们拥有相同的地址空间,它们之间的同步和通信的实现也变得比较容易。三、线程的实现多线程的实现分为三类:用户级线程(UserLevelThread,ULT):对于这种线程的创建、撤消、和切换,由用户程序来实现,内核并不知道用户级线程的存在。内核级线程(KernelLevelThread,KLT):它们是依赖于内核的,即无论是用户进程中的线程,还是系统进程中的线程,它们的创建、撤消、切换都由内核实现。混合式线程:同时支持ULT和KLT两种线程。1.用户级线程(ULT)由应用程序完成所有线程的管

6、理通过用户空间中的线程库来完成内核并不知道线程的存在。线程库提供线程运行管理系统:创建、撤消线程在线程之间传递消息和数据调度线程执行保护和恢复线程上下文例子:Java线程库用户级线程的优点和缺点优点:线程切换不调用核心调度是应用程序特定的:可以按需要选择好的算法ULT可运行在任何操作系统上(只需要线程库),可以在一个不支持线程的OS上实现缺点:由于大多数系统调用是阻塞的,因此一个用户级线程的阻塞会引起整个进程的阻塞。核心只将处理器分配给进程,同一进程中的两个线程不能同时运行于两个处理器上2.核心级线程(KLT)所有线程管理由核心完成没有线程库,但核心提供线程API来使用线程核心维护

7、进程和线程的上下文线程之间的切换需要核心支持以线程为基础进行调度例子:Windows2003、OS/2核心级线程的优点和缺点优点:对多处理器,核心可以同时调度同一进程的多个线程阻塞是在线程一级完成缺点:在同一进程内的线程切换调用内核,系统开销较大3.混合式线程既支持用户级线程,又支持内核级线程。例子:Solaris

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。