今天上了系統原理,講了死鎖的起因還有解決方法,然後也講了作業調度。
產生死鎖的必要條件:
①互斥條件。設計的資源是非共享的,即一次只有一個進程使用,如果有另外一個進程申請該資源,那麼申請進程必須等待,知道該資源被釋放。
②不剝奪條件。進程所獲得的資源在未使用完畢之前,只能由獲得資源的進程自己本身來釋放。
③占有並等待。進程每次申請它所需要的一部分資源,在等待一個新的資源同時,進程繼續占用已分配到的資源。
④環路條件。存在一種進程的循環鏈,鏈中的每一個進程已獲得的資源同時被鏈中下一個進程所請求。
解決策略,只用其中之一就能解決死鎖問題:
①采用資源靜態分配方法預防死鎖。
②采用資源動態分配、有控分配方法來避免死鎖。
③當死鎖發生時檢測出死鎖,並設法修復。
④忽略死鎖,認為死鎖不會發生,這種方法為絕大多數操作系統(如Unix系統)所采用。
其中的各個方法的詳細內容,我就不在這裡一一詳解了,百度應該有。
作業的在活動期間主要有一下幾種狀態:
①後備狀態。系統響應用戶要求,講作業輸入到磁盤後備作業隊列哈桑,該作業進入系統,等待調度,稱該作業處於後備狀態。
②執行狀態。從作業進入主存開始運行,到作業計算完成為止,稱該作業處於執行狀態。
③完成狀態。從作業計算完成開始,到善後處理完畢並退出系統為止稱該作業處於完成狀態。
然後老師提及了一下作業控制塊,其實就是一種數據結構,在這裡就不作過多說明了。
晚上看了會linux,主要了解了ROOT帳號管理的知識,對於切換用戶的命令啊,刪除用戶、停用用戶、新建用戶和管理組群等有了一定的了解。