更新於 2022/05/19閱讀時間約 1 分鐘

談談物聯網(Internet of Things) -- Part. 4

寫了三篇,也到了第四篇了,之前大概說了一點終端運算平台跟連接技術,是否來談一下軟體,不過我還是先談在地端的軟體吧.
第二篇談到運算平台,所以我們先從終端平台的軟體來做分享,先從大家比較熟的PC架構來談,一般來說,PC會有第一個軟體BIOS (Basic Input Output System), 這個軟體當然就是讓系統可以先運作起來,而我接觸的有Legacy BIOS & uEFI BIOS,第一個差別在於BIOS開發用的語言,Legacy BIOS使用Assembly去寫,而uEFI 則使用C來開發,這個分界大概會是在2008-2010年;使用C的uEFI BIOS開始可以做更多的事情,包含用圖形來做系統的狀態,當然也可以在進入作業系統前就當然也可以在進入作業系統前就處理不少工作,而BIOS不僅僅做系統初始化,他還可以有許多的安全機制,包含有人可以針對系統的存儲設備作加密跟配對,比如說A系統的硬碟S1,在BIOS配對後,當S1拿到B系統,雖然A系統跟B系統組態完全相同,B系統是無法使用硬碟S1的,這就是一個安全機制.從BIOS後,下一個就是進入作業系統(OS),大家熟悉的可能就是Windows,另外可能就是Linux,這大概是大家知道的,但其實在一些應用可能會用到Wind River VxWorks或是Blackberry QNX.以下來做些簡單介紹,
Windows--這應該是大家熟悉的作業系統,家裡的電腦大部分應該都是用Windows,但如果你用的是Apple的Mac那應該就不是了,而Windows的接觸其實應該是1994年的Windows 3.1,那時候的筆電配的就是這個版本,主要也是拿來打打報告跟玩點遊戲(踩地雷跟接龍),但這個之前應該用的會是Dos 6.22,而在1995年就出了Windows 95,記得有同學買了一套,那個年代的正版喔,記得有分光碟版跟磁片版,同學選擇了磁片版,記得應該是3-40片3.5"的磁片,而那時的記憶就是彈珠台,而因為大四要畢業了,因為已經甄試上了研究所,所以大四下根本就是混,也就去上的當時火紅的MCSE的認證課程,也因此接觸了另一個版本的Windows -- Windows NT 4.0,還分Workstation/Server版本,記得一次去微軟的發表會就用學生的身份買了一套學生版,算是人生第一套正版作業系統,接著又出了Windows 98, Me, 2000,......,出了社會工作,開始遇到了更多的Windows版本,比如Windows CE, Windows Embeedded等.
Linux--這個作業系統對於大家來說有一件事是有趣的,“Open Source",以往大家熟知的,軟體正版的意思就是要買授權,大家應該清楚的可以去查到Windows的售價,所以有個作業系統不用錢,但真實的狀況是什麼呢?Linux Open Source 事實上是以Kernel來提供,但也會開始牽涉到使用什麼樣的Open Source協議,是GPL, Apache,MIT,......,這可能需要另外來說明,接著Linux Kernel就可以了嗎?這邊衍生出了Linux Distribution,這裡可能就開始發現有Red Hat Linux, Canonical Ubuntu, SUSE Linux, Wind River Linux, Yocto Linux,......,非常的多,主要還是看應用跟選擇,另一個重點,收費不收費,有的要收授權費,可能是年收或一次收,有的收服務費,這就衍生大家說的不用錢最貴,其實不能這麼說,只是開始思考的是不同的生意模式,這裡我就不多談,因為這也跟各家政策有關係;我們回到Linux這個作業系統,以物聯網應用,其實還是會去選擇符合自己的應用的Linux,有的人只用Linux Kernel,但有的人會選擇合適的Linux Distribution,我自己接觸的部分,事實上已經比較多會是在Yocto Linux, Ubuntu, Red Hat Linux, Fedora, Wind River Linux等,以一般來說,熟悉Windows的使用者,其實應該在上手Ubuntu是簡單的,另外也在於它的版本更新有一定週期,另外也有提供Ubuntu Store,相對容易取得應用軟體,另一個例子,Wind River Linux,他就有他專門的產業,以現在來說電信業的基地台,可能用的就是Wind River Linux,因為大家在意一件事"Real-Time",所以這也Wind River Linux的重點.
接著來談另外兩個我接觸的作業系統,Wind River VxWorks & Blackberry QNX, 剛剛談到Wind River Linux 的Real-Time功能,這當然在VxWorks上也有所展現,而且厲害的是他的Real-Time是 μs 等級,就是百萬分之一秒,大家可以想像這樣的刻度有多精確,最有名的例子,大家知道火星的探測車好奇號,他當初要降到火星時,運用的就是Wind River VxWorks來掌控其降落的程序與因應動作;另外來談QNX,他也是ㄧ套Real-Time系統,而比較多的應用在於醫療跟車載系統,舉例在大家會用到的核磁共振系統(MRI),在掃描時,這一定是要能夠高度精準,當然在車子的部分,一發動車子,系統要能穩定運行,總不能開車到一半當機之類的,所以這兩個作業系統都有其相關的應用場域,我的經驗大概就是Wind River用在軍工/航太/電信,而QNX就比較在於醫療與車載應用了.
這次就先分享到這裡,在下次再針對arm平台的部分做分享,如果對於這些作業系統有興趣,我在做更多的內容來分享.
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.