- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统中线程概念的教学方法研究.doc
操作系统中线程概念的教学方法研究
操作系统中线程概念的教学方法研究
1.引言
在《操作系统》课程中,线程是非常重要的概念之一,但由于其抽象性,学生在掌握理解时有一定难度,历.L.来都是教学难点。我在参加全国高校操作系统课程培训交流时,发现很多授课老师对线程的概念很含糊,解释不清为何线程切换付出的时空代价比进程切换小,学生更是一头雾水。本文有针对性地采用实例教学和原理比较教学,注重对学生兴趣的培养,采用将理论与实践相结合的教学方法,打开学生的谜团,彻底理解线程的概念。授课中先以生活中生动的实例解释概念,使学生产生最直观的认识和理解,然后从原理出发,揭开线程的面纱。
理解线程,必须首先掌握程序、进程的概念,本文首先介绍程序、进程和线程的关系与区别,其次进一步从原理出发解释进程和线程切换过程及切换中系统付出的代价,最后提出通过线程仿真编程使学生彻底掌握线程的概念。
2.程序、进程和线程的关系与区别
2.1程序和进程
程序(Program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合,是存储在外存储器的,是静态的。而进程(Process)则是程序的一次执行过程,是动态的。对此概念的理解可以使用例子:可以把一首歌曲的曲谱看成是程序,根据曲谱演奏音乐就是进程,曲谱可以长期保存,而演奏是个动态的过程,同一个曲谱可以多次演奏,一次演奏也可以综合多个曲谱。
关于进程的进一步讲解如下。
程序在运行过程中需要占有计算机的各种资源才能运行。如果任一时刻,系统中只有一道程序,即单道程序系统,程序则在整个运行过程中独占计算机全部资源,整个程序运行的过程就非常简单,管理起来也非常容易。比方说当今的房价和租金都非常高,如果一个职员A独自租了一套房子,他想看电视就看电视,想去卫生间就去卫生间,就没人和他抢占资源。但为了提高资源利用率和系统处理能力,现代计算机系统都是多道程序系统,即多道程序并发执行。程序的并发执行带来了一些新的问题,如资源的共享与竞争,它会改变程序的执行速度。好比上例中由于租金过高,A经济压力过大,只好和B合租一套,当A想去卫生间的时候,如果此时B在使用卫生间,则A只得等待,影响了A的节奏。如果程序执行速度不当,就会导致程序的执行结果失去封闭性和可再现性,这是我们不希望看到的。因此应该采取措施制约、控制各并发程序段的执行速度。由于程序是静态的,我们看到的程序是存储在存储介质上的,它无法反映出程序执行过程中的动态特性,而且程序在执行过程中不断申请资源,程序作为共享资源的基本单位是不合适的,需要引入一个概念,它能描述程序的执行过程而且可以作为共享资源的基本单位,这个概念就是进程。
2.2进程和线程
在操作系统中引入进程的目的是使多个程序并发执行,改善资源利用率及提高系统的吞吐量;再引入线程(Thread)则是为了减少程序并发执行时付出的时空开销,使操作系统具有更好的并发性。
线程其实并不是一个新的概念,实际上它是进程概念的延伸。如果一个程序只有一个进程就可以处理所有的任务,它就是单一线程的。如果一个程序可以被分解为多个进程共同完成程序的任务,这个程序被分解的不同进程就叫做线程(如图1),也叫轻量级进程(Light WEight Processes)。线程有几种模式,如单线程、单元线程模式和自由线程模式。
为了使学生理解线程概念,可以将程序比喻成一个搬家的过程:将所有物品从一所房子搬到另外一所房子。如果采用单线程方法,就需要你自己完成从打包到扛箱子、运输再到拆包的所有工作。如果使用多线程的单元模式,表示邀请了几位朋友来帮忙,每个朋友都负责一个单独的工作,并且不能帮助其他人,他们各自负责自己空间内的物品搬运。如果采用自由线程模式,邀请来的所有朋友就可以随时在任何一个房间工作,共同打包物品。例子中搬家就是运行所有线程的进程,参与搬家的每个朋友所承担的工作都是一个线程。显然使用线程能够更有效、更迅速地执行程序。
3.对线程的进一步理解
线程为轻量级进程,也是CPU调度和分派的基本单元,线程不能够独立执行,必须依存在某个进程中;进程则被称为重量级进程,它是系统分配资源的单位,可拥有多个线程,能同时执行多个任务,他们之间的关系可以简单地由图2表示。
线程和进程的关系如下:线程是属于进程的,线程运行在进程空间内,同一进程产生的线程共享同一内存空间,当进程退出时该进程产生的线程都会被强制退出并清除。线程可与属于同一进程的其他线程共享进程拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一些在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。此外,由于一个进程中的多个线程具有相同的地址空间,在同步和通信的实现方面线程也比进程容易。在一些操作系统中,线程的切换、同步和通信都无须操
您可能关注的文档
最近下载
- 2025-2030中国实物文件销毁服务提供者服务行业市场发展趋势与前景展望战略研究报告.docx
- Mendeley使用介绍.pdf VIP
- 公考公务员考试省考国考行测常识判断题库完美版.docx VIP
- 常用词汇汉梵对照表.doc VIP
- 2025年中国人寿:国寿健康产业投资有限公司招聘笔试参考题库附带答案详解.pdf
- 小区物业管理服务质量量化考核表.docx VIP
- NB/T47020~47027-2012 压力容器法兰、垫片、紧固件.pdf
- 《能源工业互联网平台 新能源场站设备数据字典规范》.pdf VIP
- 保洁培训常用清洁剂的认识与使用.docx VIP
- 木材的燃烧与阻燃.pptx VIP
文档评论(0)