tyle="margin:20px 0px 0px; font-size:14px; line-height:26px; font-family:Arial; color:rgb(51,51,51)">node
數據段及所擁有的系統資源,如已打開的文件、I/O設備等。linux
4) 系統開銷算法
建立和撤銷時,進程開銷比線程高。同步通訊線程比進程容易。網絡
高級通訊可歸結爲三類:共享存儲器系統、消息傳遞系統、管道通訊系統。函數
管道可用於具備親緣關係進程間的通訊,有名管道克服了管道沒有名字的限制,所以,除具備管道所具備的功能外,它還容許無親緣關係進程間的通訊;性能
信號是比較複雜的通訊方式,用於通知接受進程有某種事件發生,除了用於進程間通訊外,進程還能夠發送信號給進程自己;linux除了支持Unix早期信號語義函數sigal外,還支持語義符合Posix.1標準的信號函數sigaction(實際上,該函數是基於BSD的,BSD爲了實現可靠信號機制,又可以統一對外接口,用sigaction函數從新實現了signal函數);線程
消息隊列是消息的連接表,包括Posix消息隊列system V消息隊列。有足夠權限的進程能夠向隊列中添加消息,被賦予讀權限的進程則能夠讀走隊列中的消息。消息隊列克服了信號承載信息量少,管道只能承載無格式字節流以及緩衝區大小受限等缺點。設計
使得多個進程能夠訪問同一塊內存空間,是最快的可用IPC形式。是針對其餘通訊機制運行效率較低而設計的。每每與其它通訊機制,如信號量結合使用,來達到進程間的同步及互斥。指針
主要做爲進程間以及同一進程不一樣線程之間的同步手段。日誌
更爲通常的進程間通訊機制,可用於不一樣機器之間的進程間通訊。起初是由Unix系統的BSD分支開發出來的,但如今通常能夠移植到其它類Unix系統上:Linux和SystemV的變種都支持套接字。
(1) 先來先服務調度算法(FCFS)
(2) 短做業(進程)優先調度算法(SJ(P)F)
a) 不利於長做業
b) 未考慮做業的緊迫程度
c) 因爲做業(進程)的長度只是根據用戶估計,不必定能真正作到短做業優先調度
優先權調度算法的類型
(1) 非搶佔式優先權算法
(2) 搶佔式優先權調度算法
優先權類型
1) 靜態優先權
在建立進程時肯定,且在進程的整個運行期間保持不表。
肯定進程優先權的依據有以下三個方面:
(1) 進程類型
(2) 進程對資源的要求
(3) 用戶要求
2)動態優先權
在建立進程時所賦予的優先權,是能夠隨着進程的推動或隨其等待時間的增長而改變的,以便得到更好的調度性能。
優先權 = (等待時間+要求服務時間)/要求服務時間
做業隨着等待時間變長使響應比增長,但每次調度以前,都須要先作響應比的計算,會增長系統開銷。
時間片大小的肯定,過短有利於短做業,可是頻繁的發生中斷,進程上下文的切換,增長系統的開銷;太長算法退化成FCFS算法。
不事先知道各個進程所需的執行時間,並且還能夠知足各類類型進程的須要,被公認進程調度算法較好。
(1) 設置多個就緒隊列,併爲各個隊列賦予不一樣的優先級。
(2) 當一個新進程進入內存後,首先放在第一個隊列末尾,按FCFS原則排隊等待調度,若是調度後還沒完成,將其放到第二個就緒隊列末尾。
(3) 僅當第一個隊列空閒時,調度程序纔開始調度第二隊列中的進程運行。
多級反饋隊列調度算法的性能
(1) 終端型做業用戶
(2) 短批處理做業用戶
(3) 長批處理做業用戶
要對文件進行讀寫,系統首先開闢一塊內存區來保存文件信息,保存這些信息用的是一個結構體,將這個結構體typedef爲FILE類型。咱們首先要定義一個指向這個結構體的指針,當程序打開一個文件時,咱們得到指向FILE結構的指針,經過這個指針,咱們就能夠對文件進行操做。
size_tfread(void *buffer,size_t size,size_t count,FILE *stream);
功 能:從一個文件流中讀數據,讀取count個元素,每一個元素size字節.若是調用成功返回count。如不成功,返回實際讀取的元素個數,小於count.
參 數:buffer用於接收數據的內存地址,大小至少是size*count字節.
size單個元素的大小,單位是字節
count元素的個數,每一個元素是size字節.
stream輸入流
返回值:實際讀取的元素個數.若是返回值與count不相同,則可能文件結尾或發生錯誤.
從ferror和feof獲取錯誤信息或檢測是否到達文件結尾.
元數據(Metadata)是描述其它數據的數據(data about other data),或者說是用於提供某種資源的有關信息的結構數據(structured data)。元數據是描述信息資源或數據等對象的數據,其使用目的在於:識別資源;評價資源;追蹤資源在使用過程當中的變化;實現簡單高效地管理大量網絡化數據;實現信息資源的有效發現、查找、一體化組織和對使用資源的有效管理。
在文件系統中,元數據的加鎖機制是保證元數據事務操做正確進行的重要機制。
譯成中文就是索引節點,它用來存放檔案及目錄的基本信息,包含時間、檔名、使用者及羣組等。
在ext2文件系統中,文件由inode(包含有文件的全部信息)進行惟一標識。一個文件可能對應多個文件名,只有在全部文件名都被刪除後,該文件纔會被刪除。此外,同一文件在磁盤中存放和被打開時所對應的inode是不一樣的,並由內核負責同步。
inode表包含一份清單,其中列出了對應文件系統的全部 inode 編號。當用戶搜索或者訪問一個文件時,UNIX 系統經過 inode 表查找正確的 inode 編號。在找到 inode 編號以後,相關的命令才能夠訪問該 inode ,並對其進行適當的更改。
ext2是linux系統中高效、可靠的文件系統,可用在硬盤或可移動存儲介質上。它是ext的擴展,被認爲是基於速度和CPU使用的最高效的文件系統。
ext3是ext2的擴展,它在ext2的基礎上增長了日誌功能,或者說它是ext2的日誌文件系統版本。