Re: [問題] 如何學習OS

看板C_and_CPP作者 (文禮)時間5年前 (2019/04/22 09:07), 編輯推噓2(207)
留言9則, 4人參與, 5年前最新討論串3/3 (看更多)
看到和我當年有相同問題手癢回一下... 先說結論:工作很多年後,作業系統真的很難精通(遮臉) 恐龍書內容是把目前主流OS會用到的觀念都塞進去 但事實上,業界會碰到去改大型OS Source code的機會很少 除非你是Linux Kernel開發人員,或者在微軟視窗部門上班 大部分工作上需求是把大型OS拿來使用而已 像Android、Linux、Windows、UNIX之類的 會摸到很下層部份最多就是系統程式 還有就是編譯OS的時候,學著去調一下OS參數編給自己的機器用 像Linux這種大型OS的Source Code真要從頭看到尾這輩子應該看不完 (板上有全部看完看懂的大老讓我膜拜一下) 另外一種OS是RTOS這種較小型的,很多嵌入式系統用到 這一類OS Source Code不會太多,基本上都看的完 但這種OS不會把恐龍本裡面所有的功能都用上 大部分會少File System Manager 極端一點的還會少掉Memory management 甚至有部份人士會認為這種東西不能叫作業系統 相對來說,這種OS就有很大的機會要去改裡面的code 以我的經驗來說,都是改code時才回頭去看以前還給老師的恐龍本 才知道當初恐龍本講的某個概念實作出來原來是長這樣 然後才理解為什麼作業系統在這種機器上面要這樣實作這種功能 (硬體功能支援度、硬體資源、硬體速度都會影響) 說這麼多回到原問題: 學恐龍本裡面OS的觀念要做啥... 如果要考研究所,就要把各種概念的優缺點都能明確的分析出來 作業系統提到的各種觀念,大部分都不會有Best Solution 要能明確知道某個概念,哪種機制,用在哪種場合上會比較好 (比方task管理有好幾種模式,要能知道各種的優缺點) 因恐龍本是OS實做功能上抽象化出來的 所以有時候看圖說故事比較快懂 如果有不懂的地方多用Google找找看有沒有圖解 或者找一套有Source Code的OS來看那段功能 (前文提到的MINIX是一個很好的範例) 或者要硬K Linux的某部份功能Code也可以 (以前老師是推薦我們去K Linux的記憶體管理那部份) 重點還是要花很多精力去Trace Code 從目前code中學習,會感覺踏實很多 總之計算機工程這門學問,做中學很重要 XD ---- 感覺還是沒有回答到原Po問題的核心...o-_-)=O)。O。) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.110.223.221 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1555895247.A.30F.html

04/22 09:14, 5年前 , 1F
去看linux0.11,簡單該有的都有
04/22 09:14, 1F

04/22 09:36, 5年前 , 2F
請問不讀恐龍書直接看jserv影片會不會沒基礎看不懂!?
04/22 09:36, 2F

04/22 11:10, 5年前 , 3F
J大的影片很詳細了...反過來把恐龍當參考本應該可以
04/22 11:10, 3F

04/23 08:19, 5年前 , 4F
原原po幹嘛每篇推文都在問,自己去看看不就知道
04/23 08:19, 4F

04/23 08:20, 5年前 , 5F
jserv的教學講座從來就不是從基礎開始,他的C語言講座也是如
04/23 08:20, 5F

04/23 08:20, 5年前 , 6F
04/23 08:20, 6F

04/23 09:18, 5年前 , 7F
回cphe大,已開始看了,感謝!
04/23 09:18, 7F

04/23 14:00, 5年前 , 8F
還是要看你想學OS的出發點,如果是考試恐龍書還是基本
04/23 14:00, 8F

04/23 14:00, 5年前 , 9F
如果你已經接觸linux kernel好陣子,再去看jserv比較有感
04/23 14:00, 9F
文章代碼(AID): #1SlHFFCF (C_and_CPP)
文章代碼(AID): #1SlHFFCF (C_and_CPP)