垂死挣扎-2
P135
請求分段系統是在分段系統的基礎上,增加了請求調段功能和分段置換功能所形成的分段式虛擬存儲系統。分段式存儲管理方式分配算法與可變分區的分配算法相似,可以采用最佳適應法、最壞適應法和首次適應法等分配算法。顯然仍然要解決外碎片的問題。
- ??首次?適應分配算法:?這種算法按分區序號從空閑分區表的第一個表目開始查找該表,?把最先找到的大于或等于作業大小的空閑分區分給要求的作業?。然后,再按照作業的大小,從該分區中劃出一塊內存空間分配給作業,余下的空閑分區仍留在空閑分區表中。如果查找到分區表的最后仍沒有找到大于或等于該作業的空閑區,則此次分配失敗。?優點:優先利用內存中低址部分的空閑分區,而高址部分的空閑分區很少被利用,從而保留了高址部分的大空閑區。為以后到達的大作業分配大的內存空間創造了條件。缺點:低址部分不斷被劃分,致使留下許多難以利用的、很小的空閑分區。?
- 循環?首次?適應分配算法:?這種算法是由最先適應分配算法經過改進而形成的。在為作業分配內存時,不再每次從空閑分區表的第一個表項開始查找,而是從上次找到的空閑區的下一個空閑區開始查找,直至找到第一個能滿足要求的空閑區為止,并從中劃分出一塊與請求大小相等的內存空間分配給作業。為實現該算法,應設置一起始查找指針,以指示下一次開始查找的空閑分區,并采用循環查找方式。即如果最后一個空閑分區的大小仍不能滿足要求,則返回到第一個空閑分區進行查找。?優點?:內存中的空閑區分布得更均勻,減少查找空閑分區的開銷。?缺點?:系統中缺乏大的空閑分區,對大作業不利。
- 最佳適應分配算法?:該算法從所有未分配的分區中挑選一個?最接近作業大小且大于或等于作業的空閑分區分配給作業?,目的是使每次分配后剩余的碎片最小。為了查找到大小最合適的空閑分區,需要查遍整個空閑分區表,從而增加了查找時間。因此,為了加快查找速度,要求將所有的空閑分區,按從小到大遞增的順序進行排序。這樣,第一次找到的滿足要求的空閑分區,必然是最佳的。?缺點:每次分配之后形成的剩余部分,卻是一些小的碎片,不能被別的作業利用。因此,該算法的內存利用率是不高的。?
- 最壞適應分配算法:?該算法從所有未分配的分區中挑選一個?最大的空閑分區分配給作業?,目的是使分配后剩余的空閑分區足夠大,可以被別的作業使用。為了查找到最大的空閑分區,需要查遍整個空閑分區表,從而增加了查找時間。因此,為了加快查找速度,要求將所有的空閑分區按從大到小遞減的順序進行排序。這樣,第一次找到的空閑分區,必然是最大的。優點:最壞適應分配算法在分配后剩余的空閑分區可能比較大,仍能滿足一般作業的要求,可供以后使用。從而最大程度地減少系統中不可利用的碎片。缺點:這種算法使系統中的各空閑分區比較均勻地減小,工作一段時間以后,就不能滿足對較大空閑分區的分配要求。
?
?
在虛擬存儲系統中,若進程在內存中占三塊(開始時為空,采用先進先出頁面淘汰算法,當執行訪問頁號序列為1、2、3、4、1、2、5、1、2、3、4、5、6時,將產生( )次缺頁中斷。
先進先出頁面替換算法(The First-In First-Out Page Replacement Algorithm)。顧名思義,這種算法的思路是把所有已在內存中的頁面組織成一個隊列(也可以是一個鏈表),每次當有頁面換入到內存中的時候,就添加到隊列的末尾;當需要頁面換出時,直接從隊列中移除頁面。把留在內存中時間最長的頁面換出內存, 1?? 1 2?? 12 3?? 123 4?? 234 1?? 341 2?? 412 5?? 125 1 2 3? ?253 4?? 534 5 6? 346?
?
?
操作系統采用緩沖技術,通過減少對CPU的()次數,提高資源的利用率。
引入緩沖的主要原因包括:緩和CPU與I/O設備間速度不匹配的矛盾;減少對CPU的中斷頻率,放寬對中斷響應時間的限制;提高CPU和I/O設備之間的并行性。所以采用緩沖技術,可減少對CPU的中斷次數,從而提高系統效率。
?
?
多級反饋隊列調度算法是一種CPU處理機調度算法,UNIX操作系統采取的便是這種調度算法。 **多級(假設為N級)反饋隊列調度算法可以如下原理** 1、設有N個隊列(Q1,Q2....QN),其中各個隊列對于處理機的優先級是不一樣的,也就是說位于各個隊列中的作業(進程)的優先級也是不一樣的。一般來說,優先級Priority(Q1) > Priority(Q2) > ... > Priority(QN)。怎么講,位于Q1中的任何一個作業(進程)都要比Q2中的任何一個作業(進程)相對于CPU的優先級要高(也就是說,Q1中的作業一定要比Q2中的作業先被處理機調度),依次類推其它的隊列。 2、對于某個特定的隊列來說,里面是遵循時間片輪轉法。也就是說,位于隊列Q2中有N個作業,它們的運行時間是通過Q2這個隊列所設定的時間片來確定的(為了便于理解,我們也可以認為特定隊列中的作業的優先級是按照FCFS來調度的)。 3、各個隊列的時間片是一樣的嗎?不一樣,這就是該算法設計的精妙之處。各個隊列的時間片是隨著優先級的增加而減少的,也就是說,優先級越高的隊列中它的時間片就越短。同時,為了便于那些超大作業的完成,最后一個隊列QN(優先級最低的隊列)的時間片一般很大(不需要考慮這個問題)。 **多級反饋隊列調度算法描述** 1、進程在進入待調度的隊列等待時,首先進入優先級最高的Q1等待。 2、首先調度優先級高的隊列中的進程。若高優先級中隊列中已沒有調度的進程,則調度次優先級隊列中的進程。例如:Q1,Q2,Q3三個隊列,只有在Q1中沒有進程等待時才去調度Q2,同理,只有Q1,Q2都為空時才會去調度Q3。 3、對于同一個隊列中的各個進程,按照時間片輪轉法調度。比如Q1隊列的時間片為N,那么Q1中的作業在經歷了N個時間片后若還沒有完成,則進入Q2隊列等待,若Q2的時間片用完后作業還不能完成,一直進入下一級隊列,直至完成。 4、在低優先級的隊列中的進程在運行時,又有新到達的作業,那么在運行完這個時間片后,CPU馬上分配給新到達的作業(搶占式)。 **我們來看一下該算法是如何運作的** 假設系統中有3個反饋隊列Q1,Q2,Q3,時間片分別為2,4,8。 現在有3個作業J1,J2,J3分別在時間 0 ,1,3時刻到達。而它們所需要的CPU時間分別是3,2,1個時間片。 1、時刻0 J1到達。于是進入到隊列1 , 運行1個時間片 , 時間片還未到,此時J2到達。 2、時刻1 J2到達。 由于時間片仍然由J1掌控,于是等待。 J1在運行了1個時間片后,已經完成了在Q1中的 2個時間片的限制,于是J1置于Q2等待被調度。現在處理機分配給J2。 3、時刻2 J1進入Q2等待調度,J2獲得CPU開始運行。 4、時刻3 J3到達,由于J2的時間片未到,故J3在Q1等待調度,J1也在Q2等待調度。 5、時刻4 J2處理完成,由于J3,J1都在等待調度,但是J3所在的隊列比J1所在的隊列的優先級要高,于是J3被調度,J1繼續在Q2等待。 6、時刻5 J3經過1個時間片,完成。 7、時刻6 由于Q1已經空閑,于是開始調度Q2中的作業,則J1得到處理器開始運行。 J1再經過一個時間片,完成了任務。于是整個調度過程結束。 從上面的例子看,在多級反饋隊列中,后進的作業不一定慢完成。 路由器收到一個數據包,數據包的目標地址是202.65.17.4,該子網屬于哪一個網段? 在登錄到別人電腦和登錄qq時都不需要DNS進行域名解析的,這就證明網絡是沒有問題的,但是當你輸入的是網址,這樣就需要DNS進行域名解析服務,網址登不上去,就證明DNS服務有問題。 c類網絡只有最后8位來分配子網號和主機號,每個子網至少容納55臺主機,所以需要6位來分配主機號,只有兩位來分配子網號,子網掩碼就是255.255.255.11000000;就是255.255.255.192 在網絡7層協議中,如果想使用UDP協議達到TCP協議的效果,可以在哪層做文章? 因為UDP要達到TCP的功能就必須實現擁塞控制的功能,而且是在路由之間實現,這個在底層明顯是做不到擁塞控制的,在應用層也是做不到的,因為應用層之間和應用程序掛鉤,一般只能操控主機的程序,而表示層是處理所有與數據表示及運輸有關的問題,包括轉換、加密和壓縮,在傳輸層是不可能的,因為你已經使用了UDP協議,無法在本層轉換它,只有在會話層. 會話層(SESSION LAYER)允許不同機器上的用戶之間建立會話關系。會話層循序進行類似的?傳輸層?的普通數據的傳送,在某些場合還提供了一些有用的增強型服務。允許用戶利用一次會話在遠端的分時系統上登陸,或者在兩臺機器間傳遞文件。 會話層提供的服務之一是管理對話控制。會話層允許信息同時雙向傳輸,或任一時刻只能單向傳輸。如果屬于后者,類似于物理信道上的半雙工模式,會話層將記錄此時該輪到哪一方 接入WEB服務器第一次被訪問到時,不同協議的發生順序 、當你給WEB服務器接上網線的時候,它會自動發送一條ARP信息,使得接入網關能找的到它;網關上會形成一條類似:2c 96 1e 3c? 3e 9b - 192.168.1.123的MAC地址到IP地址的映射記錄。 2、如用戶在瀏覽器中輸入域名,如本地DNS緩存中沒有,必然會進行一次DNS查詢,以確定該域名的IP地址。 3、HTTP。獲得DNS對應的IP地址以后,使用HTTP協議訪問web服務器(不考慮TCP三次握手建立連接的階段)。 Linux用戶分為:擁有者、組群(Group)、其他(other) linux中的文件屬性過分四段,如? -rwzrwz--- 第一段? -? 是指文件類型 表示這是個普通文件 文件類型部分 -為:表示文件 d為:表示文件夾 l為:表示<a href="https://www.baidu.com/s?wd=%E9%93%BE%E6%8E%A5%E6%96%87%E4%BB%B6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3nWnzPWbzmHNBn1RYuHmd0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3En1TvPHmzn1b4" target="_blank">鏈接文件,可以理解為 windows中的快捷方式(link file) b為:表示里面可以供存儲周邊設備 c為:表示里面為一次性讀取裝置 第二段? rwz? 是指擁有者具有可讀可寫可執行的權限?? 類似于windows中的所有者權限比如 administrator 對文件具有 修改、讀取和執行權限 第三段? rwz 是指所屬于這個組的成員對于這個文件具有,可讀可寫可執行的權限?????? 類似于windows中的組權限比如administrators組,屬于這個組的成員對于文件的都有 可讀可寫可執行權限 第四段? --- 是指其他人對于這個文件沒有任何權限 類似于windows中的 anyone 一樣就是說所有人對著個文件都會有一個怎樣的權限 </a> 在局域網絡內的某臺主機用ping命令測試網絡連接時發現網絡內部的主機都可以連同,而不能與公網連通,問題可能是 局域網的網關或主機的網關設置有誤主機IP設置有誤 沒有設置連接局域網的網關 局域網的網關或主機的網關設置有誤 局域網DNS服務器設置有誤
在Linux系統中,/etc/skel你可以存儲用于創建用戶目錄的系統用戶默認文件
Linux下的/etc/skel目錄往往不被人注意,其實此目錄在新建用戶時還是很有用的,靈活運用此目錄可以節約一定的配置時間。?
skel是skeleton的縮寫,意為骨骼、框架。故此目錄的作用是在建立新用戶時,用于初始化用戶根目錄。系統會將此目錄下的所有文件、目錄都復制到新建用戶的根目錄,并且將用戶屬主與用戶組調整為與此根目錄相同。所以可將用戶配置文件預置到/etc/skel目錄下,比如說.bashrc、.profile與.vimrc等。?
注:?
1.如果在新建用戶時,沒有自動建立用戶根目錄,則無法調用到此框架目錄。?
2.如果不想以默認的/etc/skel目錄作為框架目錄,可以在運行useradd命令時指定新的框架目錄。例如:?
sudo useradd -d /home/chen -m -k /etc/my_skel chen?
上述命令將新建用戶chen,設置用戶根目錄為/home/chen,并且此目錄會自動建立;同時指定框架目錄為/etc/my_skel。?
3.如果不想在每次新建用戶時,都重新指定新的框架目錄,可以通過修改/etc/default/useradd配置文件來改變默認的框架目錄,方法如下:?
查找SKEL變量的定義,如果此變量的定義已被注釋掉,可以取消注釋,然后修改其值:?
SKEL=/etc/my_skel
?
?
Nagle算法主要是用來避免大量的小數據包在網絡中傳輸,從而降低網絡容量利用率。比如一個20字節的TCP首部+20字節的IP首部+1個字節的數據組成的TCP數據報,有效傳輸通道利用率只有將近1/40。如果網絡充斥著這樣的小分組數據,則網絡資源的利用率是相當低下的。—— 但是對于一些需要小包場景的程序,比如像telnet或ssh這樣的交互性比較強的程序,你需要關閉這個算法。可以在Socket設置TCP_NODELAY選項來關閉這個算法。
?
格式:sync
強制將內存中的文件緩沖內容寫到磁盤。
?
?
?
對一個含有20個元素的有序數組做二分查找,數組起始下標為1,則查找A[2]的比較序列的下標為
(high-low)/2+low = middle; 下標從1開始,因為查找查找A[2],?low始終為1; (20-1)/2+1=10; (10-1)/2+1 = 5; (5-1)/2+1 = 3; (3-1)/2+1 = 2; 一棵Huffman樹有m個葉結點,使用struct Node{Node *l,*r;int val;}結構來存儲該樹中的結點,一共會產生多少個NULL指針? Huffman樹樹中沒有度為1的節點 所以節點數 n=n0+n1+n2 =n0+n2 =n0+(n0-1) =2n0-1 =2m-1 一共有2m-1個節點,因此有2m-1-1條邊,一條邊占用一個指針域,因此被占用的指針域個數為2m-2 2m-1個節點一共有4m-2個指針域 未被占用的指針域個數為4m-2-(2m-2)=2m 最后答案為2m 哈夫曼樹沒有度為一的節點,有m個葉子節點所以就有2m個空指針轉載于:https://www.cnblogs.com/Hanzo/p/5876209.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: Lucene查询索引(分页)
- 下一篇: iOS - Quartz 2D 画板绘制