複製鏈接
請複製以下鏈接發送給好友

多用户操作系統

鎖定
根據在同一時間最多允許多少個用户同時操作計算機,操作系統可分為單用户操作系統和多用户操作系統。同一時間內允許多個用户同時使用計算機,稱為多用户操作系統; 反之,同一時間內最多允許一個用户操作計算機,則稱為單用户操作系統。 常見的多用户操作系統有Windows Server 2003Windows Server 2008等。 [1]  系統資源的有限性及進程併發性是導致發生死鎖的原因,當系統無法滿足進程的資源請求時,資源申請失敗導致發生死鎖。 [1] 
中文名
多用户操作系統
外文名
Multi-user operating system
定    義
同一時間內允許多個用户同時使用計算機 [1] 
發生死鎖原因
系統資源的有限性及進程併發性 [1] 
常見系統
Windows Server 2003Windows Server 2008、Linux等 [1] 

多用户操作系統背景介紹

在多用户操作系統,進程是併發執行的,但是存在一種危險-死鎖。若無內部魯棒容錯或外部干預,系統將長期處於封鎖狀態。競爭資源及進程推進順序非法是導致死鎖的主要原因。在當前資源限制下,尋找一組資源分配的執行順序,從而避免產生死鎖,是本文研究的主要內容。將銀行家算法為避免死鎖獲取安全進程序列的遞歸思想,借鑑到網絡爬蟲算法中。將請求集長度作為一個變量,邊界條件為請求集長度及節點狀態數組,從而能夠確定請求集節點的合法性。 [1] 

多用户操作系統死鎖起因

只有一個進程的系統不會形成死鎖,死鎖是由一組併發進程竟爭資源而引起的。由於系統提供資源的有限性,所有申請資源的進程都得到該類資源是不可能的。而一組進程〔兩個或多個進程)中的每一個進程都在佔用某種資源的同時,又在等待該組進程中另一個進程所佔用的資源,這種等待永遠不能結束,則説系統出現了死鎖。產生死鎖的必要條件: [2] 
(l)互斤條件:進程對它所要求的資源進行排他性控制,使併發進程所要求和佔用的資源不能被兩個以上的進程同時使用。 [2] 
(2)禁止搶佔條件:進程所獲得的資源在沒有使用完之前,只能由該進程自己去釋放,而不能由其它進程強行剝奪。 [2] 
(3)佔有等待條件:進程每次等待申請的新資源的同時,繼續佔用已分配給它的資源而不釋放。 [2] 
(4)進程的循環等待條件:進程循環鏈中的每一個進程獲得的資源被下一個進程所申請。 [2] 

多用户操作系統死鎖的避免

死鎖的避免是指系統在分配資源時,對資源的使用情況提前做出預測,從而避免死鎖的發生。因為系統採用動態分配資源,所以我們把這種在分配過程中預側出死鎖發生並避免的方法叫做動態預防。避免的具體辦法是操作系統按照銀行家算法制定的規則為進程分配資源,當進程首次申請資源時,要測試該進程對資源的最大需求量,如果系統現存的資源可以滿足它的最大需求量,則按當前的申請分配資源,否則就推遲分配。當進程執行繼續申請資源時,系統先測試進程已佔有的資源數與本次申請的資源數之和是否超過了該進程對資源的最大需求量,若超過則拒絕分配資源,若沒有超過則再側試系統現存的資源能否滿足該進程尚需的最大資源數,若能滿足則按當前的申請量分配資源,否則也要推遲分配。系統處於安全狀態,即能滿足一個進程的需求。同時該進程結束後,歸還系統的資源可以滿足另一個資源的最大需求。由此可以看出,死鎖迴避也要佔去系統較大的開銷。 [2] 

多用户操作系統 訪問文件或目錄

Linux是一個多用户操作系統,它允許多個用户同時登錄和工作,允許用户控制文件或目錄的訪問者和訪問方式,因此Linux將文件或目錄與用户或組聯繫起來。Linux給訪問文件或目錄的用户分成了三類不同級別的用户,分別是:文件的擁有人(u)、文件的擁有組(g)和其他人(o)。 [3] 
可以使用ls -l命令來查看文件或目錄的權限問題,在顯示的數據的第一個字段中顯示了文件test1的訪問權限。第一個字段由10個字符組成,第一位表示文件類型,2一4位表示文件所有者的權限;5一7位表示文件所有者所屬組成員的權限;8一10位表示所有者所屬組之外的用户的權限。 [3] 
參考資料