今天上王老師的 3C 專題課,我發現其實站在軟體的角度思考問題,跟站在硬體的角度思考問題,兩邊的差異實在很大…起因是因為老師問了個問題:你們認為 VCD player 裡面有沒有 OS , 或是需不需要 OS. 這個問題其實是見仁見智,我高興裝 OS 或是不裝 OS 都是我自己的是,只要說得出原因就應該就 ok。 不過我一直認為他們把 OS 跟 Kernel 混為一談,所以我都先入為主的把他們問的 OS 直接跟 Kernel 劃上等號。 下課後去找老師「爭論」,我發現有幾項很有趣的東西。老師認為 OS 一定是軟體,而且功能一定要完整。於是我問老師說,那像 DOS 那種陽春型的 OS 現在在實務當中是很容易做成晶片的啊?老師竟然就說:『我一直不認為功能那麼陽春的 OS 能夠稱的上 OS』…這句話出現就爆走啦!究竟對 OS/Kernel 的定義在那邊?一定要是軟體?一定要具備哪些功能?並不是這樣說的吧? 恐龍書目前是OS的聖經書,他是一本 concept 的書,雖然說他裡面提到了很多種不同的 OS modeling ,並且也還有很多OS裡面有的東西,例如 Filesystem / Thread / Process / Scheduler etc… 但是那都不是「必須」啊?如果看仔細一點,書上其實只是說,OS 「可以包含」這些東西進去,並沒有說「一定」得包含哪些東西才稱的上 OS ,亦或是說, Kernel 也可以等同於 OS ?這其實應該又可以吵很久了吧?如果照之前 Language 版上的吵法的話。 我是覺得問這問題其實本身就有帶商榷,因為對於 embedded system 來講,或對於一台 VCD player 來講,究竟 OS 對其而言是什麼東西?我總是覺得 OS 這個名詞很單純,就是 『Operation System』,有點 operator 的味道,反正就是統籌控管一個 system的機制應該就可以算(當然我沒有找有沒有其他人的定義跟我一樣,不過有空的話應該可以去翻翻看 google),既然如此的話,那裡面的控制電路應該也算阿?至少他光得處理 disk in/out , remote controller ,以及面版的播放,其實就可以把他想做是 process 的 contex switching 啊?只是在電路層面解掉而已! 可是老師是完全硬體底子的人,他確認為只要能夠交給硬體做的東西,就只能算是一個簡單的 device,而不算是 OS 的一部份,甚至不能算是 OS 。很有趣吧,雖然兩邊都知道這說法沒有衝突,可是這卻完全是截然不同的說法,像是 Hardware 的 JVM ,他該算哪一種呢? :p 然後不禁得說一說這堂課,我真的覺得很OOXX,說真的我很不喜歡那群XX系的,明明就沒有搞的很通卻OOXX,但是這不是主要的原因,最重要的是,我們 自己系竟然如此的不爭氣!其實這是讓我最無法忍受的地方,沒有那種人一出現就能讓他們乖乖閉嘴,讓他們不會認為自己是最強的。如果真的強,那我完全會閉嘴 沒話說,但是只要一根外面的世界一接軌來比,這邊算的了什麼呢?不過是一口爛井而已阿。 也許現在有那麼的一點點後悔,當初應該多花點心思來接觸硬體,反正接觸軟體的時間有上課跟沒上課幾乎差不多,我到目前為止的能耐我也完全不覺得是上課練出 來的,反倒是硬體,是需要真正有板子玩,有東西摸才能夠好好的成長的東西,我卻讓機會這樣消逝掉了!都怪我之前孬,都怪我之前不想念數學,都怪我!不過話 說回來,系上對於研究生所給的資源真的是遠大於大學部,我真的不曉得,念了這四年大學到底所為何物。所以,就跟前面的文章說的一樣,剩最後的一個學期,趕 快開始我希望中的第一個,同時也是最後一個大學生活吧!再不把握當下,只會造成更多的懊悔罷了。
0 Responses to “軟體人和硬體人”