就linux学习的一点感受,谈谈前天面试后的感受吧,关于学习Linux
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
建議LZ認真地學習一下unix的啟動過程中的 init 進程
多年來常常有人問我應該如何去學習并掌握 unix 系統(tǒng)。他們在實際學習的過程中,或多或少都碰到了一些困難。典型的感覺是unix雖然簡潔優(yōu)雅,但組合起來卻千變?nèi)f化,經(jīng)常會覺得無從下手。
對這個問題,我給他們的回答幾乎都一樣:在初步掌握了操作系統(tǒng)理論的基礎上,系統(tǒng)地學習并掌握 unix 系統(tǒng)的啟動中的 init 進程。
1、掌握初步的操作系統(tǒng)理論
因為操作系統(tǒng)在計算機系統(tǒng)中兼管著人與計算機的交互接口,是計算機系統(tǒng)中最容易被人接觸和感知的部分,因此很多人認為只要掌握了操作系統(tǒng),更具體地說只要掌握了操作系統(tǒng)中關于人機交互接口部分就等于掌握了計算機技術。之所以會出現(xiàn)這樣的誤解,是因為他們中很多人都沒有系統(tǒng)學習過操作系統(tǒng)理論,自然也就不清楚一個完整的操作系統(tǒng)到底需要包含哪些內(nèi)容。
所以,試圖去掌握一種具體的操作系統(tǒng),首先需要擁有初步的操作系統(tǒng)理論知識,知道一個操作系統(tǒng)需要包含哪些方面的內(nèi)容,如何確定操作系統(tǒng)的設計目標等等。
比方說,吧有很多人都參與過關于 MacOS 和 linux 之間的優(yōu)劣之爭,挺 MacOS 者認為其用戶響應快,圖形界面流暢。挺 linux 者認為其網(wǎng)絡性能優(yōu)越,后臺運行效率高。最終爭來爭去也沒爭出的所以然來。這種爭論的本質(zhì)就是對操作系統(tǒng)的設計目標沒有全局上的認識造成的。
實際上 MacOS 和 linux 的設計目標完全不同。
MacOS 主要考慮的是用戶體驗,主要指標是圖形界面響應速度,說白了就是通過調(diào)度策略盡量為前臺程序優(yōu)先分配CPU時間,盡量保證前臺程序在總體上消費更多的CPU時間。同時通過中斷響應策略,盡量優(yōu)先處理輸入設備如鍵盤,鼠標,觸摸屏的中斷。這樣一來,用戶體驗自然就好,但代價是運行在后臺的程序非常緩慢,所以在 MacOS 上運行后臺服務的效率是很低的,也是有一部分用戶覺得 MacOS 下有些軟件的運行效率還沒有 windows 下來得高的原因。
linux 主要考慮的是計算效率,主要指標是計算速度和網(wǎng)絡服務效率,說白了就是盡量公平地分配CPU時間,讓運行在其上的每個程序都盡量地快速完成。由于 linux 并不刻意為前臺程序優(yōu)先分配CPU時間,因此用戶的交互行為不會過多地影響系統(tǒng)的運行效率。比方說用戶用鼠標拖著窗口滿屏幕快速移動,此時 linux 圖形界面響應會可能跟不上,但后臺程序不受任何影響。這樣設計帶來的好處使得 linux 更適合用來做計算和網(wǎng)絡服務。如果換了 MacOS 來做計算的話,只要用戶在前臺瞎折騰,后臺用于計算的進程運行就會時快時慢,對于時間長達數(shù)天乃之數(shù)周之久的大型運算課題,誰也不能忍受同樣的計算,有時幾天就算完,有時卻要十幾天才算得完。再加上 X 的特有的網(wǎng)絡透明性還可以將負責圖形界面操作的窗口管理器運行在獨立的主機上,把它和專門用于計算的主機隔離開來,這樣專機專用,計算效率就會更高。所以這也是 unix 類操作系統(tǒng)如 linux 經(jīng)常成為集群計算的首選操作系統(tǒng)的原因。
正因為設計目標的不同,即使將這兩種操作系統(tǒng)都安裝在相同硬件配置的計算機上,它們的用戶體驗和系統(tǒng)性能也是截然不同的。所以它們兩者并沒有什么可比性。關鍵是如何根據(jù)實際需要去選擇。至于“果噴”和“果黑”這兩種彼此攻擊的極端偏執(zhí)狂的言論就不用去考慮了。
所以,想掌握操作系統(tǒng),首先需要初步掌握一些操作系統(tǒng)的理論知識,這樣學習具體的操作系統(tǒng)時才會目標明確,脈絡清楚。
2、學習并掌握 unix 系統(tǒng)的啟動過程中的 init 進程
不同設計目的的操作系統(tǒng),其具體內(nèi)容往往有比較大的差別。因此具體的學習方法也是多種多樣。有的人從操作入手,通過熟悉大量桌面應用軟件和初步的腳本編寫,通過定制應用環(huán)境來熟悉操作系統(tǒng)。有的人從編程入手,試圖通過熟悉系統(tǒng)調(diào)用和函數(shù)庫的組成來摸索。有的人從系統(tǒng)配置入手,試圖通過搭建一個可投入實用的服務器來掌握。也有人下載了開源操作系統(tǒng)如 linux 的內(nèi)核源碼,希望通過自行編譯內(nèi)核來了解unix系統(tǒng)的組成。還有的人則試圖閱讀 unix 內(nèi)核源碼,力圖從根本上了解unix系統(tǒng)的設計。
總結(jié)
以上是生活随笔為你收集整理的就linux学习的一点感受,谈谈前天面试后的感受吧,关于学习Linux的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux支持sshd救援模式,单用户、
- 下一篇: linux 无线 网桥,基于Linux无