999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

操作系統中線程概念的教學方法研究

2012-04-29 22:00:46王令群韓彥嶺李凈
考試周刊 2012年9期
關鍵詞:進程程序概念

王令群 韓彥嶺 李凈

摘要: 在《操作系統》課程中,線程是一個非常重要的概念,一直都是該課程的授課難點。結合幾年來的教學經驗,作者對其教法進行探討和總結,提出了教授該概念的技巧和方法,實踐證明學生可徹底掌握線程的概念。

關鍵詞: 《操作系統》線程教學方法

1.引言

在《操作系統》課程中,線程是非常重要的概念之一,但由于其抽象性,學生在掌握理解時有一定難度,歷來都是教學難點。我在參加全國高校操作系統課程培訓交流時,發現很多授課老師對線程的概念很含糊,解釋不清為何線程切換付出的時空代價比進程切換小,學生更是一頭霧水。本文有針對性地采用實例教學和原理比較教學,注重對學生興趣的培養,采用將理論與實踐相結合的教學方法,打開學生的謎團,徹底理解線程的概念。授課中先以生活中生動的實例解釋概念,使學生產生最直觀的認識和理解,然后從原理出發,揭開線程的面紗。

理解線程,必須首先掌握程序、進程的概念,本文首先介紹程序、進程和線程的關系與區別,其次進一步從原理出發解釋進程和線程切換過程及切換中系統付出的代價,最后提出通過線程仿真編程使學生徹底掌握線程的概念。

2.程序、進程和線程的關系與區別

2.1程序和進程

程序(Program)是為實現特定目標或解決特定問題而用計算機語言編寫的命令序列的集合,是存儲在外存儲器的,是靜態的。而進程(Process)則是程序的一次執行過程,是動態的。對此概念的理解可以使用例子:可以把一首歌曲的曲譜看成是程序,根據曲譜演奏音樂就是進程,曲譜可以長期保存,而演奏是個動態的過程,同一個曲譜可以多次演奏,一次演奏也可以綜合多個曲譜。

關于進程的進一步講解如下。

程序在運行過程中需要占有計算機的各種資源才能運行。如果任一時刻,系統中只有一道程序,即單道程序系統,程序則在整個運行過程中獨占計算機全部資源,整個程序運行的過程就非常簡單,管理起來也非常容易。比方說當今的房價和租金都非常高,如果一個職員A獨自租了一套房子,他想看電視就看電視,想去衛生間就去衛生間,就沒人和他搶占資源。但為了提高資源利用率和系統處理能力,現代計算機系統都是多道程序系統,即多道程序并發執行。程序的并發執行帶來了一些新的問題,如資源的共享與競爭,它會改變程序的執行速度。好比上例中由于租金過高,A經濟壓力過大,只好和B合租一套,當A想去衛生間的時候,如果此時B在使用衛生間,則A只得等待,影響了A的節奏。如果程序執行速度不當,就會導致程序的執行結果失去封閉性和可再現性,這是我們不希望看到的。因此應該采取措施制約、控制各并發程序段的執行速度。由于程序是靜態的,我們看到的程序是存儲在存儲介質上的,它無法反映出程序執行過程中的動態特性,而且程序在執行過程中不斷申請資源,程序作為共享資源的基本單位是不合適的,需要引入一個概念,它能描述程序的執行過程而且可以作為共享資源的基本單位,這個概念就是進程。

2.2進程和線程

在操作系統中引入進程的目的是使多個程序并發執行,改善資源利用率及提高系統的吞吐量;再引入線程(Thread)則是為了減少程序并發執行時付出的時空開銷,使操作系統具有更好的并發性。

“線程”其實并不是一個新的概念,實際上它是進程概念的延伸。如果一個程序只有一個進程就可以處理所有的任務,它就是單一線程的。如果一個程序可以被分解為多個進程共同完成程序的任務,這個程序被分解的不同進程就叫做線程(如圖1),也叫輕量級進程(Light Weight Processes)。線程有幾種模式,如單線程、單元線程模式和自由線程模式。

為了使學生理解線程概念,可以將程序比喻成一個搬家的過程:將所有物品從一所房子搬到另外一所房子。如果采用單線程方法,就需要你自己完成從打包到扛箱子、運輸再到拆包的所有工作。如果使用多線程的單元模式,表示邀請了幾位朋友來幫忙,每個朋友都負責一個單獨的工作,并且不能幫助其他人,他們各自負責自己空間內的物品搬運。如果采用自由線程模式,邀請來的所有朋友就可以隨時在任何一個房間工作,共同打包物品。例子中搬家就是運行所有線程的進程,參與搬家的每個朋友所承擔的工作都是一個線程。顯然使用線程能夠更有效、更迅速地執行程序。

3.對線程的進一步理解

線程為輕量級進程,也是CPU調度和分派的基本單元,線程不能夠獨立執行,必須依存在某個進程中;進程則被稱為重量級進程,它是系統分配資源的單位,可擁有多個線程,能同時執行多個任務,他們之間的關系可以簡單地由圖2表示。

線程和進程的關系如下:線程是屬于進程的,線程運行在進程空間內,同一進程產生的線程共享同一內存空間,當進程退出時該進程產生的線程都會被強制退出并清除。線程可與屬于同一進程的其他線程共享進程擁有的全部資源,但是其本身基本上不擁有系統資源,只擁有一些在運行中必不可少的信息(如程序計數器、一組寄存器和棧)。此外,由于一個進程中的多個線程具有相同的地址空間,在同步和通信的實現方面線程也比進程容易。在一些操作系統中,線程的切換、同步和通信都無須操作系統內核的干預。

由于進程是一個資源的擁有者,因而在創建、撤銷和切換中,系統必須為之付出較大的時空開銷。在系統中設置的進程,其數目不宜過多,進程切換的頻率也不宜過高,這就限制了并發程度的進一步提高。引入線程后,因線程基本不攜帶資源,切換時系統付出的時空代價遠小于進程的切換,在這點上,很多老師講解不清為何線程攜帶資源少,切換時付出的時空代價也小,下面分別介紹進程切換和線程切換的過程,以便幫助老師和學生理解線程切換的代價為何遠小于進程切換,進而對線程有更深入的認識。

3.1進程的切換過程

進行進程切換就是從正在運行的進程中收回處理器,然后使待運行的進程占用處理器。這里所說的從某個進程收回處理器,實質上就是把進程存放在處理器的寄存器中的中間數據找個地方存起來,從而把處理器的寄存器騰出來讓其他進程使用,被中止運行進程的中間數據則被存在進程的私有堆棧中。讓進程占用處理器,則是把該進程存放在私有堆棧中寄存器的數據(前一次本進程被中止時的中間數據)再恢復到處理器的寄存器中,并把待運行進程的斷點送入處理器的程序指針PC,于是待運行進程就開始被處理器運行了,也就是這個進程已經占有處理器的使用權了。這好比教室的切換,第一大節課結束后,正在使用教室的老師和學生帶著自己的物品離開教室,老師會記住這堂課講到課本的第幾頁,然后第二大節課在該教室上課的老師和學生進入該教室,開始上課,這就是教室使用權切換的過程。

在切換時,一個進程存儲在處理器各寄存器中的中間數據叫做進程的上下文,所以進程的切換實質上就是被中止運行進程與待運行進程上下文的切換。在進程未占用處理器時,進程的上下文是存儲在進程的私有堆棧中的。

在進程切換時,被中止進程保護斷點和待運行進程恢復斷點的示意圖,見圖3,被終止進程需將處理器PC寄存器、PSW等寄存器的值保存至被中止進程的私有堆棧,SP寄存器等值則保存至進程控制塊;待運行進程則從進程控制塊和私有堆棧中取出PC值、SP值、PSW值等上次被中斷時各寄存器的值并送入處理器的各個寄存器。在該過程中,需要保存和恢復的數據很多,系統付出的時間和空間代價比較大。

3.2線程切換過程

線程作為獨立調度和分派的基本單位,只擁有在運行中必需的少量資源(程序計數器,一組寄存器和棧),它和同屬一個進程的其他線程共享進程擁有的全部資源。

在進程切換時,涉及當前進程CPU環境的保存及新被調度運行進程的CPU環境的設置,需要保存和恢復大量的數據。而同一進程的線程切換則僅需保存和設置少量寄存器內容,程序和數據的地址空間不變,即不涉及存儲器管理方面的操作,故其切換代價遠低于進程。但如果從一個進程中的線程切換到另一個進程中的線程,就會引起進程的切換。

4.通過仿真實驗掌握線程的概念

在深入理解線程的概念后,對于程序設計基礎比較好的學生,使用VC或JAVA語言多線程技術編寫線程的同步與互斥程序,使他們通過學習和實際動手編寫程序更好地掌握線程的概念,提高思考和編程能力。

5.結語

線程是操作系統非常重要的概念,但因其概念抽象,不易理解,一直是教學難點之一,本文的實例教學和原理比較教學,可以使學生在短時間內深入了解線程的概念,實踐證明了該方法的有效性,實例教學提高了學生對操作系統學習的興趣,后期的編程仿真增強了學生的編程能力,教學效果顯著。

參考文獻:

[1]湯子贏,哲鳳屏,湯小丹.計算機操作系統[M].西安電子科技大學出版社,2006.

[2]陳渝,操作系統-精髓與設計原理[M].電子工業出版社,2006.

[3]趙正德,吳紹春,陶永振等.“操作系統”課程教學改革與建設的研究與實踐[J].計算機教育,2009,(14):16-18.

[4]徐欽桂,楊桃欄.比較教學法在操作系統教學中的應用與實踐[J].計算機教育,2010,(10):95-99.

[5]葉保留,費翔林,葛季棟等.“操作系統”實驗課程建設與教學探討[J].計算機教育,2009,(14):122-125.

基金項目:上海市教委重點課程建設項目(A-2601-12-0009)。

猜你喜歡
進程程序概念
Birdie Cup Coffee豐盛里概念店
現代裝飾(2022年1期)2022-04-19 13:47:32
幾樣概念店
現代裝飾(2020年2期)2020-03-03 13:37:44
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
學習集合概念『四步走』
聚焦集合的概念及應用
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
主站蜘蛛池模板: a毛片在线| 精品一区二区三区水蜜桃| 五月婷婷导航| 国产白浆在线| 免费aa毛片| 玖玖精品视频在线观看| 国产精品999在线| 精品人妻无码中字系列| h网站在线播放| 日本a级免费| 亚洲日本www| 久久精品国产亚洲麻豆| 免费全部高H视频无码无遮掩| 情侣午夜国产在线一区无码| 国产超碰一区二区三区| 天堂av综合网| 国产视频 第一页| 五月激激激综合网色播免费| 亚洲IV视频免费在线光看| 日韩无码白| 亚洲女同一区二区| 国产靠逼视频| 国产亚洲精品精品精品| 幺女国产一级毛片| 欧美在线三级| 免费一看一级毛片| 国产欧美日韩另类| 免费jizz在线播放| 永久天堂网Av| 日本成人不卡视频| 一级毛片视频免费| 国产资源站| 欧美区一区二区三| 国产区成人精品视频| 亚洲精品中文字幕午夜| 九色视频一区| 国产精品久久久久无码网站| 亚洲中文字幕国产av| 国产在线视频导航| 一区二区三区四区精品视频| 欧美乱妇高清无乱码免费| 午夜成人在线视频| 亚洲国产成人久久77| 欧美午夜小视频| 国产97区一区二区三区无码| 婷婷在线网站| 高清码无在线看| 久久www视频| 99re视频在线| 国产精品中文免费福利| 免费全部高H视频无码无遮掩| av在线手机播放| 日本久久网站| 69精品在线观看| 日韩黄色大片免费看| 又黄又湿又爽的视频| 国产亚洲精品自在久久不卡 | 精品夜恋影院亚洲欧洲| 毛片久久网站小视频| 亚洲视频在线网| 97超爽成人免费视频在线播放| 91尤物国产尤物福利在线| 久久动漫精品| 久青草免费在线视频| 欧美精品啪啪| 亚洲性影院| 精品小视频在线观看| 亚洲精品在线91| 国产va在线观看| 五月天在线网站| 国产免费怡红院视频| 国产亚洲欧美日韩在线一区| 成人伊人色一区二区三区| 久久国产亚洲偷自| 米奇精品一区二区三区| 日本道综合一本久久久88| 5555国产在线观看| 亚洲人成网线在线播放va| www精品久久| 免费A∨中文乱码专区| 在线欧美a| 黄色国产在线|