蘋果用低價 499美元進入平板電腦,這讓它更垂涎欲滴! 不僅如此,這真是一個對各個陣營的震撼彈:
1) 對 Atom陣營的平版電腦來說,價格很難批敵,蘋果用 RISC的SOC架構,這意謂著WinTel陣營在相同價位很難賺,而且 Apple的硬體成本還有下修空間,一開始,連價格戰也不用打了
2) 對其它 ARM陣營的 Smartbook來說,如聯想的第一台 Smart book就賣 499元,真是沒有蜜月期,一開始就準備大降價還不一定有人買了
3) 對Android陣營或未來的 Chrome陣營來說,有好有壞,好得是,過去 Android可以踩在Apple的商用模式和市場需求來分享市場,未來平板電腦或smart book也可能可以相同的方式占些市場,壞得是, 應用平台是 Pure Java的 Android及Pure Web的 Chrome,在應用程式的廣度,可能都大不及Apple,當螢幕放大之後,這點差異性可能更明顯,比如說,用Web來文書處理的經驗都還不太Smooth。
4) 對只能賣裝置無法賣服務的小廠,真是一個大警惕,Apple可以靠賣軟體,音樂等來加值,
裝置可以只是一個載具,在雲端市場大行其道的今天,裝置的本身可以表現的越來越有限。對Google而言,裝置本身也不重要,例如它可以繞道在 Iphone上面推他的google talk來賺錢,如果Android或Chrome往Smartbook或平板電腦這條路不成功,對Google而言沒差,它可以在Ipad使用雲端的方向繼續收益,但對於台灣的設備廠來說,相對的就危險了。
如果最終Ipad壓縮了 windows的市場,也抑制了 Android和Chrome,那麼本來想靠Google殺出一條血路的PC廠又只能回去作 Windows NB,而且量還越來越少,那麼是不是一個該警惕的震撼彈?
TR科技是一家網路設備的研發公司,過去公司的主力產品為家用的有線及無線IP分享器,提供NAT(位址轉換)和簡易的防火牆功能並由Web介面設定管理。由於過去TR科技的核心技術主要是修改 SOC廠提供BSP(board support package)中的雛型範例成為標準化產品,並能作大量的生產,且能為客戶客質化。但現今競爭者提供的功能越來越強大,讓單純的無線接取設備和多媒體及網路儲存等功能結合,使得TR科技訂單大量流失。TR科技的董事長king招開了緊急會議來討論這個問題。行銷部協理Johnson建議公司從善如流,引進更高階的SOC,並尋求SOC廠的技術支援。研發部的協理Ken則認為現有的SOC其實運作時CPU也還有很多剩餘的能力,重點不全是SOC,而是當這麼多功能整合在一起時整個網路封包的流程需要有技術know how,另外多媒體的功能則需要有較為複雜的網路應用程式know how,這些know how都需要時間累積。測試及技術服務部的蔡協理則認為在個人用的產品導入這麼多的功能,售價不一定能昇,可是相對要做的售後服務卻增加了,加上公司初期跨入多功能整合產品的市場,還在培養實力的階段,Bug可能不少,會有一段辛苦期。董事長king在聽過了各方的意見後,向大家表達了公司必須轉型及擴展核心競爭力的決心,才能永續的經營。最後在又經過一番的討論後,責成研發副總Robin從研發、行銷及技術服務部的人力抽調出一個Task Force,準備新產品的開發,將朝家用網路及媒體管理站(network and media station)和SOHO VOIP +VPN router兩個方向來評估及進行。
接下來共分四節來討論,第一節為分類介紹,第二節為常見的規格及研發的資源,第三節為軟體架構的介紹,第四節提供範例。
第一節 分類
本章網路設備指的是數據通信 (Data-communication )的設備,即透過TCP/IP互連的網路裝置。傳統上網路設備的分類可用該設備位於 TCP/IP的運作層級來區分:Switch及無線網路Access point要管理第二層(如Ethernet)以上的功能,路由器要管理第三層(如IP)以上的功能,防火牆要管理第四層(如TCP/UDP)以上的功能,而防垃圾郵件的閘道器則要處理應用層級(如SMTP)的功能。但是由於這些年來硬體運算能力的加強,擴展了網路設備的功能,第二層(L2)的交換器向上延伸到L3、L4甚至L7的控管功能;防火牆結合了VPN、防毒牆等功能;而家用的Access point則結合了File server、Print server甚至多媒體播放或IP電話等功能。由於網路設備已經不容易詳盡的區分,我們略以主要用途別來作一個分類介紹
- 防火牆(Firewall) : 防火牆主要做的事情是存取控制(Access control),即決定封包可不可以通過。比較簡單的作法是由設定靜態的ACL( Access Control List)來控制,例如依TCP/IP各種協定的表頭(header)的內容來決定去留。但防火牆的ACL演變有越來越複雜的趨勢,能依照時間及應用程式的內容來決定封包的去留。許多防火牆使用了應用層級的代理伺服器(Application proxy),來監控使用者應用程式的內容並作控管。防火牆另外也有幾個必須的功能如紀錄或統計它所控制的封包流資訊,作防火牆內部私有位址對外部公開位址(public IP)的轉換等等。防火牆設計近年的挑戰主要是要處理應用層級的資料,因此如何減少對封包處理時間的延遲是個問題,而防火牆也得懂越來越多應用程式協定。
- 虛擬私有網路 (VPN )
- 入侵偵測及防禦系統 (IDS/ IPS)
- 弱點掃描 (vulnerable scanning)
- 防毒牆
效能用途:
- 頻寬保證設備(QoS equipment)
- 負載平衡設備 ( Load Balance equipment)
- 快取裝置 (Cache & Proxy equipment)
接取及傳送用途:
- 交換器(Switch)
- 路由器(Router)
- 無線接取點(Wireless Access Point)
連結在無線的通道(channel)上,並在這個酬載通道上進行Ethernet的訊息封裝和交換。無線接取點通常也會包含網路第三層以上如IP分享器的功能,如動態IP發放或位址轉換等功能。
結合影音等通訊用途:
- IP電話(IP Phone)
- 視訊設備(Video Conference)
其他用途
局端及電信設備:
近年來數據和電信兩種服務已經相互結合,因此許多的設備介於兩者之間,如ADSL Router,ADSL的局端設備DSLAM,和3G網路中相關的設備等。
傳統設備網路化設備:
如監控設備(Survillance system)或是終端機切換設備(KVM)近年來也大量的網路化
- 要選擇什麼樣的硬體平台,CPU 速度? Ram大小 ? 儲存裝置的大小及種類 ? 哪些週邊要支援 ?
- 使用者是如何操控這台設備?只能使用螢幕還是也可以使用遠端登入例如使用瀏覽器來操控
- 儲存方式要如何規劃? 開機的系統、設定檔、影像資料、回復出廠系統檔案要如何安置
- 開關機的流程要如何規劃?開機有哪些啟始流程? 關機又需要有哪些?
- 使用甚麼版本的核心?及甚麼樣的根目錄檔案系統? 由自己製作還是硬體供應商提供
- 考慮單機下的功能時,軟體架構為何? 有哪些常駐程式(Daemon)?有哪些驅動程式(Driver) ?
- 考慮網路相關的功能,網路服務如何提供?主從式的架構為何?
- 單機下的常駐程式、驅動程式及網路服務的伺服程式彼此如何溝通?
- 使用甚麼方式來做系統的自我診斷,紀錄,及回復
- 雛形預計功能和時程為何?
- 如何切割模組和分工?概略的甘特圖為何?現有人力足夠否?
- 如何整合到公司既有的版本管理系統,程式碼文件系統,錯誤追蹤系統
產品設計篇
- 設計產品的一些共同準則
- 網路閘道器的設計規劃
- 伺服器的設計規劃
- 多媒體播放設備的設計規劃
- 影音監控設備的設計規劃
- 行動上網裝置的設計規劃
- 手機及通訊裝置的設計規劃
- 重要參考資料書籍導讀
- Linux作業系統運作流程概念
- 系統程式運作流程概念上
- 系統程式運作流程概念下
- 驅動程式運作流程概念上
- 驅動程式運作流程概念下
- TCP/IP網路程式運作流程概念
- 系統安全性
- 開發環境及除錯環境
- 建構程式碼管理環境
- 研發及專案管理
- 測試管理維運管理
這裡主要討論是Linux和硬體結合的一個完整資訊產品的開發諸如多媒體播放裝置、網路閘道器、監控裝置、伺服器裝置及個人通訊裝置...等等。這些資訊產品在設計時有一些共同的項目要考量的項目,我們舉個實例開始吧。
R公司是國內一家工業電腦(IPC)製造廠,它的客戶涵蓋了伺服器,網路設備,監控設備,車用多媒體及通訊設備等等。由於市場競爭激烈,該公司研發副總 Joe決定提供類似Turn key(即幫客戶做好產品雛型)的解決方案給客戶至少讓客戶有個可以快速開發及測試的環境,但是由於產品種類繁多,Joe決定進行知識管理的工作,統合各項TurnKey解決方案的共同技術模組,這個工作交給了資深工程師 Wayne進行。Wayne對過去的各個雛型和正在接觸的客戶需求做了一些整理,他規劃出了這些產品需要的共同技術區塊如下列項目:
- 儲存方式、防盜拷機制及系統升級的規劃
- 使用者操作方式及介面的規劃
- 主要系統運作的軟體架購
- 其他輔助功能的規劃包含 : 開關機流程,自我診斷及錯誤回覆方式,電源管理,安全管理等
1. 儲存方式及防盜烤機制的規劃
儲存媒體通常有機械式硬碟和快閃磁碟兩種方式,一般而言,除非有大量儲存的需求,如伺服裝置,大部分的Linux產品的客戶都使用快閃磁碟如CF(compact flash card或DOM(Disk on Module)的介面。快閃磁碟由於沒有機械性的機制,因此比較不容易故障,同時速度也較快。但它也有寫入次數限制(通常為十萬次至百萬次)及容量較小的問題。使用快閃磁碟的系統通常會搭配記憶體磁碟(Ram Disk)的方式,將常用的執行根目錄系統放在記憶體磁碟,其他的目錄使用外掛方式,常用的儲存規劃方式如下:
系統區:
包含了核心和根目錄檔案系統,主要讓boot loader載入的 [後面的章節再介紹
這些機制]作業系統核心及操作環境
設定檔區:
把常更改的設定檔放在這
主要軟體區:
這是進行這個裝置或設備主要功能的軟體,例如用於監控裝置,軟體放的
就是儲存及傳送影音的程式組合
系統回復區:
擺放出廠時的軟體和系統,因為系統區和主要軟體區的軟體可能會因為更
新而使內容改變
外掛檔案系統區:
些機制] 在開機時載入必要得軟體,但也許有一些較少使用但卻體積龐大的
軟體,會放在快閃磁碟區的檔案系統需要時才載入,通常這些外掛檔案系
統區常有壓縮的機制。
以上提到的這些區域也可以和磁碟的patition分割來結合,舉個例子來說,系統回復區可以放在一個用唯讀檔案系統的patition作為保護,以免寫入造成開機系統的損害。
和儲存的規劃伴隨要考量的就是防拷機制的規劃和軟體防盜的機制。防拷機制主要在防止整個磁碟在做拷貝後就可以在另一台相同的硬體上使用。這種防拷機制的設計通常會在磁碟上面存在一個認證,在和搭配運轉的硬體出貨前,把這台硬體一個獨一性的識別做成認證放在磁碟上面,每次在開機程序中都會檢查磁碟上的認證和硬體符不符和,符合後才會啟動其他功能。但是由於硬體的獨一性也可能可以被仿造,如網卡的mac address,因此R公司考慮提供一個有獨一ID的小型晶片在主機板,當作一個加值的防護機制給客戶。
另外就是軟體的防盜機制,主要防止當磁碟被置放在其他讀取裝置時,主要的軟體能直接被讀出使用,因此,放在主要軟體區的軟體通常會由一種加密機制保護,在作業系統載入後,才解密並載入使用。主要軟體的認證機制除了防止由磁碟直接讀取外,另外可能和實際產品的授權機制有關,有時會搭配更複雜的認帳碼或遠端授權,但是由於R公司提供給客戶的雛型設計並不涉入客戶端較複雜的考量,因此提供一種軟體區的加密機制就足夠了。
最後這些加密的機制又會和系統升級的機制結合,透過網路如Http協定,讓使者替換軟體區或系統區內的檔案進行系統的升級。
2. 使用者操作方式及介面的規劃
公司的客戶裝置主要有兩種,一種是以遠端登入的網路方式操控,如網路設備或簡易伺服器使用Web登入來操作的方式,一種是直接操控裝置輸出的螢幕,如多媒體導覽設備。由於使用者介面(GUI)是會隨實際產品應用大幅修改的,因此提供的雛型操作介面最好是較多人會開發的語言或系統環境,便於客戶接手開發。
在Web介面方面,除了需要 Web server ,CGI解析環境,如何和後端的軟體溝通至為重要。一個最簡易的架構就是操作介面從使用者的輸入產生設定檔,然後操作介面再呼叫後端的軟體來解析設定檔並執行對應的工作。這個作法對於使用者和設備的操作介面互動不甚頻繁的應用大致OK,但對於如直接在Web介面看動態影片或是使用Web觀看動態的統計圖表的大量互動則需要更進階的Web技術。
在直接以本機螢幕來操控的操作介面,會利用X視窗環境來加速開發,在X視窗環境已經有許多成熟的的API架構來輸出圖形或影像。通常使用這樣方式的系統會與使用者有較高的互動性。
Web技術及X視窗的開發技術將在後面的章節討論。
3. 主要系統運作的軟體架購
不同應用產品的的軟體功能雖然不同,但卻有一些架構的相似性。這個架構通常是一個多層次(multi-layers)的軟體架構。這個多層次的抽象架構通常由負責處理與使用者操作互動的模組在最外層,而能處理使用者設定並控制產品功能及反應的伺服模組在中間層。這個中間層的伺服模組扮演著非常中要得角色,它控制著產品的主要功能,包含了控制流程和資料流程的輸出輸入。這個伺服模組常由多個行程協同運作。而在最下層的就是與作業系統核心直接互動的核心模組,有時候扮演著硬體驅動程式角色。因為產品的多樣性R公司在這邊能為其客戶著力的地方不多,但由於每個產品都有網路功能的需求,因此Wayne將建議提供一個網路功能包含設定,運作,及硬體控制的一個多層次軟體架構模組範例。
由於軟體架構牽涉到了許多系統程式的技術,如行程間的溝通不同的方法,Client-server socket 不同的I/O模式,驅動程式架構,這些技術的選擇將影響效能及開發的難易度,將在後面的章節作介紹。
4.其他輔助功能
4.1 開關機流程的規劃
4.2 自我診斷及錯誤回覆方式的規劃
系統必須確保能重複正確的運作,但是總有應用程序、作業系統資源或是作業系統核心及硬體產生狀況的時候,在錯誤回覆的設計通常即針對這三個層次。第一個層次,應用程序的錯誤通常可以用重新啟動來解決,可以把它放在作業系統的程序監控機制(如Init程序)來控管,而應用程序的錯誤原因通常需要應用程式自己紀錄重要的異常訊息,配合作業系統的系統日誌來紀錄或使用網路遠端導出。第二個層次若為資源的不足,就需要有資源監控的機制,對於CPU ,RAM ,DISK等資源設立臨界值來控管。更好得資源監控機制是還能找到佔用資源的程序,並能釋放資源。這些監控都是在作業系統的背景,由特殊的程序來執行。針對作業系統核心的錯誤,通常無法即刻的回復,但是當核心錯誤造成死當的情況時必須要使系統能自行重新啟動的機制,常常可以搭配硬體Watch Dog的晶片來協助。最後一個層次是硬體的問題,這通常有兩個不同程度的狀況,第一種是硬體的運作異常如溫度或風扇等等,這個方面的問題可以使用硬體監控的晶片搭配 Linux IPMI ( Intelligent Platform Management Interface) 的架構來作自動的報告及處理,第二種情況是硬體嚴重的錯誤,無法開機,這時候在網路或伺服器的產品有使用兩台機器即時備援的機制可以導入,但在其他的資訊產品就只有報修一途了。
4.3 電源管理
電源管理除了是一個環保規格的項目,在許多使用電池的資訊產品更是重要。電源管理目前有共同的規範及管理介面 : ACPI (Advanced Configuration and Power Interface)。資訊設備必須要讓使用者能夠設定ACPI支援的各種省電狀態,諸如關閉螢幕,關閉CPU,關閉週邊及系統暫存(Suspend)...等等。另外,更好得方式是系統可以在負載輕的時候運作在較不費電的頻率。ACPI的支援和硬體能力及產品本身的需求息息有關,例如網路的設備不會需要系統暫存的功能而對於家庭的多媒體伺服器則相對重要,因此R公司需要整理出不同的平台應用需要支援的項目。
4.4 安全管理
------------------------------------------------------------------
090922 first publish
091023 modify storage issues
- Page 1 of 1 ( 4 posts )
- linuxproduct









