




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统中线程概念的教学方法研究操作系统中线程概念的教学方法研究1.引言在?操作系统?课程中,线程是非常重要的概念之一,但由于其抽象性,学生在掌握理解时有一定难度,历论文联盟.Ll.来都是教学难点。我在参加全国高校操作系统课程培训交流时,发现很多授课教师对线程的概念很模糊,解释不清为何线程切换付出的时空代价比进程切换小,学生更是一头雾水。本文有针对性地采用实例教学和原理比拟教学,注重对学生兴趣的培养,采用将理论与理论相结合的教学方法,翻开学生的谜团,彻底理解线程的概念。授课中先以生活中生动的实例解释概念,使学消费生最直观的认识和理解,然后从原理出发,揭开线程的面纱。理解线程,必须首先掌握程序、
2、进程的概念,本文首先介绍程序、进程和线程的关系与区别,其次进一步从原理出发解释进程和线程切换过程及切换中系统付出的代价,最后提出通过线程仿真编程使学生彻底掌握线程的概念。2.程序、进程和线程的关系与区别2.1程序和进程程序Prgra是为实现特定目的或解决特定问题而用计算机语言编写的命令序列的集合,是存储在外存储器的,是静态的。而进程Press那么是程序的一次执行过程,是动态的。对此概念的理解可以使用例子:可以把一首歌曲的曲谱看成是程序,根据曲谱演奏音乐就是进程,曲谱可以长期保存,而演奏是个动态的过程,同一个曲谱可以屡次演奏,一次演奏也可以综合多个曲谱。关于进程的进一步讲解如下。程序在运行过程中
3、需要占有计算机的各种资源才能运行。假如任一时刻,系统中只有一道程序,即单道程序系统,程序那么在整个运行过程中独占计算机全部资源,整个程序运行的过程就非常简单,管理起来也非常容易。比方说当今的房价和租金都非常高,假如一个职员A单独租了一套房子,他想看电视就看电视,想去卫生间就去卫生间,就没人和他抢占资源。但为了进步资源利用率和系统处理才能,现代计算机系统都是多道程序系统,即多道程序并发执行。程序的并发执行带来了一些新的问题,如资源的共享与竞争,它会改变程序的执行速度。好比上例中由于租金过高,A经济压力过大,只好和B合租一套,当A想去卫生间的时候,假如此时B在使用卫生间,那么A只得等待,影响了A的
4、节奏。假如程序执行速度不当,就会导致程序的执行结果失去封闭性和可再现性,这是我们不希望看到的。因此应该采取措施制约、控制各并发程序段的执行速度。由于程序是静态的,我们看到的程序是存储在存储介质上的,它无法反映出程序执行过程中的动态特性,而且程序在执行过程中不断申请资源,程序作为共享资源的根本单位是不适宜的,需要引入一个概念,它能描绘程序的执行过程而且可以作为共享资源的根本单位,这个概念就是进程。2.2进程和线程在操作系统中引入进程的目的是使多个程序并发执行,改善资源利用率及进步系统的吞吐量;再引入线程Thread那么是为了减少程序并发执行时付出的时空开销,使操作系统具有更好的并发性。线程其实并
5、不是一个新的概念,实际上它是进程概念的延伸。假如一个程序只有一个进程就可以处理所有的任务,它就是单一线程的。假如一个程序可以被分解为多个进程共同完成程序的任务,这个程序被分解的不同进程就叫做线程如图1,也叫轻量级进程LightEightPresses。线程有几种形式,如单线程、单元线程形式和自由线程形式。为了使学生理解线程概念,可以将程序比喻成一个搬家的过程:将所有物品从一所房子搬到另外一所房子。假如采用单线程方法,就需要你自己完成从打包到扛箱子、运输再到拆包的所有工作。假如使用多线程的单元形式,表示邀请了几位朋友来帮助,每个朋友都负责一个单独的工作,并且不能帮助其别人,他们各自负责自己空间内
6、的物品搬运。假如采用自由线程形式,邀请来的所有朋友就可以随时在任何一个房间工作,共同打包物品。例子中搬家就是运行所有线程的进程,参与搬家的每个朋友所承当的工作都是一个线程。显然使用线程可以更有效、更迅速地执行程序。3.对线程的进一步理解线程为轻量级进程,也是PU调度和分派的根本单元,线程不可以独立执行,必须依存在某个进程中;进程那么被称为重量级进程,它是系统分配资源的单位,可拥有多个线程,能同时执行多个任务,他们之间的关系可以简单地由图2表示。线程和进程的关系如下:线程是属于进程的,线程运行在进程空间内,同一进程产生的线程共享同一内存空间,当进程退出时该进程产生的线程都会被强迫退出并去除。线程
7、可与属于同一进程的其他线程共享进程拥有的全部资源,但是其本身根本上不拥有系统资源,只拥有一些在运行中必不可少的信息如程序计数器、一组存放器和栈。此外,由于一个进程中的多个线程具有一样的地址空间,在同步和通信的实现方面线程也比进程容易。在一些操作系统中,线程的切换、同步和通信都无须操作系统内核的干预。由于进程是一个资源的拥有者,因此在创立、撤销和切换中,系统必须为之付出较大的时空开销。在系统中设置的进程,其数目不宜过多,进程切换的频率也不宜过高,这就限制了并发程度的进一步进步。引入线程后,因线程根本不携带资源,切换时系统付出的时空代价远小于进程的切换,在这点上,很多教师讲解不清为何线程携带资源少
8、,切换时付出的时空代价也小,下面分别介绍进程切换和线程切换的过程,以便帮助教师和学生理解线程切换的代价为何远小于进程切换,进而对线程有更深化的认识。3.1进程的切换过程进展进程切换就是从正在运行的进程中收回处理器,然后使待运行的进程占用途理器。这里所说的从某个进程收回处理器,本质上就是把进程存放在处理器的存放器中的中间数据找个地方存起来,从而把处理器的存放器腾出来让其他进程使用,被中止运行进程的中间数据那么被存在进程的私有堆栈中。让进程占用途理器,那么是把该进程存放在私有堆栈中存放器的数据前一次本进程被中止时的中间数据再恢复到处理器的存放器中,并把待运行进程的断点送入处理器的程序指针P,于是待
9、运行进程就开场被处理器运行了,也就是这个进程已经占有处理器的使用权了。这好比教室的切换,第一大节课完毕后,正在使用教室的教师和学生带着自己的物品分开教室,教师会记住这堂课讲到课本的第几页,然后第二大节课在该教室上课的教师和学生进入该教室,开场上课,这就是教室使用权切换的过程。在切换时,一个进程存储在处理器各寄论文联盟.Ll.存器中的中间数据叫做进程的上下文,所以进程的切换本质上就是被中止运行进程与待运行进程上下文的切换。在进程未占用途理器时,进程的上下文是存储在进程的私有堆栈中的。在进程切换时,被中止进程保护断点和待运行进程恢复断点的示意图,见图3,被终止进程需将处理器P存放器、PS等存放器的
10、值保存至被中止进程的私有堆栈,SP存放器等值那么保存至进程控制块;待运行进程那么从进程控制块和私有堆栈中取出P值、SP值、PS值等上次被中断时各存放器的值并送入处理器的各个存放器。在该过程中,需要保存和恢复的数据很多,系统付出的时间和空间代价比拟大。3.2线程切换过程线程作为独立调度和分派的根本单位,只拥有在运行中必需的少量资源程序计数器,一组存放器和栈,它和同属一个进程的其他线程共享进程拥有的全部资源。在进程切换时,涉及当前进程PU环境的保存及新被调度运行进程的PU环境的设置,需要保存和恢复大量的数据。而同一进程的线程切换那么仅需保存和设置少量存放器内容,程序和数据的地址空间不变,即不涉及存
11、储器管理方面的操作,故其切换代价远低于进程。但假如从一个进程中的线程切换到另一个进程中的线程,就会引起进程的切换。4.通过仿真实验掌握线程的概念在深化理解线程的概念后,对于程序设计根底比拟好的学生,使用V或JAVA语言多线程技术编写线程的同步与互斥程序,使他们通过学习和实际动手编写程序更好地掌握线程的概念,进步考虑和编程才能。5.结语线程是操作系统非常重要的概念,但因其概念抽象,不易理解,一直是教学难点之一,本文的实例教学和原理比拟教学,可以使学生在短时间内深化理解线程的概念,理论证明了该方法的有效性,实例教学进步了学生对操作系统学习的兴趣,后期的编程仿真增强了学生的编程才能,教学效果显著。参考文献:1汤子赢,哲凤屏,汤小丹.计算机操作系统.西安电子科技大学出版社,2022.2陈渝,操作系统精华与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 恩施成人考试试题及答案
- 电动汽车的主动安全技术研究试题及答案
- 综合农贸市场建设项目研究与可行性分析
- 聚焦重点大学化学考试试题及答案
- 大学化学考试研究进展试题及答案
- 电动汽车安全性与技术研发的新挑战试题及答案
- 旋律与和声的互动技巧探讨试题及答案
- 注册土木工程师长效复习计划探讨试题及答案
- 考试指南大学化学考试试题及答案
- 英国高薪面试题及答案
- 洗煤厂安全风险分级管控及隐患排查治理体系资料
- 毫针刺法技术操作规程
- 基于stm32的智能小车设计毕业设计论文
- 公务员职级参公人员职级套转表
- 外周介入基础知识课件
- 社会组织建设与人才队伍建设-宁夏课件
- 手术通知单模板
- GB∕T 26077-2021 金属材料 疲劳试验 轴向应变控制方法
- GB∕T 3853-2017 容积式压缩机 验收试验
- 招商合同范本4篇-合同范本
- 《二次函数图像与性质》学习评价量规
评论
0/150
提交评论