小白如何學(xué)操作系統(tǒng)?
點(diǎn)擊藍(lán)色“程序員cxuan?”關(guān)注我喲
加個(gè)“星標(biāo)”,歡迎來(lái)撩

很多讀者問(wèn)我如何學(xué)習(xí)操作系統(tǒng)?推薦幾本操作系統(tǒng)可以看的書?操作系統(tǒng)都需要學(xué)什么?有哪些視頻可以看嗎?下面我就針對(duì)性的對(duì)這些問(wèn)題做一下我自己的闡述。
學(xué)習(xí)操作系統(tǒng)不是為了讓你設(shè)計(jì)一個(gè)操作系統(tǒng),而是為了讓你更好的了解其運(yùn)行原理。
如果你覺(jué)得操作系統(tǒng)有些難度的話,強(qiáng)烈推薦看一下我的這本 PDF。
這個(gè) PDF 能讓你對(duì)計(jì)算機(jī)的硬件和運(yùn)行原理有基本的入門。
這本 PDF 可以說(shuō)是對(duì)任何小白都適用了,如果你能看完,就說(shuō)明你有一定的基礎(chǔ)了,可以正式入門操作系統(tǒng)了。
我學(xué)習(xí)操作系統(tǒng)是根據(jù)機(jī)械工業(yè)出版社的《現(xiàn)代操作系統(tǒng)》第四版學(xué)習(xí)的。我是根據(jù)中文版和英文版結(jié)合來(lái)看的,看完你可能會(huì)很懵逼,但是沒(méi)關(guān)系,就一句話很重要。
「花 200 - 300 小時(shí)入門一門課程,然后在你職業(yè)生涯中,不時(shí)溫習(xí)其中的精髓」
操作系統(tǒng)學(xué)習(xí)之旅
下面是操作系統(tǒng)的大綱

先對(duì)上面操作系統(tǒng)大綱有個(gè)印象,下面我會(huì)對(duì)每個(gè)章節(jié)放上我的文章和學(xué)習(xí)重點(diǎn)

第一章 操作系統(tǒng)概述
在這一章節(jié),你需要知道

什么是操作系統(tǒng)?什么是計(jì)算機(jī)系統(tǒng)?操作系統(tǒng)有什么用?操作系統(tǒng)滿足了什么需求?什么是內(nèi)核態(tài)和用戶態(tài)? 計(jì)算機(jī)都有哪些硬件?它們各自的作用是什么??jī)?nèi)存的層次模型是什么?多線程和多核芯片的關(guān)系?為什么會(huì)出現(xiàn)高速緩存?磁盤的構(gòu)造是什么?I/O 的三種方式是什么?中斷的處理過(guò)程?總線是什么? 都有哪些操作系統(tǒng)? 操作系統(tǒng)都有哪幾類抽象?進(jìn)程是什么?什么是地址空間?文件是什么?什么是 shell? 系統(tǒng)調(diào)用是什么?系統(tǒng)調(diào)用的分類 操作系統(tǒng)的結(jié)構(gòu)有哪些?單體系統(tǒng)、分層系統(tǒng)、微內(nèi)核、客戶-服務(wù)器模式都是什么意思?
你可以從下面我的文章中找到答案
第二章 進(jìn)程和線程
在這一章節(jié),你需要知道下面這些內(nèi)容

進(jìn)程模型?進(jìn)程創(chuàng)建的方式有幾種?進(jìn)程的終止方式?Unix 和 Windows 體系結(jié)構(gòu)一樣嗎?什么是上下文切換?進(jìn)程有哪幾種實(shí)現(xiàn)? 并行和并發(fā)一樣嗎? 線程和進(jìn)程一樣嗎?有了進(jìn)程為什么還要有線程?什么是 POXIS 線程?線程實(shí)現(xiàn)有幾種方式? 進(jìn)程間通信有幾種方式?競(jìng)態(tài)條件是什么?臨界區(qū)是什么? 操作系統(tǒng)是如何調(diào)度的?進(jìn)程有哪些行為?調(diào)度算法有哪些?調(diào)度的分類?
你可以從我下面這篇文章中找到答案
第三章 內(nèi)存管理
在這一章,你需要知道下面這些知識(shí)點(diǎn)

什么是無(wú)存儲(chǔ)器抽象? 什么是有存儲(chǔ)器抽象?什么是地址空間的概念?如何管理空閑內(nèi)存空間?有哪些管理算法? 頁(yè)面置換算法有哪些?頁(yè)面置換算法的優(yōu)劣性對(duì)比?如何選擇? 什么是虛擬內(nèi)存?為什么能運(yùn)行比系統(tǒng)內(nèi)存還多的程序?什么是頁(yè)和頁(yè)表??jī)?nèi)存如何加載數(shù)據(jù)?頁(yè)表的結(jié)構(gòu)是什么?如何優(yōu)化/加速分頁(yè)過(guò)程?如果頁(yè)表特別大,該采取哪種方式進(jìn)行優(yōu)化?
你可以從我下面這篇文章中找到答案
第四章 文件系統(tǒng)管理
在這一章,你需要知道下面這些知識(shí)點(diǎn)

什么是文件?文件是一種抽象嗎?文件的命名是怎樣的?文件的結(jié)構(gòu)是什么?文件有哪些類型?文件如何訪問(wèn)?屬性是什么?文件如何操作? 什么是一級(jí)語(yǔ)錄系統(tǒng)?路徑名是什么? 文件系統(tǒng)布局是怎樣的?文件系統(tǒng)實(shí)現(xiàn)有哪幾種方式?inode 是什么? 文件系統(tǒng)的管理和優(yōu)化是什么?磁盤空間是如何管理的?文件備份是什么?如何進(jìn)行文件備份? 如何優(yōu)化文件系統(tǒng)性能?
你可以從我下面這篇文章中找到答案
簡(jiǎn)直不要太硬了!一文帶你徹底理解文件系統(tǒng)
第五章 I/O 管理
在這一章,你需要知道下面這些知識(shí)點(diǎn)

I/O 設(shè)備都分為哪幾類?各自的優(yōu)缺點(diǎn)是什么?什么是內(nèi)存映射I/O ,它的優(yōu)缺點(diǎn)是什么?什么是 DMA?DMA 的工作原理?什么是中斷?中斷有哪些分類,各自是什么意思,如何解釋? I/O 的軟件目標(biāo)是什么?有哪幾類 I/O 方式? I/O 層次結(jié)構(gòu)如何劃分? 磁盤是如何工作的?磁盤的構(gòu)造?磁盤調(diào)度算法有哪些?磁盤如何處理錯(cuò)誤? 什么是時(shí)鐘?各自解釋一下時(shí)鐘硬件、軟件和定時(shí)器?
你可以從我下面這篇文章中找到答案
第六章 死鎖詳解
在這一章,你需要知道下面這些知識(shí)點(diǎn)

操作系統(tǒng)是如何定義資源的?什么是可搶占資源和不可搶占資源? 死鎖的模型,死鎖有哪幾種類型? 什么是鴕鳥(niǎo)算法? 死鎖如何檢測(cè)?通過(guò)哪幾種方式恢復(fù)死鎖? 如何避免死鎖? 如何破壞死鎖? 什么是資源死鎖?除此之外還有哪些死鎖方式?
你可以從我下面這篇文章中找到答案
操作系統(tǒng)概念和面試題
如果你看完計(jì)算機(jī)必知的核心基礎(chǔ)知識(shí)后還是感覺(jué)有些吃力,不妨先看看我整理的操作系統(tǒng)核心概念
還有為你準(zhǔn)備的操作系統(tǒng)面試題
看完這篇操作系統(tǒng),和面試官扯皮就沒(méi)問(wèn)題了
操作系統(tǒng)學(xué)習(xí)資料
開(kāi)源項(xiàng)目
首先給大家推薦一個(gè)非常好的開(kāi)源項(xiàng)目
自學(xué)計(jì)算機(jī)科學(xué)?
https://link.zhihu.com/?target=https%3A//github.com/keithnull/TeachYourselfCS-CN/blob/master/TeachYourselfCS-CN.md
你不僅僅可以找到操作系統(tǒng)相關(guān)的資源,你還可以找到其他計(jì)算機(jī)黑皮書資源

里面有一句話非常提神
?如果你是一個(gè)自學(xué)成才的工程師,或者從編程培訓(xùn)班畢業(yè),那么你很有必要學(xué)習(xí)計(jì)算機(jī)科學(xué)。幸運(yùn)的是,不必為此花上數(shù)年光陰和不菲費(fèi)用去攻讀一個(gè)學(xué)位:僅僅依靠自己,你就可以獲得世界一流水平的教育。
?
為什么有的人說(shuō)學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)沒(méi)有必要?現(xiàn)在看來(lái)簡(jiǎn)直是天方夜譚
?軟件工程師分為兩種:一種充分理解了計(jì)算機(jī)科學(xué),從而有能力應(yīng)對(duì)充滿挑戰(zhàn)的創(chuàng)造性工作;另一種僅僅憑著對(duì)一些高級(jí)工具的熟悉而勉強(qiáng)應(yīng)付。
這兩種人都自稱軟件工程師,都能在職業(yè)生涯早期掙到差不多的工資。然而,隨著時(shí)間流逝,第一種工程師不斷成長(zhǎng),所做的事情將會(huì)越來(lái)越有意義且更為高薪,不論是有價(jià)值的商業(yè)工作、突破性的開(kāi)源項(xiàng)目、技術(shù)上的領(lǐng)導(dǎo)力或者高質(zhì)量的個(gè)人貢獻(xiàn)。
?
學(xué)習(xí)視頻
除此之外,我在 B 站上也給大家找來(lái)了一些學(xué)習(xí)視頻
機(jī)械工業(yè)黑皮書系列 B 站視頻
《現(xiàn)代操作系統(tǒng)》:https://www.bilibili.com/video/av9555596?from=search&seid=8107077283516919308
《算法導(dǎo)論》:https://www.bilibili.com/video/av48922404?from=search&seid=10653982037326460685
《深入理解計(jì)算機(jī)系統(tǒng)》:https://www.bilibili.com/video/av31289365?from=search&seid=16298868573410423104
《計(jì)算機(jī)網(wǎng)絡(luò):自頂向下方法》:https://www.bilibili.com/video/av41404195?from=search&seid=15854652450440912260
《計(jì)算機(jī)程序的構(gòu)造和解釋》:https://www.bilibili.com/video/av8515129?from=search&seid=537958487190286356
《編譯原理》:https://www.bilibili.com/video/av17649289?from=search&seid=5673462623145874347
《數(shù)據(jù)庫(kù)系統(tǒng)概念》:https://www.bilibili.com/video/BV1PJ411F78b?from=search&seid=2655021297331616552
操作系統(tǒng)書籍推薦
《操作系統(tǒng)導(dǎo)論》 強(qiáng)烈推薦,國(guó)外經(jīng)典教材《Operating Systems:Three Easy Pieces》的中文版 《操作系統(tǒng)精髓與設(shè)計(jì)原理》 《深入理解計(jì)算機(jī)系統(tǒng)》 《現(xiàn)代操作系統(tǒng)》 《操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》 《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》 《深入理解linux內(nèi)核》 《Linux設(shè)備驅(qū)動(dòng)程序》 《Linux內(nèi)核完全剖析》 《UNIX操作系統(tǒng)設(shè)計(jì)》
操作系統(tǒng)網(wǎng)站推薦
給大家推薦一些我在學(xué)習(xí)操作系統(tǒng)這門課的過(guò)程中,經(jīng)常參考的網(wǎng)站
一般很少有人推薦操作系統(tǒng)的網(wǎng)站吧。。。。。。這幾個(gè)網(wǎng)站來(lái)源于我平常的學(xué)習(xí)總結(jié),也有一些是來(lái)源于網(wǎng)上優(yōu)秀的回答,希望這幾個(gè)網(wǎng)站能夠助力你對(duì)操作系統(tǒng)有更深的認(rèn)識(shí)。
studytonight
studytonight 簡(jiǎn)直太棒了?。?!studytonight 會(huì)包括 operationg system,但是并不是說(shuō) studytonight 就是一個(gè)單純的 OS 學(xué)習(xí)網(wǎng)站,它是一個(gè)基礎(chǔ)教程網(wǎng),它的首頁(yè)是這樣的,不僅限于 os ,還會(huì)包括 「Java、C、CSS、OS、Computer network 等」。

這個(gè)頁(yè)面一看就愛(ài)上了,和國(guó)內(nèi)很多頁(yè)面做的硬風(fēng)格不同,這樣的教程才不那么生硬和讓人討厭。在所有的素材庫(kù)里面,有各種各樣的教程

我們推薦的是操作系統(tǒng),所以索性就點(diǎn)進(jìn)去操作系統(tǒng)主頁(yè)好了,點(diǎn)進(jìn)去的頁(yè)面就是這樣的
studytonight 是一個(gè)對(duì)初學(xué)者來(lái)說(shuō)學(xué)習(xí)操作系統(tǒng)的一個(gè)很友好的網(wǎng)站。

課程藝術(shù)主要分為三部分,由易到難分別是基礎(chǔ)篇、中等篇、提高篇,我們點(diǎn)進(jìn)去基礎(chǔ)篇的第一篇
這一篇主要是對(duì)操作系統(tǒng)的介紹,操作系統(tǒng)的功能、操作系統(tǒng)任務(wù)等
通過(guò)簡(jiǎn)單的描述和圖片來(lái)說(shuō)明,讓人感覺(jué)清晰易懂,很有目的性的學(xué)習(xí),而且這些主題也可以作為面試題來(lái)考

你還真說(shuō)對(duì)了,studytonight 還真的就有面試題
我們?cè)?Test 頁(yè)簽下面會(huì)發(fā)現(xiàn)有很多面試題

我們選擇 「Operating System」 進(jìn)去之后會(huì)發(fā)現(xiàn)有很多的測(cè)試

是一個(gè)一體化的學(xué)習(xí)平臺(tái),適用于新手,我大致翻看了一下,里面的東西比較基礎(chǔ),受眾廣,是大家學(xué)習(xí)必備的一個(gè)網(wǎng)站。
udacity
udacity 是一個(gè)視頻學(xué)習(xí)網(wǎng)站,界面看起來(lái)很清爽。

下面還有關(guān)于課程的介紹,同時(shí)你可以開(kāi)始免費(fèi)的課程,這個(gè)界面就是中文版了,讓人眼前一亮

我的課程 就是你學(xué)過(guò)的所有課程,你可以在所有課程中搜索指定的課程,種類非常多

我們還是以操作系統(tǒng)為例,來(lái)看一下具體的課程

左面是具體的課程列表,右面是講師授課部分,視頻非常清晰,而且講師吐字很清楚,可以鍛煉英語(yǔ)。有一些小伙伴們說(shuō)英文看不懂,對(duì)英文網(wǎng)而退卻,這不是一個(gè)好習(xí)慣。英文在編程世界中的重要性不言而喻。所以英文是你一定要學(xué)好的一門語(yǔ)言。

講師講完課程之后還有具體的練習(xí)環(huán)節(jié),作為學(xué)習(xí)鞏固,非常不錯(cuò)。
udacity 的課程要比 studytonight 更深一些,操作系統(tǒng)這門課就分成了 22 堂課,每一堂課還有很多小節(jié),真是一個(gè)非常好的網(wǎng)站。「我現(xiàn)在在寫文章,我巴不得不寫字了,馬上學(xué)習(xí)!」。還是忍住了,那就寫完了馬上去看?。?!
tutorialspoint
tutorialspoint 這個(gè)網(wǎng)站也是一個(gè)資源教程網(wǎng),這個(gè)網(wǎng)站的搜索指數(shù)非常高,基本上搜任何問(wèn)題都有 tutorialspoint 的解釋。

我們點(diǎn)進(jìn)去 Library 之后發(fā)現(xiàn),這就是教程寶庫(kù)啊,羅列的非常清楚

tutorialspoint ?也有視頻教程,不過(guò)大多都收費(fèi)。

教程非常多,不僅限于編程,也包含 Excel 、SAP 等教程。
tutorialspoint 還有電子書教程,不過(guò)大部分也是收費(fèi)的,應(yīng)該是 tutorialspoint 自己制作的 PDF,不知道寫的怎么樣,如果有興趣的小伙伴可以付費(fèi)下載,到時(shí)候記得給我發(fā)一份哦,嘿嘿。

說(shuō)了這么多,我們還沒(méi)有看 tutorialspoint 操作系統(tǒng)的主頁(yè)呢

左邊是導(dǎo)航欄,右邊是具體的教程,這個(gè)樣式感覺(jué)有些老,不過(guò)分類倒是很明確的,里面的內(nèi)容要比 studytonight 差一些,也是一個(gè)入門非常好的教程網(wǎng)
classcentral
classcentral 這個(gè)網(wǎng)站有點(diǎn)強(qiáng)啊,里面匯總了各大名校的教程

我們發(fā)現(xiàn)了一個(gè)中文教程,一看是 南京大學(xué) 的教程,南京大學(xué)也是非常牛逼的一所學(xué)校,小編也有南大的基友在搞影視,其實(shí)我是一個(gè)被編程耽誤的導(dǎo)演,狗頭保命。
不扯皮了,來(lái)看看南大的課程

這么多牛逼的課程發(fā)現(xiàn)了中文大學(xué),也側(cè)面說(shuō)明了我國(guó)大學(xué)在國(guó)際上的地位。Overview 是 OS 的總體介紹。
我們注冊(cè)后點(diǎn)擊開(kāi)始課程,就進(jìn)入講課頁(yè)面

課程分為 6 周,以視頻的形式展開(kāi),我們開(kāi)始 計(jì)算機(jī)系統(tǒng)概覽。

終于能看到國(guó)人講的操作系統(tǒng)了?。?!
右邊還可以隨時(shí)做筆記進(jìn)行查看,課程還支持 下載 功能,非常不錯(cuò)!

好了我們?cè)撏顺鰜?lái)了,一會(huì)兒又忍不住聽(tīng)課了!
nptel
仿佛見(jiàn)到了一個(gè)不得了的網(wǎng)站,這個(gè)網(wǎng)站的名字就隱隱的感覺(jué)有點(diǎn)牛逼。我們先看牛逼在哪,然后再看為什么牛逼

「你能感覺(jué)出來(lái)牛逼了嗎」?
這每一個(gè)目錄都 TM 是一本書啊,雖然頁(yè)數(shù)不多,但這確確實(shí)實(shí)是寶貝啊。
從操作系統(tǒng)概述到文件系統(tǒng)、進(jìn)程管理、文件管理、I/O 管理等等等等。這還不是最牛逼的,最牛逼的是右邊能免費(fèi) 下載,你說(shuō)氣人不氣人

每一章節(jié)都支持下載 PDF 版本。
我們帶著好奇心,點(diǎn)開(kāi)了 About Us。
然后就看到了下面這段話

也就是說(shuō),這是一個(gè) 印度的國(guó)家增強(qiáng)型學(xué)習(xí)計(jì)劃,也就是說(shuō),印度的各大名校聯(lián)合推出的免費(fèi)學(xué)習(xí)計(jì)劃,這也能理解為什么印度人在電氣、編程、通信方面能夠越來(lái)越牛逼了。

這個(gè)網(wǎng)站你一定要看,我認(rèn)為可以和黑皮書系列平起平坐了。
codescracker
codescracker 又是一個(gè)牛逼的網(wǎng)站,看完這個(gè)網(wǎng)站,我才覺(jué)得低調(diào)才是最牛逼的炫耀。。。

分類都非常全,解釋的也很到位,但是 codescracker 并不只是一個(gè) os 網(wǎng)站,它是一門編程語(yǔ)言的學(xué)習(xí)一站式平臺(tái),只不過(guò)網(wǎng)站比較簡(jiǎn)潔

可以看到有各種各樣的教程,下面還是有測(cè)試類的,基本上企業(yè)用的語(yǔ)言都涵蓋到了。
你必須要珍藏的一個(gè)網(wǎng)站。
sciencedirect
sciencedirect 這個(gè)網(wǎng)站真是太牛逼了。百度對(duì) sciencedirect 的解釋

不過(guò) sciencedirect 大部分的 PDF 下載是需要收費(fèi)的,感興趣的小伙伴們可以購(gòu)買
homepage
Homepage 是做什么的,一看主頁(yè)就明白了

這是一個(gè)計(jì)算機(jī)科學(xué)和統(tǒng)計(jì)學(xué)的網(wǎng)站,然后我們點(diǎn)擊 search 搜索 os 直接跳轉(zhuǎn)到 os 的網(wǎng)站

然后就呵呵呵呵了,這個(gè)網(wǎng)站比較奇葩,它沒(méi)有后退和前進(jìn)的按鈕,那怎么訪問(wèn)?

我是直接通過(guò) url 訪問(wèn)的,主頁(yè)就是 https://homepage.cs.uri.edu/faculty/wolfe/book/Readings/Reading01.htm
但是網(wǎng)站太硬核了,很好的一個(gè)學(xué)習(xí)資料哦。
computer.howstuffworks.com
computer.howstuffworks.com 就是一個(gè)計(jì)算機(jī)網(wǎng)站,它涵蓋軟件和硬件的方方面面。

Computer 知識(shí)包括 「計(jì)算機(jī)硬件、網(wǎng)絡(luò)、計(jì)算機(jī)軟件、計(jì)算機(jī)秘密等等」
都是一些講的非常好的文章,可以說(shuō)是計(jì)算機(jī)的百科全書了。
老樣子我們點(diǎn)開(kāi) COMPUTER OPERATING SYSTEMS 專題,可以看到都是一些非常好的文章

加入收藏夾!
tldp.org
這個(gè)網(wǎng)站又是一個(gè)學(xué)習(xí)操作系統(tǒng)非常牛逼的網(wǎng)站,我都不知道今晚上說(shuō)了多少次了,哈哈哈哈。
來(lái)看看主頁(yè)是啥樣的

這一看就是一個(gè)牛逼的網(wǎng)站,不要問(wèn)我為什么,OS 的頁(yè)面是這樣的

沒(méi)有任何點(diǎn)綴和裝飾,「成年人的生活就這么樸實(shí)無(wú)華」。
bilibili
說(shuō)到教程,怎么能沒(méi)有我大 B 站?
各大視頻廠家坐在一起談?wù)撜l(shuí)最牛逼,youtube 說(shuō),bilibili 你站起來(lái),bilibili 很不情愿的說(shuō),"為什么"?"你站起來(lái)",youtube 說(shuō)到,bilibili 很不情愿的站起來(lái)了,youbute 隨后說(shuō):「我不是針對(duì)誰(shuí),各位在座的都是垃圾!」

提出勘誤
最后,提出幾個(gè)我個(gè)人和讀者發(fā)現(xiàn)的勘誤。人非圣賢孰能無(wú)過(guò),但是有錯(cuò)誤還是要指出來(lái)的,以免大家碰到相同的問(wèn)題無(wú)厘頭,既浪費(fèi)時(shí)間又沒(méi)有效果,不去看英文原版的話很難發(fā)現(xiàn)問(wèn)題。




?注:如果你在學(xué)習(xí)過(guò)程中也發(fā)現(xiàn)了勘誤,歡迎添加我的微信 lx252279279,我可以幫助你反饋。
?
最后
—?【 THE END 】— 本公眾號(hào)全部博文已整理成一個(gè)目錄,請(qǐng)?jiān)诠娞?hào)里回復(fù)「m」獲??! 3T技術(shù)資源大放送!包括但不限于:Java、C/C++,Linux,Python,大數(shù)據(jù),人工智能等等。在公眾號(hào)內(nèi)回復(fù)「1024」,即可免費(fèi)獲?。?!
感谢您访问我们的网站,您可能还对以下资源感兴趣:
国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频