校招知識點總結篇之作業系統
1.計算機系統基本組成及工作原理:
RAM:讀寫儲存器,儲存資訊易失性;ROM:只讀儲存器,資訊非易失;
2.進位制轉換
十——>二、八、十六:整數部分除2、8、16取餘,小數部分乘2、8、16取整;二——>十:加權和;
ASCII碼:0-9—48-57,a-z——97-122,A-Z——65-90;
移位:<<(左移,左移一位相當於乘2,左移n位相當於乘以2的n次方)
>>(帶符號右移,右移一位相當於除2,右移n位相當於除以2的n次方)、>>>(無符號右移)
3.作業系統
特徵:併發行、共享性、虛擬性、不確定性
功能:處理機管理(程序控制、同步、通訊、排程)、檔案管理、儲存管理、裝置管理、作業管理
型別:批處理作業系統、分時作業系統、實時、網路、分佈、微機、嵌入式
4.程序與執行緒
程序組成:程式、資料塊、程序控制塊(PCB,程序存在的唯一標誌);
程序狀態:(新建)、執行、阻塞、就緒、(終止);
程序通訊:同步、互斥(臨界資源:資源一次只能供一個程序使用),臨界區管理原則——有空即進、無空則等、有線等待、讓權等待;
訊號量機制:公用(互斥)、私用(同步),訊號量S>0表示資源可用數,S<0絕對值表示阻塞佇列中等待該資源的程序數;
PV操作:P操作表示申請一個資源,V操作表示釋放一個資源;
程序排程:先來先服務(FCFS)、時間片輪轉、優先順序排程、多級反饋排程
執行緒同步機制:臨界區、互斥量、訊號量、事件
程序和執行緒比較:
程序是系統進行資源分配和排程的基本單位,程序中的多個執行緒可併發執行;
執行緒是程序的一個實體,是CPU排程和分派的基本單位,可建立或撤銷另一個執行緒;
聯絡:
一個執行緒只能屬於一個程序,而一個程序可以有多個執行緒,但至少有一個執行緒;資源分配給程序,同一程序的所有執行緒共享該程序的所有資源;執行緒在執行過程中,需要協作同步,不同程序的執行緒間要利用訊息通訊的辦法實現同步;處理機分給執行緒,即真正在處理機上執行的是執行緒;執行緒是指程序內的一個執行單元,也是程序內的可排程實體。
區別:
排程:執行緒作為排程和分配的基本單位,程序作為擁有資源的基本單位;併發性:不僅程序之間可以併發執行,同一個程序的多個執行緒之間也可以併發執行;擁有資源:程序是擁有資源的一個獨立單位,執行緒不擁有系統資源,但可以訪問隸屬於程序的資源;系統開銷:在建立或撤銷程序的時候,由於系統都要為之分配和回收資源,導致系統的明顯大於建立或撤銷執行緒時的開銷。但程序有獨立的地址空間,程序崩潰後,在保護模式下不會對其他的程序產生影響,而執行緒只是一個程序中的不同的執行路徑。執行緒有自己的堆疊和區域性變數,但執行緒之間沒有單獨的地址空間,一個執行緒死掉就等於整個程序死掉,所以多程序的程式要比多執行緒的程式健壯,但是在程序切換時,耗費的資源較大,效率要差些。
5.死鎖產生的原因及條件:
原因:競爭資源、非法的程序推進順序;
條件:互斥條件;請求保持;不可剝奪;環路等待;
6.記憶體管理:
方式:塊式、頁式、段式、段頁式;
分段:頁是資訊的物理單位,分頁為實現離散分配方式,消除記憶體的外零頭,提高記憶體利用率;分頁:段是資訊邏輯單位,分段是為了更好滿足使用者需要;
虛擬記憶體:擴大地址空間,記憶體保護,公平分配記憶體,虛存共享;
記憶體碎片:多次分配記憶體造成的;外碎片;內碎片;
7.缺頁中斷次數的計算
先進先出(FIFO)、最近最少使用(LRU)、最近最不經常使用(LFU):