日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

试利用记录型信号量和pv操作写出_计算机操作系统知识点汇总

發布時間:2025/3/15 windows 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 试利用记录型信号量和pv操作写出_计算机操作系统知识点汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、基本特征

(1)并發:并發是指宏觀上在一段時間內能同時運行多個程序,而并行則指同一時刻能運行多個指令。操作系統通過引入進程和線程使得程序能夠并發運行;

(2)共享:共享是指系統中的資源可以被多個并發進程共同使用。共享的方式有兩種:互斥共享和同時共享;其中互斥共享的資源成為臨界資源,例如打印機等,在同一時間只允許一個進程訪問,需要用同步機制來實現對臨界資源的訪問;

(3)虛擬:虛擬是指把一個物理實體轉換為多個邏輯實體。主要的虛擬技術有兩種:時分復用技術和空分復用技術;多個進程能在同一個處理器上并發執行使用了時分復用技術,讓每個進程輪流占有處理器,每次只執行一小個時間片并快速切換;空分復用技術是指將物理內存抽象為地址空間,每個進程都有各自的地址空間。地址空間和物理內存使用頁進行交換,地址空間的頁并不需要全部在物理內存中,當使用到一個沒有在物理內存的頁時,執行頁面置換算法, 將該頁置換到內存中;

(4)異步:異步只進程不是一次性執行完畢,而是走走停停,以不可知的速度向前推進;

2、基本功能

(1)進程管理:進程控制、進程同步、進程通信、死鎖處理、處理機調度等;

(2)內存管理:內存分配、地址映射、內存保護與共享、虛擬內存等;

(3)文件管理:文件存儲空間的管理、目錄管理、文件讀寫管理和保護等;

(4)設備管理:完成用戶的IO請求,方便用戶使用各種設備,并提高設備的利用率。主要包括緩沖管理、設備分配、設備處理、虛擬設備等;

3、中斷分類

(1)外中斷:由CPU執行指令以外的時間引起,如IO完成中斷,表示設備輸入/輸出處理已經完成,處理器能夠發送下一個輸入/輸出請求。此外還有時鐘中斷、控制臺中斷等;

(2)異常:由CPU執行指令的內部時間引起,如非法操作碼、地址越界、算術溢出等;

(3)陷入:在用戶程序中使用系統調用;

二、進程管理

1、進程與線程

(1)進程:進程是資源分配的基本單位,進程控制塊PCB描述進程的基本信息和運行狀態,所謂的創建進程和撤銷進程,都是指對PCB的操作;每個進程都有獨立的代碼和數據空間(進程上下文),進程間的切換會有較大的開銷,一個進程包含至少一個線程;

(2)線程:線程是CPU調度的基本單位,一個進程中可以有多個線程,它們共享進程資源;每個線程有獨立的運行棧和程序計數器PC,線程切換開銷小;

區別:

a.擁有資源:進程是資源分配的基本單位,但是線程不擁有資源,線程可以訪問隸屬進程的資源;

b.調度:線程時獨立調度的基本單位,在同一進程中,線程的切換不會引起進程切換,從一個進程中的線程切換到另一個進程中的線程時,會引起進程切換;

c.系統開銷:由于創建或撤銷進程時,系統都要為之分配或回收資源,如內存空間、I/O設備等,所付出的開銷遠大于創建或撤銷線程時的開銷。類似地,在進行進程切換時,涉及當前進程CPU環境的保存及新調度進程CPU環境的設置,而線程切換時只需保存和設置少量寄存機內容,開銷很小;

d.通信:線程間可以通過直接讀寫同一進程中的數據進行通信,但是進程通信需要借助IPC;

2、線程狀態切換

(1)新建狀態(New):新創建了一個線程對象;

(2)就緒狀態(Runnable):線程位于可運行線程池中,等待獲取CPU的使用權;

(3)運行狀態(Running):就緒狀態的線程獲取了CPU,執行程序代碼;

(4)阻塞狀態(Blocked):因為某種原因放棄CPU使用權,暫時停止運行。其原因主要有:等待阻塞(wait())、同步阻塞(synchronized)、其他阻塞(sleep()、join()、I/O輸入);

(5)死亡狀態(Dead):線程執行完成了或因一場退出了run()方法;

3、進程同步

臨界區:對臨界資源進行訪問的那段代碼稱為臨界區;為了互斥訪問臨界資源,每個進程在進入臨界區之前,需要先進行檢查;

同步:多個進程按一定順序執行;

互斥:多個進程在同一時刻只有一個進程能進入臨界區;

信號量:信號量是一個整型變量,可以對其執行down和up操作,也就是常見的P和V操作。

down:如果信號量大于0,執行-1操作;如果信號量等于0,進程睡眠,等待信號量大于0;

up:對信號量執行+1操作,喚醒睡眠的進程讓其完成down操作;

1

2

down和up操作需要被設計成原語,不可分割,通常的做法是在執行這些操作的時候屏蔽中斷;如果信號量的取值只能為0或者1,那么就成為了互斥量,0表示臨界區已經加鎖,1表示臨界區解鎖;

typedef int semaphore;

semaphore mutex = 1;void P1() {

down(&mutex);

// 臨界區

up(&mutex);

}

void P2() {

down(&mutex);

// 臨界區

up(&mutex);

}

1

2

3

4

5

6

7

8

9

10

11

經典同步問題:

生產者-消費者問題、讀者-寫者問題、哲學家進餐問題、理發師問題、煙鬼問題

4、進程通信

進程同步是控制多個進程按一定順序執行,進程通信是進程間傳輸信息;進程通信是一種手段,而進程同步是一種目的。也可以說,為了能夠達到進程同步的目的,需要讓進程進行通信,傳輸一些進程同步所需要的信息;

(1)管道:通常指無名管道,它是半雙工的(即數據只能在一個方向上流動),具有固定的讀端和寫端,且只能在父子進程中使用,它不是普通的文件,并不屬于其他任何文件,并且只存在于內存中;

(2)FIFO:也稱命名管道,它是一種文件類型,可以在無關的進程之間交換數據,與無名管道不同,它由路徑名與之相關聯,以一種特殊設備文件形式存在于文件系統中。它的通信方式類似于在進程中使用文件來傳輸數據,只不過FIFO類型文件同時具有管道的特性,在數據讀出時,FIFO管道中同時清除數據,并且“先進先出”;

(3)消息隊列:是消息的鏈接表,存放在內核中。一個消息隊列由一個標識符(即隊列ID)來標識,它是面向記錄的,其中的消息具有特定的格式以及特定的優先級。相比于FIFO,消息隊列可以獨立于讀寫進程存在,從而避免了FIFO中同步管道的打開和關閉時可能產生的困難;避免了FIFO的同步阻塞問題,不需要進程自己提供同步方法;讀進程可以根據消息類型有選擇地接收消息,而不像FIFO那樣只能默認地接收;進程在終止時,消息隊列及其內容并不會被刪除,它可以實現消息的隨機查詢;

(4)信號量:它是一個計數器,用于為多個進程提供對共享數據對象的訪問。它基于操作系統的PV操作,程序對信號量的操作都是原子操作,每次對信號量的操作不僅限于對信號量值的+1或-1,可以加減任意正整數,支持信號量組;

(5)共享內存:允許多個進程共享一個給定的存儲區。因為數據不需要在進程之間復制,所以這是最快的一種IPC;需要使用信號量用來同步對共享內存的訪問,多個進程可以將同一個文件映射到它們的地址空間從而實現共享內存。另外XSI共享內存不是使用文件,而是使用內存的匿名段;

(6)套接字:與其它通信機制不同的是,它可以用于不同機器間的進程通信;

5、進程調度

(1)先來先服務調度算法(FCFS):按作業或者進程到達的先后順序依次調度;有利于長作業,不利于短作業;

(2)短作業優先調度算法(SJF):從就緒隊列中選擇估計時間最短的作業進行處理,直到得出結果或者無法繼續執行。不利于長作業,未考慮作業的重要性,運行時間是預估的,并不靠譜;

(3)高響應比調度算法(HRN):響應比=(等待時間+要求服務時間)/要求服務時間;

(4)時間片輪轉調度算法(RR):將所有就緒進程按FCFS的原則排成一個隊列,每次調度時,把CPU時間分配給隊首進程,該進程可以執行一個時間片。當時間片用完時,由計時器發出時鐘中斷,調度程序便停止該進程的執行,并將它送往就緒隊列的末尾,同時繼續把CPU時間分配給隊首的進程;時間片輪轉算法的效率和時間片的大小有很大關系,因為進程切換都要保存進程的信息并且載入新進程的信息,如果時間片太小,會導致進程切換得太頻繁,在進程切換上就會花過多的時間;但另一方面,如果時間片過長,那么實時性就不能得到保證;

(5)優先級調度算法:為每個進程分配一個優先級,按優先級進行調度;為了防止低優先級的進程永遠等不到調度,可以隨著時間的推移增加等待進程的優先級;

(6)多級反饋隊列調度算法:一個進程需要執行100個時間片,如果采用時間片輪轉調度算法,那么需要交換100次;多級隊列是為這種需要連續執行多個時間片的進程考慮,它設置了多個隊列,每個隊列時間片大小都不同,例如1,2,4,8,…,進程在第一個隊列沒執行完,就會被移到下一個隊列。這種方式下,之前的進程只需要交換7次;每個隊列優先權也不同,最上面的優先權最高。因此只有上一個隊列沒有進程在排隊,才能調度當前隊列上的進程;可以將這種調度算法看成是時間片輪轉調度算法和優先級調度算法的結合;

三、死鎖

1、必要條件

(1)互斥:每個資源要么已經分配給了一個進程,要么就是可用的;

(2)請求和保持:進程被阻塞的時候并不釋放鎖請求到的資源;

(3)不可搶占:已經分配給一個進程的資源不能強制性地被搶占,它只能被占有它的進程顯式地釋放;

(4)環路等待:有兩個或者兩個以上的進程組成一條環路,該環路中的每個進程都在等待下一個進程所占有的資源;

2、處理方法

(1)鴕鳥策略:把頭埋在沙子里,假裝根本沒有發生問題;因為解決死鎖問題的代價很高,因此不采取任何措施的方案會獲得更高的性能;當發生死鎖時不會對用戶造成多大影響,或發生死鎖的概率很低,可以采用鴕鳥策略;

(2)死鎖檢測;每種類型一個資源的死鎖檢測、每種類型多個資源的死鎖檢測;

(3)死鎖恢復:利用搶占恢復、利用回滾恢復、通過殺死進程恢復;

(4)死鎖預防:破壞必要條件任意一條即可;

(5)死鎖避免:銀行家算法;

四、內存管理

虛擬內存:從邏輯的角度擴充內存容量,基于局部性原理,在程序裝入的時候,可以將程序的一部分裝入內存,而將其余部分留在外存就可以啟動程序執行。在程序執行過程中,當所訪問的信息不在內存時,由操作系統將所需要的部分調入內存,然后繼續執行程序。另一方面,操作系統將內存中暫時不使用的內容換出到外存上,從而騰出空間存放將要調入的內存的信息。這樣,系統就好像為用戶提供了一個比實際內存大得多的存儲器,稱為虛擬存儲器;

頁面置換算法:在程序運行過程中,如果訪問的頁面不在內存中,就發生缺頁中斷從而將該頁調入內存中。此時如果內存已無空閑空間,系統必須從內存中調出一個頁面到磁盤對換去中來騰出空間;頁面置換算法和緩存淘汰策略類似,可以將內存看成磁盤的緩存。在緩存系統中,緩存的大小有限,當有新的緩存到達時,需要淘汰一部分已經存在的緩存,這樣才有空間存放新的緩存數據;

(1)最佳置換算法:只具有理論意義的算法,用來評價其他頁面置換算法;置換策略是將當前頁面中在未來最長時間內不會被訪問的頁置換出去;

(2)先進先出置換算法:每次淘汰最早調入的頁面,沒有考慮頁面的訪問頻率細信息。會使缺頁率升高;

(3)最近最久未使用算法(LRU):將最近最久未使用的頁面換出;實現的時候需要在內存中維護一個所有頁面的鏈表,當一個頁面被訪問時,將這個頁面移到鏈表表頭。這樣每次只要找鏈表表尾的頁面就是最近最久未訪問的。因為每次訪問都需要更新鏈表,因此這種方式實現的LRU代價很高;

(4)最近未使用算法(NRU):每個頁面都有兩個狀態位R與M,當頁面被訪問時設置頁面的R=1,當頁面被修改時設置頁面的M=1。其中R位會定時被清零;當發生缺頁中斷時,NRU算法隨機地從類編號最小的非空類中挑選一個頁面將它換出;注意,NRU優先換出已經被修改的臟頁面(R=0,M=1),而不是被頻繁使用的干凈頁面(R=1,M=0);

分頁與分段的比較:

(1)對程序員的透明性:分頁透明,但是分段需要程序員顯示劃分每個段;

(2)地址空間的維度:分頁是一維地址空間,分段是二維的;

(3)大小是否可以改變:頁的大小不可變,段的大小可以動態改變;

(4)出現的原因:分頁主要用于實現虛擬內存,從而獲得更大的地址空間;分段主要是為了使程序和數據可以被劃分為邏輯上獨立的地址空間并且有助于共享和保護。


制作不易 且看且珍惜

總結

以上是生活随笔為你收集整理的试利用记录型信号量和pv操作写出_计算机操作系统知识点汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色在线播放 | 色中文字幕在线观看 | 在线观看污污视频 | 大乳巨大乳j奶hd | 色屁屁 | 丁香花电影高清在线阅读免费 | 星铁乱淫h侵犯h文 | 在线观看日韩中文字幕 | xxxxⅹxxxhd日本8hd | sm国产在线调教视频 | 国产成人精品一区二三区 | 免费一级suv好看的国产网站 | 国语精品久久 | 亚洲精品一区二区在线 | www成人在线 | 亚洲视频免费 | 亚洲成人18 | 国产主播第一页 | 性视频网| 欧美疯狂做受 | 让男按摩师摸好爽视频 | 潘金莲一级淫片a.aaaaa播放 | 香港三日本8a三级少妇三级99 | 黄色免费在线观看视频 | 亚洲精品无码久久久久久久 | 少妇人妻丰满做爰xxx | 欧美精品电影一区二区 | 久久久久久久精 | 性一交一黄一片 | 日韩一级中文字幕 | 美女xx00 | 国产亚洲精品码 | 婷婷成人av| 99热这里只有精 | 蜜桃久久久aaaa成人网一区 | 国产精品入口66mio | 久久久欧洲 | 最近中文字幕 | 男男毛片 | 久久久视屏 | 丰满岳乱妇一区二区三区 | 免费特级黄毛片 | 无码人妻精品一区二区蜜桃色欲 | 久青草影视 | 亚洲欧洲在线播放 | 日韩欧美极品 | 亚洲精品国产电影 | 黑人狂躁日本妞hd | 免费观看的av | 99视频国产精品免费观看a | 嫩草影院一区二区三区 | 高潮毛片无遮挡 | 中文写幕一区二区三区免费观成熟 | 久国产精品| 亚洲码视频| 99久久久无码国产精品 | 99热91| 国产三级按摩推拿按摩 | 国产高清av在线 | 91视频 - 88av | 久久免费看少妇高潮v片特黄 | 欧美激情自拍偷拍 | 亚洲中文字幕无码不卡电影 | 在线看黄色的网站 | 日韩在线中文字幕视频 | 中日韩精品视频 | 黄色片xxxx| 欧美大片在线播放 | 色羞羞 | 国内精品视频在线观看 | 欧美日韩精品中文字幕 | 人人看超碰 | 亚洲精品久久夜色撩人男男小说 | 手机看片日韩久久 | 国产亚洲精品久久久久动 | 肉嫁高柳在线 | 亚洲成人基地 | 不卡日韩 | 亚洲xx网站 | 黄色特级大片 | 爽好多水快深点欧美视频 | 欧美一区二区三区网站 | 女人被狂躁c到高潮喷水电影 | h片免费在线观看 | 精品在线视频一区 | 精品视频一区在线观看 | 麻豆亚洲 | 久久久久久一区二区三区 | 色噜噜狠狠狠综合曰曰曰88av | 免费毛片软件 | 中文字幕欧美人妻精品一区蜜臀 | 狠狠干夜夜操 | 国产视频一级 | 亚洲欧美日韩国产一区二区 | 久久成人精品一区二区 | 日本免费观看视频 | 无码久久av一区二区三区 | 超碰超碰超碰超碰超碰 | 国产天堂第一区 |