天天看點

Android 開發的盡頭就是 Linux 系統~

如今的軟體開發行業,伺服器端市場基本被 Linux 系統占領了。移動端中的 Android 系統是基于 Linux 核心開發的,那些很火的虛拟化、消息隊列、雲計算、大資料等技術,都預設支援 Linux 作業系統。​

而對軟體工程師來說,也幾乎一定會遇到 Linux 作業系統的應用場景:比如 Google 搜尋,淘寶購物,QQ、微信聊天等,其實背後都是成千上萬的 Linux 伺服器在支撐。

可以說,打開 Linux 作業系統這扇門,你才是合格的軟體工程師。如果不能熟練地操作 Linux,你基本上等于少了一半的功力,也少了一半的機會。

如果想在技術之路上走得更遠,找更高薪資的工作,深入地學習并掌握作業系統更是必經之路。

可是很多人在學習Linux的過程中,很容易迷路,主要有下面兩個原因:

  1. 作業系統涉及方方面面的知識,包括資料結構與算法、計算機組成原理、網絡協定、編譯原理等等CS專業的硬核知識,可以說是最複雜的軟體系統;
  1. 了解作業系統更需要理論與實踐深度結合,很多具體的程式設計問題,比如并發、網絡程式設計、性能調優等等,都需要你了解作業系統的工作原理。

怎麼輕松高效地掌握作業系統背後的原理呢?

這裡引用一位大佬的比喻:作業系統就像一個軟體外包公司,其核心就相當于這家外包公司的老闆。為什麼這麼說呢?

假設,我們現在就是在做一家外包公司,我們的目标是把這家公司做上市。其中,作業系統就是這家外包公司的老闆。我們把這家公司的發展階段分為這樣幾個時期:

Android 開發的盡頭就是 Linux 系統~

把外包公司做上市的過程,就是我們對 Linux 作業系統從入門到精通的過程。

想要做到對 Linux 了如指掌,你需要爬過6個陡坡:熟練使用 Linux 指令行、使用 Linux 進行程式設計、了解 Linux 核心機制、閱讀 Linux 核心代碼、實驗定制 Linux 元件以及最後落到生産實踐上。

Android 開發的盡頭就是 Linux 系統~

繼續閱讀