計算機原理學習(1)

2021-07-25 16:02:22 字數 1726 閱讀 8845

又有兩年沒有寫blog了, 這2年從做windows phone 到 android c++, 慢慢的很多觀念也有所改變了。以前一心想做c#相關的工作,現在卻感覺,什麼語言都無所謂了。公司專案挺忙,加班比較多,不忙的時候又想休息休息。 所以blog又荒廢了好久。也很少有時間早學習, 加上年紀越來越大,學習動力和熱情也越來越小了。最近乙個月不是特別忙,抽空看了看《深入理解計算機系統》、《程式設計師的自我修養》、《現代作業系統》三本書,然後順帶看了看編譯,彙編相關的知識, 也在網上查了不少資料。突然發現好多東西其實是大學裡都學過,這也算是工作6年對以前知識的乙個總體的複習吧。在不同時期看相同的書,總會有不同的收穫。

對於計算機專業畢業的人來說,後面大部分都是學校都學過,從純硬體的模擬電路,數位電路,到軟硬體相關的計算機組成原理,計算機體系結構,再就是最底層的作業系統,編譯原理,彙編,c語言,到上層存軟體的開發語言。但是很多人都覺得是枯燥的理論知識,實際這真是挺有用的東西。但是工作後基本不會接觸,所以都忘記的差不多了,看下書一段時間又忘記了,所以這次決定寫下來,算是學習筆記,也算是為一些朋友提供乙個參考。

作為乙個it工程師,用現在流行的話來說,這也是個高階大氣上檔次的工作。但是你是否真的了解你每天都在用的計算機,你又是否真的了解你自己寫的程式呢?當乙個人問你計算機是怎麼工作的時候,你會不會一臉茫然的想,我怎麼從來沒想過這個問題?

我們的**是如何被編譯成可執行檔案的?

程式是如何被cpu執行的?

程序和執行緒到底是什麼東西?

cpu的指令和組合語言和程式庫和開發語言有什麼關係?

為什麼系統可以同時執行多個程式,是如何做到的?

.net的編譯出來的是託管**,和c++的native**執行有區別嗎?

為什麼我new了1g的記憶體空間,實際記憶體卻沒變化?

如果你能很確定的回答這些問題,那麼我有不懂的問題就應該可以向你請教了。那也麻煩你幫我找找文章中的錯誤。如果你不太清楚甚至是完全說不清,那我們就一起來學習學習。

這個系列是介紹計算機的原理,主要涉及的是軟體方面的,硬體原理只會簡單的從體系結構方面進行介紹。每乙個點都不會特別深入,一方面是沒這個能力,另一方面是沒必要,因為每乙個點可能都是厚厚的一本書。而且對於我這種基本和應用程式打交道的碼農來說,這個程度的了解也是比較合適的。整個學習過程也就是看書,查資料,再重新看書,再查資料,最後總結。裡面也會結合自己有點一點點經驗,把比較零散的點結合起來方便理解。 文章裡肯定會存在很多錯誤,希望可以指出來。

還有一些沒讀的

主要是linux相關的書比較多,但是後續文章中一些內容都是比較通用的,有些地方會寫出windows和linux的差異。其中ldd,lkd,utk三本經常看到論壇大神回答問題是說你看那看utk那裡那裡就知道了,我後來搜尋發現我也看了2本了,雖然只是了解性的看了看。

計算機原理學習(1)– 計算機基本工作原理

計算機原理學習(2)– 儲存器和i/o裝置和匯流排

計算機原理學習(3)– 記憶體工作原理

計算機原理學習(4)– 作業系統發展和程式編譯

計算機原理學習(5)– x86-16 cpu和記憶體管理

計算機原理學習(6)– x86-32 cpu和記憶體管理之分頁管理

計算機原理學習(7)– x86-32 cpu和記憶體管理之分段管理

計算機原理學習(8)– 程序的記憶體對映和記憶體共享

計算機原理學習(9)– 可執行檔案的編譯和結構

計算機原理學習(10)– 可執行檔案的載入和執行

計算機原理學習(11)– 程序的記憶體布局

(tbd) 2014.4.26 update



計算機原理學習 一

作為乙個it工程師,用現在流行的話來說,這也是個高階大氣上檔次的工作。但是你是否真的了解你每天都在用的計算機,你又是否真的了解你自己寫的程式呢?當乙個人問你計算機是怎麼工作的時候,你會不會一臉茫然的想,我怎麼從來沒想過這個問題?我們的 是如何被編譯成可執行檔案的?程式是如何被cpu執行的?程序和執行...

計算機原理學習(序)

又有兩年沒有寫blog了,這2年從做windows phone 到 android c 慢慢的很多觀念也有所改變了。以前一心想做c 相關的工作,現在卻感覺,什麼語言都無所謂了。公司專案挺忙,加班比較多,不忙的時候又想休息休息。所以blog又荒廢了好久。也很少有時間早學習,加上年紀越來越大,學習動力和...

計算機組成原理學習筆記 1

各個硬體的工作原理 知識結構圖 馮 諾依曼提出 儲存程式 的概念 早期馮諾依曼機結構 在計算機系統中,軟體和硬體在邏輯上是等效的。因為對於同乙個功能來說,既可以用軟體來實現,也可以用硬體來實現,只不過成本和效率有所不同。馮諾依曼計算機的特點 計算機由五大部件組成 輸入裝置 輸出裝置 儲存器 控制器和...