作業系統相關

2022-04-29 09:27:13 字數 3217 閱讀 8685

程序:乙個執行的程式就是乙個程序。是系統資源分配的最小單位,擁有自己獨立的記憶體空間。既不共享堆也不共享棧;由作業系統排程

執行緒:排程執行的最小單位,不能獨立存在,共享記憶體。共享堆不共享棧;由作業系統排程

協程:是一種使用者態的輕量級執行緒,排程完全由使用者控制。和執行緒一樣,共享堆不共享棧;由程式設計師排程

多程序適合在cpu密集型操作,如位數多的浮點運算

多執行緒適合在io密集型操作,如爬蟲

1、管道。管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在有血緣關係的程序間使用,程序的血緣關係通常是指父子程序關係。

2、命名管道。也是半雙工的通訊方式,但是它允許無親緣關係關係程序間通訊。

3、訊號。是一種比較複雜的通訊方式,用於通知接收程序某一事件已經發生。

4、訊號量。訊號量是乙個計數器,可用來控制多個程序對共享資源的訪問。它通常作為一種鎖機制,防止某程序正在訪問共享資源時,其他程序也訪問該資源。

5、訊息佇列。訊息佇列是由訊息組成的鍊錶,存放在核心中,並由訊息佇列識別符號標識。訊息佇列克服了訊號傳遞訊息少,管道只能承載無格式位元組流以及緩衝區大小受限等缺點。

6、共享記憶體。共享記憶體就是對映一段能被其他程序所訪問的記憶體,這段共享記憶體由乙個程序建立,但多個程序都可以訪問。共享記憶體是最快的 ipc 方式

7、套接字。

管道:速度慢、容量有限

訊息佇列:容量收到系統限制,且要注意第一次讀的時候,要考慮上一次沒有讀完資料的問題。

訊號量:不能傳遞複雜資訊,只能用來同步。

共享記憶體:能夠很容易控制容量,速度快,但要保持同步。

執行緒同步是指多個執行緒同時訪問某資源時,採用一系列的機制以保證最多只能乙個執行緒訪問該資源。

執行緒同步的方式:

1、互斥量:採用互斥物件機制,只有擁有互斥物件的執行緒才有訪問公共資源的許可權,因為互斥物件只有乙個,所以可以保證公共資源不會同時被多個執行緒訪問。

2、訊號量:它允許多個執行緒同一時刻訪問同一資源,但是需要限制同一時刻訪問此資源的最大執行緒數目。

3、事件(訊號):通過通知操作的方式來保持多執行緒的同步,還可以方便實現多執行緒的優先順序比較操作。

程序

1、就緒:程序已獲得除處理機以外的所需資源,等待分配處理機資源。

2、執行:占用處理機資源執行,處於此狀態的程序數小於等於cpu數

3、阻塞:程序等待某種條件,在條件滿足之前無法執行

執行緒:建立、就緒、執行、阻塞、等待、時間等待、消亡

堆區:全域性變數、靜態變數、new物件

棧區:函式的引數值、區域性變數

臨界區:每個程序中訪問臨界資源的那段程式。每次只准許乙個程序進入臨界區,進入後不允許其他程序進入。

任何時候,處於臨界區的程序不可多於乙個。如已有程序進入自己的臨界區,則其他試圖進入臨界區的程序必須等待。

進入臨界區的程序要在有限時間內退出,以便其他程序能及時進入自己的臨界區。

如果不能進入自己的臨界區,就應該讓出cpu,避免程序出現忙等等現象。

1、先來先服務(fcfs):按照作業到達後備作業佇列(或程序進入就緒佇列)的先後次序選擇作業(或程序)。

2、短作業優先(sjf):主要用於作業排程,它從作業後備序列中挑選所需執行時間最短的作業進入主存執行。

3、時間片輪轉排程演算法:當某個程序執行的時間片用完時,排程程式便終止該程序的執行,並將它送到就緒佇列的末尾,等待分配下一時間片再執行。然後把處理機分配給就緒佇列中新的隊首程序,同時也讓它執行乙個時間片。

4、高響應比優先:按照高響應比(已等待時間+要求執行時間)/要求執行時間 優先的原則,在每次選擇作業投入執行時,先計算此時後備作業佇列中每個作業的響應比rp。選擇最大的作業投入執行。

5、優先權排程演算法:按照程序的優先權大小來排程。使高優先權程序得到優先處理的排程策略稱為優先權排程演算法。注意:優先數越多,優先權越小。

6、多級佇列排程演算法:多佇列排程是根據作業的性質和型別的不同,將就緒佇列再分為若干個佇列,所有的作業(程序)按其性質排入相應的佇列中,而不同的就緒佇列採用不同的排程演算法。

死鎖:在2個或多個併發程序中,如果每個程序持有某有資源而又都等待別的程序釋放它或他們現在保持的資源,在未改變這種狀態之前都不能向前推進,稱這一組程序產生了死鎖。

產生死鎖的必要條件:

1、互斥條件:乙個資源每次只能被乙個程序使用。

2、不可剝奪條件:程序已獲得資源,在未使用完之前,不能被強行剝奪。

3、請求和保持條件:程序請求資源而阻塞時,對已獲得的資源保持不放。

4、迴圈等待條件:若干程序之間形成一種頭尾相接的環形等待資源關係。

只要上述乙個條件不成立,就不會發生死鎖。

解決死鎖的方法有:預防死鎖、避免死鎖、檢測死鎖、解除死鎖

死鎖的處理策略:鴕鳥策略、預防策略、避免策略、檢測與解除死鎖

虛擬記憶體允許執行程序不必完全在記憶體中。虛擬記憶體的基本思想是:每個程序擁有獨立的位址空間,這個空間被分為大小相等的多個塊,稱為頁(page),每個頁都是一段連續的位址。這些頁被對映到物理記憶體,但並不是所有的頁都必須在記憶體中才能執行程式。當程式引用到一部分在物理記憶體中的位址空間時,由硬體立刻進行必要的對映;當程式引用到一部分不在物理記憶體中的位址空間時,由作業系統負責將缺失的部分裝入物理記憶體並重新執行失敗的命令。這樣,對於程序而言,邏輯上似乎有很大的記憶體空間,實際上其中一部分對應物理記憶體上的一塊,還有一些載入在記憶體中的對應在硬碟上。

注意,請求分頁系統、請求分段系統和請求段頁式系統都是針對虛擬記憶體的,通過請求實現記憶體與外存的資訊置換。

1、段是資訊的邏輯單位,它是根據使用者的需要劃分的,因此段對使用者是可見的 ;頁是資訊的物理單位,是為了管理主存的方便而劃分的,對使用者是透明的。

2、段的大小不固定,有它所完成的功能決定;頁大大小固定,由系統決定

3、段向使用者提供二維位址空間;頁向使用者提供的是一維位址空間

4、段是資訊的邏輯單位,便於儲存保護和資訊的共享,頁的保護和共享受到限制。

緩衝區溢位是指當計算機向緩衝區填充資料時超出了緩衝區本身的容量,溢位的資料覆蓋在合法資料上。

危害有以下兩點:

(1)程式崩潰,導致拒絕服務

(2)跳轉並且執行一段惡意**

造成緩衝區溢位的主要原因是程式中沒有仔細檢查使用者輸入。

作業系統相關

seo search engine optimization 漢譯為搜尋引擎優化。是一種方式 利用搜尋引擎的規則提高 在有關搜尋引擎內的自然排名。目的是讓其在行業內佔據領先地位,獲得品牌收益。很大程度上是 經營者的一種商業行為,將自己或自己公司的排名前移。作業系統 operating system,...

作業系統相關概念

作業系統相關概念 windows windows中文是窗戶的意思。另外還有微軟公司 推出的視窗 電腦作業系統名為windows 隨著電腦硬體和軟體系統的不斷公升級,微軟的windows作業系統也在不斷公升級,從16位 32位到64位 作業系統。從最初的windows1.0到大家熟知的windows9...

作業系統載入相關

fat12 軟盤標準 db 0xeb,0x4e,0x90 db berber 啟動區的名稱可以任意 8位元組 dw 512 每個扇區的大小 512位元組 db 1 簇的大續愛 1個扇區 dw 1 fat起始位置 第乙個扇區 db 2 fat個數 2 dw 224 根目錄大小 dw 2880 該磁碟大...