到什么程度才叫精通Linux?
無獨有偶,作為一名十年程序員,我的頭條簡介精通linux。那么掌握linux到什么程度才算熟練呢?邊肖用自己的經歷解釋:(以下經歷由淺入深)
1.至少安裝了10個linux發行版,了解每個發行版的特點和區別。
2.多年使用linux操作系統的經驗。
使用linux可以讓你對linux的機制有一些外在的感受。
3.至少3年linux環境下的編程經驗。
在linux環境下編程可以讓你了解linux的實現機制。你可以知道如何在linux系統上玩,如何實現你的商業目標。
4.定制的linux內核和文件系統
這段經歷可以讓你對linux內核的運行機制有更深入的了解。你就能明白內核和文件系統的邊界是什么了。聯系點是什么?如何從內核狀態變成應用狀態?
5、了解linux內核
Linux環境編程告訴你如何去做,并讓你一步一步地調用函數來完成你的目標。
但是如果你想知道你為什么這么做,或者底層是怎么做到的?你需要深入內核。推薦下面這本關于內核學習的入門書,非常通俗的講解了linux內核的設計和實現。通過這本書,我對linux的底層實現機制有了大規模的了解。
6.深入linux內核
了解linux內核的基本運行原理,對于上層開發人員來說已經足夠,但要成為linux高手還遠遠不夠。我的做法是看源代碼,但是linux源代碼太多了。我選擇了趙炯slinux0.11內核來對比學習,讓我對linux內核的細節有了深入的了解。
7.發展動力
驅動開發會用到很多linux內核相關的機制,比如自旋鎖、信號量、硬件中斷、軟中斷、線程、工作隊列、時鐘、DMA等等。這些可以進一步加深對linux內核的理解。我開發的驅動有看門狗、gpio、lcd、串口、虛擬串口、網卡、pci/pci
為什么大學c語言課不順便教一下Linux,Makefile,git,gdb等配套工具鏈呢?
想多了!
前24周,每周四這門課只能教學生基本語法和基本算法。
然后開始了教學改革,從24周到18周,16周,14周,現在是12周,一周4節課。現在的課時量已經到了連最基本的內容都可以還沒結束。還有什么?你認為它有可能嗎?
簡而言之,現在的教學改革就是一個方向:減少課時。
