計算機專業課系列之三 程序和執行緒

2022-02-05 02:46:41 字數 1788 閱讀 9929

一,作業系統的關鍵抽象

解析:1,把io裝置抽象成檔案,這樣使用者不用直接面對硬碟做操作了,因為硬碟是複雜的機械式裝置(磁碟塊,旋轉,扇區等)。作業系統不僅把io裝置抽象成檔案。還包括控制台,輸入輸出裝置都可以抽象成檔案。

2,物理主存+io裝置 抽象成 虛擬儲存器。虛擬儲存器是對記憶體和硬碟的抽象,他讓每個程序都有乙個超級大的記憶體空間。(因為記憶體的大小是  有限的,不可能把所有的程序都放到記憶體中,所以作業系統給每個程序乙個獨立的虛擬位址空間,這個獨立的虛擬位址空間會被對映到真  實的記憶體空間,程式看起來是在執行,但是可能只有一小段的**被調到的真實的記憶體中,並不是所有的程式**都調入記憶體中去了)

3,cpu抽象成指令集,

4,作業系統 + 儲存器 抽象成 程序

5,作業系統 + 程序 抽象成 虛擬機器。比如雲計算就用到虛擬機器。

二,程序的比喻

三,記憶體中的程序

程序在虛擬儲存器中的邏輯布局

作業系統切換程序

記憶體中有乙個資料結構叫:pcb,專門用來儲存上下文的。

當cpu時間片用完後,從執行態到就緒態

當發生阻塞時,從執行態到等待

程序的排程:

dos系統,win3.1系統都是非搶占式,不適合互動式操作。

批處理系統的排程

互動式系統的排程

程序間同步:

經典的生產者消費者問題

問題:**中的count++,其實機器語言執行時需要三步。

register = counter; 把記憶體中的值放入暫存器中

register = register + 1; 暫存器進行自增操作

counter = register;  再把暫存器中的值寫會記憶體中

乙個指令週期內不能一下子完成上面三條指令。那麼在併發情況下就會出錯。所以要加鎖,等這三條指令執行完畢。才讓別的執行緒執行。

解決問題:

三,執行緒

執行緒的切換

實現方式一:

缺點:乙個程序的其中乙個執行緒阻塞後,該程序的其他執行緒都無法執行。

實現方式二:

缺點:核心中的執行緒太多了

實現三:

多個使用者執行緒對應乙個核心執行緒。

計算機專業要學哪些專業課?

博主是一所一般的一本計算機專業畢業生,大學中所學的計算機專業課程有如下這些,可能有不少遺漏,後續會考慮補充 計算機網路篇 作業系統篇 計算機組成原理篇 資料結構篇 資料庫篇 網路安全篇 資料通訊篇 嵌入式篇 圖形影象篇 編譯原理篇 管理篇 其他 以上這些是我的大學的專業課,可能有遺漏,不同學校所學課...

計算機專業課系列之五 漫談檔案系統

一,機械硬碟 二,檔案和目錄 1,解釋 c 確定在哪個柱面 h 確定在哪個磁頭 s 確定在哪個扇區 先找到柱面,然後找到磁頭 磁頭決定哪個碟片 最後確定在哪個扇區。按照 c,h,s 將扇區形成一維扇區陣列,陣列索引就是扇區編號。2,使用者是無法直接訪問扇區的,作業系統把扇區抽象成檔案。檔案是我們操作...

2023年考研專業課基礎複習 計算機

對報考計算機專業的廣大考生而言,除了政治 英語 數學三門公共課之外,對最終成績舉足輕重的計算機統考專業課的複習同樣是 先下手為強 基礎階段複習,顧名思義,以夯實基礎知識 掌握基本解題方法為重。萬學海文專業課輔導老師們提醒2012年的考生們這一階段的複習需著重注意以下幾方面的問題 1.階段複習目標 了...