韓典伯 關紅磊
摘 要:近年來,隨著互聯(lián)網(wǎng)技術的興起,越來越多的互聯(lián)網(wǎng)企業(yè)、電商平臺將應用程序作為盈利的主戰(zhàn)場之一,目前,Android平臺和IOS平臺的應用程序數(shù)量早已超百萬,用戶移動終端上安裝的應用程序也越來越多。然而,這些應用程序在給用戶帶來便利的同時,也帶來了安裝的困擾。因為,不同操作系統(tǒng)的應用程序的安裝包的格式不同。因此,為了消除不同操作系統(tǒng)之間的兼容性問題,方便、快捷地實現(xiàn)跨平臺安裝應用程序成為每個互聯(lián)網(wǎng)公司的必修課,我們作為終端用戶,在日常生活中對上述問題也深有體會。本文從專利角度觸發(fā),通過檢索、統(tǒng)計、分析了程序加載領域的專利申請,對程序加載領域的專利申請狀況和技術發(fā)展路線進行了梳理,有助于該領域專利的檢索和審查工作。
關鍵詞:程序加載;技術演進;專利分析
一、前言
程序加載,即把硬盤上的有用程序調到內存中的整個過程,一般來說,在我們啟動程序或安裝程序時都會有加載。程序加載領域與計算機、智能電子設備的發(fā)展同樣的密不可分的,因為電子設備是程序的載體,只有電子設備發(fā)展到了一定的高度,才會催生出程序,因而,才會涉及到程序加載這一技術問題。因此和其他一些基礎學科相比,這一技術領域起步較晚,在國際上相關技術內容的專利申請是從2000年左右開始出現(xiàn)的。
歷經(jīng)將近二十年的發(fā)展和變化,隨著各種程序依托的載體逐漸由舊式的臺式電腦轉化為現(xiàn)在的便攜式智能電子設備,程序加載技術也在不斷的發(fā)展和改良。程序加載領域的專利申請沒有特別清晰的技術分支,但是各種程序加載技術所要解決的問題以及所要取得的技術效果卻沒有太大的變化,簡而言之,大部分程序加載相關的專利申請離不開兩方面的改進:一類是與軟件相關的,具體可以為操作系統(tǒng)的加載、云計算以及面向對象編程等;另一類是與對硬件相關的,具體可以為外圍設備的加載以及驅動加載等。下面將按照程序加載領域的專利申請所包含的大致范圍進行分類來對本領域的技術發(fā)展情況進行概述。
二、程序加載技術大致分類
(一)操作系統(tǒng)加載
操作系統(tǒng)是臺式機,筆記本電腦或者個人數(shù)字助理(PDA)一類的計算機系統(tǒng)的基礎,它同時管理計算機系統(tǒng)的硬件和軟件資源,比如CPU,內存,設備驅動和存儲器。此外,操作系統(tǒng)提供允許用戶與計算機系統(tǒng)進行通信和交互的用戶接口。操作系統(tǒng)的另一個重要功能是提供應用程序與計算機系統(tǒng)之間通信和數(shù)據(jù)交換的標準,它通常被稱為應用程序接口(API)。操作系統(tǒng)的例子有Windows、Linux、IOS和Android等。
通常情況下,操作系統(tǒng)在加載到隨機存取存儲器(RAM)之前保存在計算機系統(tǒng)的硬盤上。因此,安裝在具體計算機系統(tǒng)上的操作系統(tǒng)是不可移動的。此外,為了達到想要的設置,用戶必須在每個計算機系統(tǒng)上配置操作系統(tǒng)。
以Android或者Linux操作系統(tǒng)為平臺的智能設備中,一般包括多個分區(qū)。以Android操作系統(tǒng)為例,其包括:快速啟動fastboot分區(qū)(負責啟動boot)、內核kernel分區(qū)(負責啟動kernel系統(tǒng))、系統(tǒng)system分區(qū)(負責存儲系統(tǒng)文件)、用戶數(shù)據(jù)userdata分區(qū)(負責存儲用戶數(shù)據(jù))、以及緩存cache分區(qū)(負責存儲系統(tǒng)緩存)等,以控制智能設備的硬件。
(二)驅動加載
隨著移動終端和互聯(lián)網(wǎng)的發(fā)展,人們越來越多地通過將手機、平板電腦等終端設備與計算機連接的方式來接入因特網(wǎng),從而獲取各種各樣的信息,進而享受更加豐富的游戲、娛樂、影音、社區(qū)群體等移動互聯(lián)網(wǎng)業(yè)務和應用。
現(xiàn)有的技術中,以安卓Android終端為例,在Android終端與計算機通信之前,必須在計算機上先安裝好相應的驅動程序,然后Android終端才能與計算機正常通信;當計算機上沒有相應的驅動程序時,就無法進行連接了,造成用戶的不便。
目前,公知的驅動加載有兩種方式:1、靜態(tài)加載,即把驅動程序直接編譯進內核;2、動態(tài)加載,即把驅動和內核獨立開來,在需要的時候手動加載驅動到內核中去。
在一般的桌上型計算機或是筆記型計算機中,都會安裝有顯示卡來實施顯示功能,在計算機開機時,計算機包含的韌體所燒錄的基本輸出輸入系統(tǒng)會被讀出至內存,以使得計算機的中央處理單元可讀取并執(zhí)行內存上的基本輸出輸入系統(tǒng)來執(zhí)行所述計算機的大部分主要功能,其中所述主要功能即包含有所述顯示卡的驅動功能,如此一來,可在計算機開機后透過上述各接口來驅動顯示卡,來執(zhí)行顯示卡的顯示功能。
(三)云計算
隨著云計算的興起,計算機領域正發(fā)生著深刻的變革。我國云計算服務市場處于起步階段,云計算技術與設備已經(jīng)具備一定的發(fā)展基礎。我國云計算服務市場總體規(guī)模較小,但追趕勢頭明顯。具Gartner估計,2011年我國在全球約900億美元的云計算服務市場中所占份額不到3%,但年增速達到40%,預期未來我國與國外在云計算方面的差距將逐漸減小。
總結起來云計算具有以下幾個特點:(1)超大規(guī)模,“云”能賦予用戶前所未有的計算能力;(2)虛擬化,云計算支持用戶在任意位置、使用各種終端獲取應用服務;(3)高可靠性,“云”使用了數(shù)據(jù)多副本容錯、計算節(jié)點同構可互換等措施來保障服務的高可靠性;(4)通用性,同一個“云”可以同時支撐不同的應用運行;(5)高可擴展性,“云”的規(guī)??梢詣討B(tài)伸縮,滿足應用和用戶規(guī)模增長的需要;(6)按需服務,“云”是一個龐大的資源池,你可以按需購買;(7)極其廉價,由于“云”的特殊容錯措施可以采用極其廉價的節(jié)點來構成云,經(jīng)常只要花費幾百美元、幾天時間就能完成以前需要數(shù)萬美元、數(shù)月時間才能完成的任務。
隨著云計算的發(fā)展,國內外推出的云管理平臺在資源管理、數(shù)據(jù)處理、運行監(jiān)控和交互處理等方面都在近年來取得了快速的發(fā)展。在云管理平臺交互處理方面,雖然目前國內外關于云管理的研究尚處于起步階段,未能形成系統(tǒng)的解決方案,但是各大云計算廠商以及開源社區(qū)都從不同角度對云管理智能化技術做出了積極的探索。
(四)面向對象編程
面向對象編程是一種計算機編程架構。OOP的一條基本原則是計算機程序是由單個能夠起到子程序作用的單元或對象組合而成。OOP達到了軟件工程的三個主要目標:重用性、靈活性和擴展性。為了實現(xiàn)整體運算,每個對象都能夠接收信息、處理數(shù)據(jù)和向其它對象發(fā)送信息。
在面向對象方法中,對象和傳遞消息分別表現(xiàn)事物及事物間相互聯(lián)系的概念。類和繼承是適應人們一般思維方式的描述范式。方法是允許作用于該類對象上的各種操作。這種對象、類、消息和方法的程序設計范式的基本點在于對象的封裝性和類的繼承性,通過封裝能將對象的定義和對象的實現(xiàn)分開,通過繼承能體現(xiàn)類與類之間的關系,以及由此帶來的實體的多態(tài)性,從而構成了面向對象的基本特征。
Android操作系統(tǒng)發(fā)展迅猛,HTML5技術也日趨成熟,為了在Android系統(tǒng)中更好地支持網(wǎng)頁應用,需要擴展其對網(wǎng)頁接口的支持,實現(xiàn)在Android系統(tǒng)中擴展瀏覽器本地接口。傳統(tǒng)的瀏覽器本地接口擴展方法一是針對不同的操作系統(tǒng)需要在不同的平臺源碼環(huán)境中進行重復編譯開發(fā),二是接口形式單一,無法滿足網(wǎng)頁開發(fā)對JavaScript接口的需求。
參考文獻:
[1]方大壽.《軟件技術基礎》.天津大學出版社,2005年2月。
[2]汪作文.《軟件工程》.重慶大學出版社,2004年8月。