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

操作系統(tǒng)中進(jìn)程與線程的教學(xué)探討

2021-03-08 19:27:52仝瑞陽(yáng)
科學(xué)與財(cái)富 2021年2期
關(guān)鍵詞:進(jìn)程

仝瑞陽(yáng)

摘 要:本文闡述了進(jìn)程、線程概念,描述了進(jìn)程與線程的關(guān)系;通過(guò)我們熟悉的知識(shí)競(jìng)賽場(chǎng)景做類比,能深入淺出地理解操作系統(tǒng)中的進(jìn)程、線程概念及執(zhí)行過(guò)程;以門鑰匙為例生動(dòng)、形象地詮釋了進(jìn)程間的通訊、同步與互斥機(jī)制;闡述了進(jìn)程、線程的創(chuàng)建方法以及應(yīng)用特征。

關(guān)鍵詞:進(jìn)程;線程;并發(fā);共享;資源

0引言

操作系統(tǒng)是應(yīng)用程序(用戶)與計(jì)算機(jī)硬件的中間層,其管理計(jì)算機(jī)軟硬件、為用戶提供接口。操作系統(tǒng)的核心是進(jìn)程、線程的調(diào)度執(zhí)行;為了提高CPU的執(zhí)行效率引入多進(jìn)程、多線程機(jī)制,準(zhǔn)確理解進(jìn)程、線程是掌握操作系統(tǒng)原理的關(guān)鍵。

1進(jìn)程與線程

進(jìn)程:是有獨(dú)立功能的程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過(guò)程,是一個(gè)被操作系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立調(diào)度單位。由機(jī)器指令、數(shù)據(jù)、堆棧和控制等部分組成。進(jìn)程是程序執(zhí)行的過(guò)程;進(jìn)程有就緒、執(zhí)行、阻塞等幾種狀態(tài)。

線程:是CPU調(diào)度和分派的基本單位,它可與同屬一個(gè)進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源[1]。

進(jìn)程和線程的關(guān)系:線程是進(jìn)程的一部分,一個(gè)線程只能屬于一個(gè)進(jìn)程,一個(gè)進(jìn)程可以有多個(gè)線程,但至少有一個(gè)線程。

進(jìn)程和線程的區(qū)別:進(jìn)程是操作系統(tǒng)資源(中央處理器、內(nèi)存、文件、網(wǎng)絡(luò)等)分配的基本單位;線程是任務(wù)調(diào)度和執(zhí)行的基本單位(占用CPU)。每個(gè)進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間,線程有獨(dú)立的運(yùn)行棧和程序計(jì)數(shù)器,因此進(jìn)程之間切換開(kāi)銷大,線程之間切換開(kāi)銷小,故線程又叫輕量級(jí)進(jìn)程。系統(tǒng)為每個(gè)進(jìn)程分配不同的內(nèi)存空間;線程除CPU外不單獨(dú)分配內(nèi)存(使用其所屬進(jìn)程的資源,線程組共享)。

多進(jìn)程是多個(gè)進(jìn)程同時(shí)存在于內(nèi)存中形成并發(fā)執(zhí)行(不是同時(shí)執(zhí)行)。

為理解進(jìn)程、線程,現(xiàn)舉一我們熟悉的知識(shí)競(jìng)賽場(chǎng)景對(duì)照描述:舞臺(tái)上有n個(gè)隊(duì),每隊(duì)有m個(gè)隊(duì)員進(jìn)行搶答,搶答器系統(tǒng)對(duì)應(yīng)CPU,一個(gè)隊(duì)對(duì)應(yīng)一個(gè)進(jìn)程,一個(gè)人對(duì)應(yīng)一個(gè)線程。此時(shí)就相當(dāng)于有n個(gè)進(jìn)程,每個(gè)進(jìn)程擁有m個(gè)線程。

一個(gè)隊(duì)占有一個(gè)搶答臺(tái)位相當(dāng)于一個(gè)進(jìn)程擁有的內(nèi)存空間,m個(gè)隊(duì)員共享。

某隊(duì)員搶答有效進(jìn)行發(fā)言相當(dāng)于線程擁有CPU執(zhí)行。

進(jìn)程調(diào)度:調(diào)度算法有先來(lái)先服務(wù)(FCFS)、輪轉(zhuǎn)(RR)、優(yōu)先級(jí)、多隊(duì)列、多級(jí)反饋隊(duì)列等。調(diào)度方式有搶占式、非搶占式。隊(duì)員爭(zhēng)搶過(guò)程相當(dāng)于非搶占式、先來(lái)先服務(wù)進(jìn)程調(diào)度方法。

2 進(jìn)程間通信與同步

虛擬內(nèi)存機(jī)制(程序運(yùn)行時(shí)以分頁(yè)、段方式把一部分部分調(diào)入內(nèi)存[2])為進(jìn)程管理存儲(chǔ)資源帶來(lái)了種種好處,但是也給進(jìn)程帶來(lái)了一些麻煩,因?yàn)槊總€(gè)進(jìn)程擁有獨(dú)立的虛擬內(nèi)存地址空間,所以對(duì)不同的進(jìn)程來(lái)說(shuō)一個(gè)相同的虛擬地址以為著不同的物理地址。CPU執(zhí)行指令是采用了虛擬地址,對(duì)于一個(gè)特定的變量來(lái)說(shuō),對(duì)應(yīng)著一個(gè)特定的虛擬地址。因此兩個(gè)進(jìn)程不能通過(guò)簡(jiǎn)單的共享變量的方式來(lái)進(jìn)行通信,只能用信號(hào)、管道等方式通信,效率比直接共享內(nèi)存方式差。

進(jìn)程互斥與同步:多進(jìn)程并發(fā)執(zhí)行會(huì)出現(xiàn)爭(zhēng)用資源,若資源唯一(象獨(dú)木橋一次只許一人),就必須對(duì)資源使用進(jìn)行限制,爭(zhēng)用這一資源的進(jìn)程稱為是互斥關(guān)系,某段時(shí)間只能某個(gè)進(jìn)程占用資源。若某兩個(gè)或幾個(gè)進(jìn)程執(zhí)行順序先后是確定的不能改變(如生產(chǎn)和消費(fèi)必須是先生產(chǎn)再消費(fèi))稱這兩個(gè)進(jìn)程是同步關(guān)系。

互斥、同步通過(guò)信號(hào)量機(jī)制給以保障。信號(hào)量相當(dāng)于門鎖的鑰匙,互斥相當(dāng)于只有一把鑰匙,拿到鑰匙者開(kāi)鎖進(jìn)門,出來(lái)時(shí)交出鑰匙,只能一人進(jìn)門(實(shí)現(xiàn)原語(yǔ)操作);同步的實(shí)現(xiàn)用兩層信號(hào)量,相當(dāng)于兩道門鎖,第一道門是先后次序(生產(chǎn)先執(zhí)行,消費(fèi)者看有產(chǎn)品再執(zhí)行)的控制,第二道門實(shí)現(xiàn)互斥。

3進(jìn)程、線程創(chuàng)建

進(jìn)程創(chuàng)建唯一方法是調(diào)用函數(shù)fork(),該調(diào)用創(chuàng)建一個(gè)與原進(jìn)程代碼完全一樣的子進(jìn)程,原進(jìn)程稱為父進(jìn)程,新進(jìn)程稱為子進(jìn)程,父子進(jìn)程不同的是進(jìn)程標(biāo)識(shí)號(hào)(PID)以及它們的進(jìn)程控制塊(PCB)中的父子進(jìn)程標(biāo)識(shí)號(hào)記錄字段,通過(guò)下面代碼作一說(shuō)明:

If(fort()==0)

Printf(“I am? son_process\n”);

else

Printf(“I am father_process\n”);

Sleep(1);

執(zhí)行結(jié)果是I am? son_process

I am fathe_rprocess

或者: I am father_process

I am? son_proces

從結(jié)果看if與else中的代碼都完成一次執(zhí)行,說(shuō)明fort()向父進(jìn)程返回了不為0的值(即進(jìn)程的ID)而向子進(jìn)程返回了0值。

線程創(chuàng)建:C語(yǔ)言利用Pthreads庫(kù)創(chuàng)建線程數(shù)據(jù)結(jié)構(gòu),Pthreads運(yùn)行在用戶空間,內(nèi)核調(diào)度實(shí)體(KSE)運(yùn)行在內(nèi)核空間;Linux內(nèi)核提供clone系統(tǒng)調(diào)用創(chuàng)建類似線程的輕量級(jí)進(jìn)程[3]。

Java中線程的實(shí)現(xiàn):Java語(yǔ)言提供了java.lang.Thread類來(lái)表示線程,提供了run方法表示線程的運(yùn)行的邏輯控制流[4]。

4結(jié)語(yǔ)

構(gòu)建并發(fā)程序可以基于進(jìn)程也可基于線程,現(xiàn)代多任務(wù)操作系統(tǒng)(如WINDOWS)采用時(shí)間片輪轉(zhuǎn)調(diào)度的多線程方式,由于切換開(kāi)銷比進(jìn)程小,并發(fā)執(zhí)行效率高。

參考文獻(xiàn):

[1]湯小丹,梁紅兵,哲鳳屏,等. 計(jì)算機(jī)操作系統(tǒng).4版. 西安:西安電子科技大學(xué)出版社, 2019 ,39-40

[2]白中英,戴志濤.計(jì)算機(jī)組成原理.6版.北京:科學(xué)出版社,2019,104-105

[3]邵國(guó)金等.Linux操作系統(tǒng).3版.電子工業(yè)出版社,2018,339

[4]軟件開(kāi)發(fā)技術(shù)聯(lián)盟.Java開(kāi)發(fā)實(shí)戰(zhàn).清華大學(xué)出版社,2013,237-238

猜你喜歡
進(jìn)程
債券市場(chǎng)對(duì)外開(kāi)放的進(jìn)程與展望
改革開(kāi)放進(jìn)程中的國(guó)際收支統(tǒng)計(jì)
快速殺掉頑固進(jìn)程
社會(huì)進(jìn)程中的新聞學(xué)探尋
我國(guó)高等教育改革進(jìn)程與反思
Linux僵死進(jìn)程的產(chǎn)生與避免
講效率 結(jié)束進(jìn)程要批量
電腦迷(2012年24期)2012-04-29 00:44:03
男女平等進(jìn)程中出現(xiàn)的新矛盾和新問(wèn)題
俄羅斯現(xiàn)代化進(jìn)程的阻礙
論文萊的民族獨(dú)立進(jìn)程
主站蜘蛛池模板: 尤物精品视频一区二区三区 | 国产精品30p| 一区二区三区精品视频在线观看| 91视频精品| 日韩大片免费观看视频播放| 性激烈欧美三级在线播放| 综合网天天| 91精品国产一区自在线拍| 四虎亚洲国产成人久久精品| 丁香五月婷婷激情基地| 国产精品永久不卡免费视频| 粗大猛烈进出高潮视频无码| 91精品啪在线观看国产60岁 | 国产成人亚洲综合A∨在线播放 | 日本午夜视频在线观看| 韩国福利一区| 国产精品无码一区二区桃花视频| 99视频精品全国免费品| 欧美成人在线免费| 欧美中文字幕一区| 欧美日本在线播放| 色婷婷色丁香| 一级看片免费视频| 欧美a级在线| 蜜桃视频一区二区| 亚洲香蕉伊综合在人在线| 日韩高清在线观看不卡一区二区| 亚洲色精品国产一区二区三区| 欧美日韩v| 亚洲欧美一区二区三区图片 | 国产无人区一区二区三区| 色综合天天视频在线观看| 99r在线精品视频在线播放| 爱色欧美亚洲综合图区| 日本中文字幕久久网站| 欧洲免费精品视频在线| 国产精品不卡片视频免费观看| 亚洲丝袜中文字幕| 国产精品手机在线观看你懂的| 午夜成人在线视频| 亚洲视频免费在线看| 午夜欧美在线| 黄色网在线| 中文字幕66页| 国产精品美女自慰喷水| 欧美日韩国产精品va| 国产成人亚洲毛片| 伊人91视频| 青青草原国产免费av观看| 精品無碼一區在線觀看 | 小说区 亚洲 自拍 另类| 99视频在线免费| 91久久夜色精品| 成人一区专区在线观看| 无码免费视频| 九九精品在线观看| 无码精品国产VA在线观看DVD| 一区二区影院| 都市激情亚洲综合久久| 国产成人艳妇AA视频在线| 国产91透明丝袜美腿在线| 欧美日韩另类在线| 国产午夜看片| 久久99国产精品成人欧美| 日本高清有码人妻| 露脸国产精品自产在线播| 在线观看国产精品第一区免费| 亚洲床戏一区| 精品伊人久久久香线蕉| 99久久精品国产精品亚洲| 国产av无码日韩av无码网站| 伊人福利视频| 午夜精品福利影院| 性激烈欧美三级在线播放| 色哟哟精品无码网站在线播放视频| 国产区免费精品视频| a级毛片视频免费观看| 亚洲高清日韩heyzo| 青青青视频91在线 | 久久激情影院| 亚洲性影院| 久久无码高潮喷水|