考點通常分佈在如下幾個部分,考分在3~5分左右。算法
產生死鎖的緣由主要是:
(1) 由於系統資源不足。
(2) 進程運行推動的順序不合適。
(3) 資源分配不當等。安全
產生死鎖的四個必要條件:
(1) 互斥條件:一個資源每次只能被一個進程使用。
(2) 請求與保持條件:一個進程因請求資源而阻塞時,對已得到的資源保持不放。
(3) 不剝奪條件:進程已得到的資源,在末使用完以前,不能強行剝奪。
(4) 循環等待條件:若干進程之間造成一種頭尾相接的循環等待資源關係。
這四個條件是死鎖的必要條件,只要系統發生死鎖,這些條件必然成立,而只要上述條件之
一不知足,就不會發生死鎖。分佈式
有序資源分配法和銀行家算法都是能夠避免死鎖的算法。spa
有序資源分配法:操作系統
將資源按某種規則系統中的全部資源統一編號(例如打印機爲一、磁帶機爲二、磁盤爲三、等等),申請時必須以上升的次序。3d
系統要求申請進程: blog
一、對它所必須使用的並且屬於同一類的全部資源,必須一次申請完; 索引
二、在申請不一樣類資源時,必須按各種設備的編號依次申請。進程
例如:進程PA,使用資源的順序是R1,R2;進程PB,使用資源的順序是R2,R1;若採用動態分配有可能造成環路條件,形成死鎖。 ci
採用有序資源分配法:R1的編號爲1,R2的編號爲2;
PA:申請次序應是:R1,R2
PB:申請次序應是:R1,R2
這樣就破壞了環路條件,避免了死鎖的發生。
銀行家算法:
以銀行借貸系統的分配策略爲基礎,判斷並保證系統的安全運行,只分配給可以當即執行完並返還資源的進程。
以下,分配資源給那些可以完成任務的進程,當任務完成後當即回收其全部資源(包括以前已分配的資源)
頁式存儲,是離散存儲方式的一種,每頁的大小是相同的。邏輯地址由頁號+頁內地址組成,物理地址由塊號&塊內地址組成。頁的大小和塊的大小是相同的,所謂的頁內地址和塊內地址其實就是相對本頁或本塊的偏移地址,與邏輯地址對應的物理地址,其偏移量也必須相同。
給出一個邏輯地址、頁大小和頁表,就能夠計算出相對應的物理地址:根據頁大小將邏輯地址分紅頁號和頁內地址兩部分(頁大小其實就是頁內地址的大小),而後查頁表,根據頁號查到對應的物理塊號,再將物理塊號&頁內地址(等同於塊內地址)便是對應的物理地址。
段式存儲與頁式存儲的區別是,段式存儲的段長是不固定的,它是按程序的結構來分段的。段內地址表示相對基址的偏移地址。
邏輯地址由段號&段內地址組成,物理地址由基址+段內地址組成。給出一個邏輯地址、段大小和段表,就能夠計算出相對應的物理地址,計算過程與頁式基本相同,但須要注意的是,經過段號找到基址後,基址自己是一個完整的地址,是直接加上段內地址得出物理地址,而不一樣於頁式的拼接。
段頁式存儲,會增長一個快表,通常將其存儲在調整存儲器中,是按內容進行存取的。
邏輯地址分爲三部分:段號、段內頁號、頁內地址,物理地址由塊號&頁內地址組成,先根據段號和段內頁號找到對應的塊號,再由塊號&頁內地址便是物理地址。
通常是13個索引結點,從0開始
注意圖中,越下面的方式,效率越高。程序控制方式又叫程序查詢方式,就是輪詢方式;程序中斷方式,當傳輸完畢後會主動發送一箇中斷通知;DMA方式有一個DMA控制器。
Spooling技術:開闢一個緩衝區進行排隊
微內核是把用戶態的部分從內核中剝離,只保留最爲核心的部分做爲微內核,這樣用戶態的部分出現問題不影響內核的穩定,可用於分佈式系統。
嵌入式操做系統:
Flynn分類法: 注意MISD是不實際的。
先出現的是複雜指令集,那時候計算機都是定製的;精簡指令集是發展通用CPU使用的。如今的x86體系使用cisc是歷史遺留問題,表面上接受 cisc 指令,而後經過譯碼器轉化成 risc,底層運行的都是 risc 指令。