分時作業系統具有以下特徵: | 實時作業系統基本特徵:
1.多路性 | 1.及時性
2.互動性 | 2.可靠性
3.獨占性 |
4.及時性 |
執行系統呼叫的過程是這樣的:正在執行的程序先傳遞系統呼叫引數,然後由陷入(trap)指令負責將使用者態轉化為核心態,並將返回位址壓入堆疊以備後用,接下來cpu執行相應的核心態服務程式,最後返回使用者態
作業系統的五大管理功能:
(1)作業管理:包括任務、介面管理、人機互動、圖形介面、語音控制和虛擬實境等;
(2)檔案管理:又稱為資訊管理;
(3)儲存管理:實質是對儲存「空間」的管理,主要指對主存的管理;
(4)裝置管理:實質是對硬體裝置的管理,其中包括對輸入輸出裝置的分配、啟動、完成和**;
(5)程序管理:實質上是對處理機執行「時間」的管理,即如何將cpu真正合理地分配給每個任務。
老問題了:程序與執行緒的區別
定義方面:程序是程式在某個資料集合上的一次執行活動;執行緒是程序中的乙個執行路徑。
角色方面:在支援執行緒機制的系統中,程序是系統資源分配的單位,執行緒是系統排程的單位。
資源共享方面:程序之間不能共享資源,而執行緒共享所在程序的位址空間和其它資源。同時執行緒還有自己的棧和棧指標,程式計數器等暫存器。
獨立性方面:程序有自己獨立的位址空間,而執行緒沒有,執行緒必須依賴於程序而存在。
導致乙個程序建立另乙個程序的典型操作有四種:
1 使用者登入;系統為使用者建立乙個程序,並插入就緒佇列
2 作業排程
3 提供服務 系統為使用者請求建立乙個程序
4 應用請求 使用者程式自己建立程序
1, spinlock 介紹
spinlock又稱自旋鎖,執行緒通過busy-wait-loop的方式來獲取鎖,任時刻只有乙個執行緒能夠獲得鎖,其他執行緒忙等待直到獲得鎖。spinlock在多處理器多執行緒環境的場景中有很廣泛的使用,一般要求使用spinlock的臨界區盡量簡短,這樣獲取的鎖可以盡快釋放,以滿足其他忙等的執行緒。spinlock和mutex不同,spinlock不會導致執行緒的狀態切換(使用者態->核心態),但是spinlock使用不當(如臨界區執行時間過長)會導致cpu busy飆高。因為pthread_spin_lock 自旋鎖,在進入阻塞佇列之前會先跑幾個迴圈,然後再去嘗試獲取鎖,直到自旋的次數超過閾值,才進入阻塞佇列,此時才切換狀態
2 ,使用準則
spinlock使用準則:臨界區盡量簡短,控制在100行**以內,不要有顯式或者隱式的系統呼叫,呼叫的函式也盡量簡短。例如,不要在臨界區中呼叫read,write,open等會產生系統呼叫的函式,也不要去sleep;strcpy,memcpy等函式慎用,依賴於資料的大小。
分時系統:乙個系統可以同時為兩個或兩個以上的賬戶服務(現在流行的pc,伺服器都是採用這種執行模式)
實時系統:能立即對指令做出反應的作業系統(一般用於微控制器上,比如電梯的上下控制中,對於按鍵等動作要求進行實時處理)
支撐軟體是支撐各種軟體的開發與維護的軟體,又稱為軟體開發環境。它主要包括環境資料庫、各種介面軟體和工具組。著名的軟體開發環境有ibm公司的web sphere,微軟公司的studio.net等。
包括一系列基本的工具(比如編譯器,資料庫管理,儲存器格式化,檔案系統管理,使用者身份驗證,驅動管理,網路連線等方面的工具)。
軟體系統(software systems)是指由 系統軟體 、 支撐軟體 和 應用軟體 組成的 計算機 軟體系統,它是 計算機系統 中由 軟體 組成的部分。
不十分準確的說,
–系統軟體:作業系統,
–支撐軟體:軟體開發環境
首先互斥變數是相互對稱的,第二沒有互斥量會造成死鎖。根據這兩個條件就可以排除abc。乙個產品只能被乙個消費者或乙個生產者使用,必須要用互斥量,否則會進入兩個角色會進入請求等待狀態。
索引結構指乙個檔案的資訊存放在若干不連續的物理塊中,系統為每個檔案建立乙個專用的資料結構——索引表,並將這些塊的塊號存放在索引表中。有點是保留了鏈結結構的優點,同時解決了其缺點,即能順序訪問,又能隨機訪問,滿足了檔案動態增長,插入刪除的需求,也能充分利用外存空間。缺點是索引表本身帶來的系統開銷。
在分段儲存管理方式中,作業的位址空間被劃分為若干個段,每個段定義了一組邏輯資訊。每個段都有自己的名字。為了實現簡單起見,通常可用乙個段號來代替段名,每個段都從0開始編址,並採用一段連續的位址空間。其邏輯位址由段號(段名)和段內位址所組成。所以第一次訪問段名,第二次訪問段內位址。
假如有快表,快表命中只需要訪問主存一次,直接到指令的地方取指令即可;
假如沒有快表或者快表沒有命中,需要兩次訪問主存:
第一次訪問頁表或者段表,找到指令或者運算元位址,第二次取數或取指令;
假如頁表或者段表也沒有命中,就會發生內外存置換,這個時候需要訪問主存三次。
雖然段表是二維的,但是邏輯位址也是一次訪問的,和快表沒啥區別
鏈結分硬鏈結和符號鏈結。
符號鏈結可以建立對於檔案和目錄的鏈結。符號鏈結可以跨檔案系統,即可以跨磁碟分割槽。符號鏈結的檔案型別位是l,鏈結檔案具有新的i節點。
硬鏈結不可以跨檔案系統。它只能建立對檔案的鏈結,硬鏈結的檔案型別位是-,且硬鏈結檔案的i節點同被鏈結檔案的i節點相同。
管程是管理程序間同步的機制,保證程序互斥的訪問共享變數,並方便的阻塞、喚醒程序
面向塊:將資訊儲存在塊中,傳輸時一次傳一塊,塊裝置可以按照任意順序進行訪問,以塊為單位進行操作,例如磁碟、usb智慧卡等;
面向流:又稱面向字元,將資訊以位元組流的方式輸入輸出資料,沒有塊結構,字元裝置必須以序列順序依次進行訪問的裝置,如觸控螢幕、磁帶驅動器、滑鼠、終端,,印表機等。
當程序在執行過程中由於某種原因停止執行
(1)當程序排程採用的是時間片輪轉的排程演算法,當時間片結束後:該程序為就緒狀態,進入就緒佇列;
(2)當程序是由於請求某種資源而停止執行時;分為靜止阻塞和活動阻塞兩種狀態;
a:當程序停止執行且沒有被掛起(執行blocked原語)時,為活動阻塞狀態;
b.當程序停止執行且被掛起時,為靜止阻塞狀態;
(3)當程序停止是由於使用者或者其他原因強行結束時,為終止狀態
檔案物理結構即磁碟檔案結構
連續檔案類似於陣列,順序訪問速度快,但是增刪資料時要移動其他資料塊,所以速度很慢;
鏈結檔案類似於鍊錶,隨機訪問速度慢,增刪資料很快,不需要移動資料塊,只需要改變指標指向即可;
索引檔案糅合了連續檔案和鏈結檔案,但更適合大檔案;
windows使用顯式鏈結檔案
作業系統理論細節 2
訊號量 訊號量是最早出現的用來解決程序同步與互斥問題的機制。訊號量 saphore 值表示相應資源的使用情況。訊號量s 0時,s表示可用資源的數量。執行一次p操作意味著請求分配乙個資源,因此s的值減1 當s 0時,表示已經沒有可用資源,s的絕對值表示當前等待該資源的程序數。請求者必須等待其他程序釋放...
作業系統理論
作業系統理論 1.作業系統是什麼?作業系統是乙個協調 管理 控制計算機硬體資源與應用軟體資源的一段控制程式 有兩大功能 1.將複雜的硬體操作封裝成簡單的介面給應用程式或者使用者去使用 2.將多個程序對硬體的競爭變得有序 作業系統發展史 併發 多個任務看起來是同時執行的 序列 乙個任務完完整整地執行完...
作業系統 理論知識
可能很多人都會說,我們平時裝的windows7 windows10都是作業系統,沒錯,他們都是作業系統。那除了這些還有沒有其他的?作業系統 operating system,os 是指控制和管理整個計算機系統的硬體和軟體資源,並合理地組織排程計算機的工作和資源的分配,以提供給使用者和其他軟體方便的介...