雪花新聞

操作系統複習看過來-學生深入淺出串講OS

一年兩度的期末考試周又到了,對於剛開始預習的同學來說,肯定倍感焦慮。原指望老師給劃一劃重點,結果老師劃了整本書。爲了讓同學都順利在考試中過關,小編今天爲大家帶來了《操作系統課程複習串講》系列視頻,該 系列視頻 對操作系統中進程管理和內存管理的重要概念、算法、代碼進行了細緻的講解,快來惡補一下吧,請掃描二維碼去B站觀看。

https://www.bilibili.com/video/BV1Pa4y1e72U/

視頻內容

P1. 硬件知識鋪墊

P2. 進程的特性

P3. 操作系統的結構與狀態轉化

P4. 進程講解

P5. 進程與線程及一些典型問題

P6.臨界資源與臨界區及相關代碼講解

P7.進程同步經典問題代碼講解

P8.死鎖與解除死鎖代碼講解

P9. 程序的裝入與鏈接及相關代碼講解

P10. 編譯與鏈接及相關代碼講解(一)

P11. 編譯與鏈接及相關代碼講解(二)

P12. 段頁式管理

P13. 虛擬地址映射

小編已將視頻講解中的精彩瞬間整理了出來,大家一起來看看吧!

在早期的CPU中只有一顆核心,而目前市面上的處理器都有多個核心。多核處理器的每一個核中都有一個算術邏輯單元(ALU)和其自身的寄存器和緩存,

以這款處理器爲例,每一個內核中有一個ALU、一組寄存器、兩個L1高速緩存分別緩存數據和指令,一個L2高速緩存。

在處理器封包裏還有一個四核共享的L3高速緩存,而主存與處理器封裝包是分離的。

目前市面上還有一種超線程技術已經廣泛使用,其實現原理要依賴於硬件結構的設計,原理是一個核中包裝兩組寄存器和緩存組,便於ALU在兩組之間來回切換。

現代OS中給開發者提供了一虛擬地址空間,這段空間不受限於物理內存的大小。

如何管理虛擬地址空間,就是OS要做的事,有段式管理和頁式管理。

現代OS對虛擬地址空間的管理則主要採用頁式管理。Linux OS中操作系統把可執行文件中的每一個段拆分成相等大小的頁。

如果所查找的頁在內存中,那麼直接進入內存查找,如果頁不在內存中,則向CPU發出一個缺頁中斷,CPU接收到缺頁中斷後會進行請頁,將對應頁面調入內存並修改頁面狀態爲存在,然後在繼續查找之前的地址。

什麼是進程同步呢?

多個相關進程(線程)在執行次序上的協調稱爲進程同步。用於保證多個進程在執行次序上的協調關係的機制稱爲進程同步機制。

一共有5個哲學家,他們圍在一桌喫飯,每個人的面前有一盤菜;每個人的左右兩邊各放着一隻筷子,一共5只筷子,哲學家只有既拿到左筷又拿到右筷才能進餐,只拿到左筷或只拿到右筷都不能進餐。

如圖,很顯然5個人要按照一定的順序先後喫飯才能每個人都喫到。那麼我們來設計一個死鎖的場景,讓哲學家們都變得野蠻,我們讓每位哲學家都先拿左筷再拿右筷,雖然只拿着左筷喫不了飯,但是不放手的同時還要去拿右筷,然後肯定會出現你爭我搶的場景。對於這樣的死鎖場景,我們如何通過工具抓到死鎖現場並解除?且看視頻如何講解。

編譯系統的作用就是將高層的C/C++語言編寫的程序轉換成爲處理器能夠執行的二進制代碼,它需要經過如圖所示的四個步驟:

預處理(Preprocessing)

編譯(Compilation)

彙編(Assembly)

鏈接(Linking)

....

視頻內容就分享到這裏,更多精彩內容,請訪問我們的官方網站: kerneltravel.net,謝謝大家!

編輯  孫張品

觀看完整視頻請點擊原文鏈接

相關文章