国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 基礎常識 > 正文

操作系統知識薈萃總結

2020-03-01 04:22:42
字體:
來源:轉載
供稿:網友
任務  用戶在解決問題或交易過程中需要計算機系統的工作集合。它包括用戶程序,所需數據和控制命令。該任務包含一系列有序步驟。  過程  數據集中程序的運行過程。然后,程序在不同的數據集中運行,甚至程序在同一數據集的多次執行中運行也不同。  線  子進程是進程中的實體,是系統獨立編程和執行的基本單元。  進程和線程之間的區別。  進程是程序的執行。線程可以理解為在進程中運行的一個程序。  這些過程是獨立的,在內存空間和上下文中表示;線程在進程空間中執行。一般來說,(特殊技術是不適用的),則處理不能越過過程的邊界,而線程是在處理空間訪問上的其他進程的存儲空間,通過相同的處理生成的線程它們共享相同的內存空間。  除非插入線程,否則同一進程中的兩段代碼不能同時執行。  子流程屬于流程。當進程結束時,強制關閉并擦除進程生成的子進程。線程占用的資源少于進程占用的資源。進程和線程都可以具有優先級。  進程可以通過IPC進行通信,但線程則不能進行通信。  管過程  實際上,它定義了可以為并發進程執行的已修改數據結構中的數據結構和一組操作。這組操作可以同步進程并更改進程中的數據。  互聯互通  進程之間最常見的通信形式是信號,信號量,消息隊列和共享內存。  所謂的溝通過程就是在不同的過程之間進行一些“接觸”。這種聯系簡單而復雜。機制不同,復雜程度也不同。溝通是一個廣義的意義,而不僅僅是傳遞一些信息。它的使用基本相同,因此,只要掌握一種使用方法,然后記住其他使用方法。  信號和信號量是不同的,雖然它們可以用來實現同步和護士,但首先是使用信號處理器進行,這是使用P,V操作來實現的。 Message Queue是一種更高級的進程間通信方法,因為它實際上可以在進程之間傳輸消息,甚至可以發送“我找你”。  一個消息隊列可以由多個進程共享(IPC是在此基礎上執行的),如果一個進程太多消息,一個消息隊列不適合,你也可以使用多個消息隊列(但它可能更復雜)管理層)。除了消息本身之外,進程發送的消息的共享消息隊列不是符號,該指示符可以指示消息已保存哪個進程是它接受的進程類型。共享消息隊列的每個進程也有此隊列的自己的標志,可用于聲明其標識。僵局  死鎖是指兩個或更多進程正在進行中。由于資源競爭而相互等待的現象將無法在沒有外力的情況下推進。此時,據說系統處于互鎖狀態或系統有死鎖。  生成死鎖的四個必要條件如下:  互斥條件:資源一次只能由一個進程使用。應用和保留條件:當進程因資源請求而被阻止時,它會保留已獲取的資源。沒有剝奪條件:過程所獲得的資源在用盡之前不能被強制剝奪。  循環等待條件:在多個進程之間的頭尾之間形成循環備用關系。  這四個條件是互鎖的必要條件。當系統被阻塞時,必須建立這些條件,并且只要不滿足上述條件之一,就不會發生互鎖。  如何釋放和防止聯鎖:  注意如何避免在系統設計,過程編程等方面建立這四個必要條件。如何確定合理分配資源的方法,防止該過程永久占用系統資源。此外,還需要防止進程在等待進程時占用資源。在系統執行期間,動態驗證每個系統可以滿足的資源的應用,并且根據驗證的結果,分配所有資源。如果系統被阻止,則不會分配,否則將被分配。因此,資源配置必須有合理的規劃。  根據產生死鎖所需的四個條件,只要其中一個不能建立,就不會發生互鎖。為此,可以采取以下3個預防措施:  使用靜態資源分配策略來打破“部分分配”條件。  允許流程剝奪其他流程所持資源的使用會破壞“不可剝奪”的狀況。使用由資源排序的分配閥會破壞“循環”狀態。  請記住,互斥條件不能被破壞。  避免死鎖的經典算法:銀行算法。  內存管理  Windows內存管理方法主要分為:頁面管理,段管理和段頁面管理。  頁面管理的基本原則是劃分進程的虛擬空間中的長度相等的幾頁。管理頁面根據大小劃分的存儲器空間成段或網頁,然后將虛擬頁面地址分配給存儲器地址的摘要。頁表和相應的解決離散地址轉換硬件的問題地址轉換機制。管理采用頁面或預付分頁技術的內部和外部存儲器的統一管理。  優點:無外部片段,且每個內部片段不超過頁的大小。  缺點:所有的程序都加載到內存中,并且需要相應的硬件支持。例如,領先一代分頁機制地址轉換和頁面選擇刪除需要相應的硬件支持。這增加了機器的成本,提高了系統開銷。  管理段的基本思想是根據內容比或處理功能的程序內容來劃分,每個段都有自己的名字。在作業中或用戶進程A段內容對應于一個兩個維線性虛擬空間是二維html' target='_blank'>虛擬內存。段管理器中的段分配內存,然后在轉換用的地址分配機制的實際存儲器的物理地址計算出的虛擬地址。優點:可以單獨編寫和編譯。對于不同類型的段,它可以被不同地保護。共享內存的能力可以按段完成,包括動態鏈接以共享代碼。  缺點:生成碎片。  段頁面管理:要實現段頁面管理,系統必須為每個作業或進程恢復段表,以管理內存分配和釋放,缺少段處理等。此外,因為段被分成幾頁。每個段必須再次創建一個頁表,以將段中的虛擬頁面轉換為內存中的實際頁面。顯然,它與管理時間相同。頁面上的表也有相應的條目來實現頁面故障中斷處理和頁面保護。  段頁面管理是段管理和頁面管理的結合,因此它具有兩者的優點。  另一方面,由于管理軟件的增加,復雜性和一般費用將增加,并且所需的硬件和存儲器消耗將增加,這將降低執行速度。  動態鏈接庫/靜態鏈接庫  目前有兩個帶有lib后綴的庫,一個是靜態鏈接庫,另一個是動態鏈接庫導入庫(DLL)。雖然靜態鏈接庫和動態鏈接庫的導入庫是.lib文件,但差別非常大,它們不一樣。靜態庫本身包含實際執行代碼,地址符號表等,對于導入庫,實際執行代碼在動態庫中,導入庫只包含符號表地址等,以確保程序找到一些相應的功能。地址的基本信息。  靜態鏈接庫是一個或多個obj文件的包,因此有人只是從一個名為File的obj文件調用生成lib的過程,該文件被合并。例如,如果鏈接到靜態庫,如果有錯誤,您將確切地找到哪個對象不正確,即靜態庫只是一個shell。當我們的應用程序項目使用靜態鏈接庫時,靜態鏈接庫必須參與編譯。在生成執行文件之前的鏈接過程中,靜態鏈接庫中的所有指令都直接連接到可執行文件,因此可以執行它們。生成文件后,可以丟棄靜態鏈接庫中的.lib文件。  動態鏈接庫(DLL)是一個可執行文件,充當共享函數庫。動態鏈接為進程調用不屬于其可執行代碼的函數提供了一種方法。該函數的可執行代碼位于.dll文件中,該文件包含一個或多個函數,這些函數已與使用它們的進程分開編譯,鏈接和存儲。 DLL還有助于共享數據和資源。多個應用程序可以同時訪問內存中單個dll副本的內容。使用動態鏈接而不是靜態鏈接有幾個優點。 dll節省內存,減少交換操作,節省磁盤空間,更容易更新(不需要重新鏈接和編譯很長時間),提供售后支持,提供擴展MFC庫類的機制并支持多種語言的程序。靜態鏈接庫和動態鏈接庫都是共享代碼的方法。如果使用靜態鏈接庫,則lib中的指令直接包含在最終的可執行文件中。但是,如果使用dll(動態鏈接庫),則不必將dll包含在最終的exe文件中。運行exe文件時,可以動態引用和卸載dll文件,靜態鏈接庫和動態鏈接庫。其他動態鏈接庫或靜態庫可以包含在動態鏈接庫中,其他靜態或動態鏈接庫可以包含在動態鏈接庫中。動態鏈接庫和靜態鏈接庫之間的區別在于它允許可執行模塊(.dll或.exe文件)僅包含在運行時定位dll函數的可執行代碼所需的信息。在使用靜態鏈接庫時,鏈接器獲取從靜態鏈接庫引用的所有函數,并將庫與代碼放在可執行文件中。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 红原县| 永顺县| 伊宁县| 永和县| 藁城市| 平凉市| 武威市| 花莲县| 迁西县| 高雄市| 平定县| 靖西县| 株洲市| 酒泉市| 简阳市| 江孜县| 富裕县| 神木县| 商河县| 荔波县| 偏关县| 德化县| 阳信县| 南木林县| 通河县| 安达市| 葫芦岛市| 浦江县| 安仁县| 泌阳县| 南昌市| 武邑县| 双柏县| 仪征市| 泸水县| 两当县| 枞阳县| 普陀区| 台东市| 神木县| 吴桥县|