面試java中操作系統知識點

進程
概念:進程是具有獨立功能的程序關於某個數據集合上的一次運行活動,是系統進行資源分配和調度的一個獨立單位。用戶下達運行程序的命令後,就會產生進程。同一程序可產生多個進程(一對多關係),以允許同時有多位用戶運行同一程序,卻不會相互衝突。
一個計算機系統進程內容:程序的可執行機器代碼的一個在存儲器的映像(進程映象);分配到的存儲器通常是虛擬的一個存儲器區域,存儲器的內容包括可執行代碼、特定於進程的數據(輸入,輸出)、調用堆棧、堆棧(用於保存運行時運輸中途產生的數據);分配給進程的資源的操作系統描述符;安全特性;處理器狀態。
特徵:動態性;併發性;調度性;異步性;結構性
狀態:新建狀態(New),就緒狀態(Ready),運行狀態(Running),阻塞狀態(Blocked),終止狀態(Terminated)
狀態轉換
進程創建:(1)申請一個空閒的PCB(進程控制塊),從系統的PCB表中找出一個空閒的PCB項,並指定唯一的進程標識號PID(進程內部名);(2)爲新進程分配資源,根據調用者提供的所需內存大小,爲新進程分配必要的內存空間,存放其程序和數據及其工作區;(3)將新進程的PCB初始化;(4)將新進程加入就緒隊列。
進程關係:同步(邏輯上相關的兩個或多個進程爲完成一項任務,通過協調活動來使用同一資源,而產生執行時序的約束關係);互斥(邏輯上彼此獨立的兩個或多個進程由於爭用同一資源而發生的相互制約的關係)。
臨界資源:一次僅允許一個進程使用
原語:機器指令的延伸,往往是爲了完成某些特定的功能而編制的一段系統程序,原語操作(原子操作)即一組相關聯的操作要麼不間斷地執行,要麼不執行。
P操作:表示測試
V操作:表示增加
信號量:在多道程序併發環境執行下使用的一種設施,在進程間發送信號,用來保證兩個或多個進程的關鍵代碼不被同時調用
進程同步機制

  1. 實現互斥方式:(1)利用硬件方式解決進程互斥問題,常見方式有禁止中斷(使每個進程在進入臨界區之後立即關閉中斷,在它離開前才重新開放終端,由於禁止了中斷,就不會把CPU切換給另外的進程,缺點是如果它不再開放,系統可能終止。)、設置專用機器指令(TSL指令測試並上鎖,TSL RX ,LOCK,它把內存字LOCK的內容讀到寄存器RX中然後在該地址單元中存入一個非0值,讀數和存數的操作不可分割,即這條指令完成前其他進程不能訪問該單元,缺點:可能產生忙式等待);(2)原語操作;(3)利用軟件方法解決進程互斥問題,爲每類臨界區設置一把鎖,關鎖,執行臨界區程序,開鎖,退出臨界區(缺點:處理機忙等)
  2. 信號量及P、V操作原語:(1)整型信號量(將信號量定義爲一個特殊的可共享的整型量,設信號量爲S,初始化一個非負值,由P、V兩個操作進行信號量減1和加1的操作)(2)記錄型信號量(該信號量的值,指向PCB的指針。當多個進程都等待同一個信號量時,他們就排成一個隊列,有信號量的指針指出該隊列的頭,其中信號量可以賦初值,可以修改,但只能有P、V 操作來訪問。P 操作,信號量減1,信號量的值大於等於0,進程繼續執行,小於0進程狀態爲阻塞態;V操作,信號量加1,信號量的值大於0,進程繼續執行,信號量小於等於0則釋放信號量隊伍上第一個PCB所對應的進程把阻塞態改爲就緒態,執行V操作的進程繼續運行)。
    參考書:《操作系統原理第二版》,孟慶昌等著,機械工業出版社,2017年11月
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章