× 說心事 政治時事 生活 運動 汽車 機車 自行車 相機 科技 理財 旅遊美食 娛樂 健康 美麗時尚 人際關係 文學故事 關於《思書》
吃喝玩樂 關於《思書》

軟體公司和硬體公司想的不一樣

霜晨尋
來關注...
關注:霜晨尋
關注有什麼好處?:當作者有新文章發佈時,「思書日報」就會匯總自動通知您,讓您更容易與作者互動。
x
作者最新發佈的文章:
  • 軟體公司和硬體公司想的不一樣
  • 新年新希望
  • 關於人工智慧的快問快答
作者最近參與的討論:
  • 台灣科技業比較
現在就加入《思書》,你就可以關注本作者了!
《思書》是一個每個人的寫作與論壇平台,特有的隱私管理,讓你寫作不再受限,討論更深入真實,而且免費。 趕快來試試!
還未加入《思書》? 現在就登錄! 已經加入《思書》── 登入
2018/04/12
5   0  

在談軟體, 硬體之前, 我們先來定義一下這裡的軟體指的是什麼, 硬體又包括了什麼. 大多數的人一講到軟體, 就是想到只要寫程式的, 寫code的, 就說你是做軟體的. 

我們先從硬體的角度出發, 當一個硬體做出來, 除非是純電子零件組成的, 事實上現在的硬體裡面絕大多數都有程式在裡面運行著, 例如高級一點的玩具, 鍵盤或滑鼠等等. 因為這種程式和硬體有很高的相依性, 也就是離開了這個硬體之後, 它就一點作用都沒有了. 這種程式我們會稱它們為韌體, 寫這種程式的工程師就叫韌體工程師, 他們常用的程式語言也比較偏向低階, 例如組合語言或是C語言. 這一類的產品內通常不會看到作業系統的存在.

作業系統就是用來協同處理每個硬體元件, 和應用程式之間的軟體, 既然是軟體(software), 他和我們看到MS office, word, excel, Google chrome有什麼不同, 當然有很大的不同, 這些軟體被稱為應用程式, 中國那裡簡短地稱為應用, 簡單地說, 他們通常都是有特定的目的而存在. 而作業系統則是為了讓機器的硬體功能發揮效用而存在. 因此作業系統裡又有許多的驅動程式來管理整個硬體, 又要協同應用程式, 整個角色非常的重要, 自然它的運行的優先權會比較高, 甚至他所存在的記憶體的位置也不一樣, 是受到保護的空間. 再者, 作業系統為了效能考量大部分是由C語言所寫成的. 

可以想像作業系統核心一定是相當的複雜要管理硬體的同時又要分配各種硬體資源供應用程式使用. 有的IC設計公司為了節省成本將原本硬體實做的功能完全改為用軟體來做, 這樣可以節省晶片大小, 和邏輯閘的使用, 但是相對就要用效能和功耗來做為代價. 當然這些一定都是在作業系統內來實做, 這樣的"軟體"實做技術挑戰是極高的, 為了兼顧效能和功耗, 有時甚至要做到clock cycle等級的最佳化. 

如果我們單純的以因為是軟體公司, 所以一定比較懂程式或軟體技術比較好, 這樣的結論恐怕是有問題的. 比較好的認知是, 二者其實相輔相成的, 如果底層沒有做好足夠的最佳化, 就以IC公司為了結省成本將硬體功能改為軟體來實做為例, 如果能夠不影響上層應用程式的運做或者使用者經驗還是一樣的好, 這樣的投資就是有價值. 至於上面會跑什麼應用程式, 應用程式的使用情境是不是合理, 則不會是第一順位的關心議題. 相反地, 這些常常會是軟體公司最重視的, 哪一個按鈕放在什麼地方, 軟體的元件怎麼佈局等等. 而軟體公司的後端人員則比較注動效能, 例如一個按鈕被使用者按下後端的架構要如何設計才不會讓回應時間太長, 或者當系統很繁忙時, 要如何決定回應的優先順序等議題.

現在有人稱作業系統和驅動程式, 以及一些基本的應用程式函式庫統稱為"系統軟體", 而上層視覺化的系統則稱為"應用軟體", 這樣的區分法或許會比較實際一些.



分享:


參與討論!
x
現在就加入《思書》,馬上參與討論!
《思書》是一個每個人的寫作與論壇平台,特有的隱私管理,用筆名來區隔你討論內容,讓你的討論更深入,而且免費。 趕快來試試!
還未加入《思書》? 現在就登錄! 已經加入《思書》── 登入
思書 Scrivinor 不斷的在強化體驗與功能,我們很期待您的建議,請與我們聯繫: support@scrivinor.com