欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
手機軟件
昨天在《程序員》上看到一篇訪(fǎng)談文章,孟巖就3G手機軟件采訪(fǎng)科泰世紀的陳榕??戳撕?,第一個(gè)感覺(jué)就是陳榕沒(méi)做過(guò)手機軟件。其實(shí)“不知為不知”也無(wú)所謂,但陳榕扯了一堆“longhorn”、“metedata”,“軟件發(fā)展方向要等微軟出手”之類(lèi)的話(huà),讓我很反感。不由心血來(lái)潮,想談一談我所了解的手機軟件。
  
  1 手機軟件的運行環(huán)境
  1.1 概述
   手機可以被看作袖珍的計算機。它有CPU、存儲器(flash、RAM)、輸入輸出設備(鍵盤(pán)、顯示屏、USB、串口)。它還有一個(gè)更重要的I/O通道,那就是空中接口。手機通過(guò)空中接口協(xié)議(例如GSM、CDMA、PHS等)和基站通信,既可以傳輸語(yǔ)音、也可以傳輸數據。
   手機的CPU一般不是獨立的芯片,而是基帶處理芯片的一個(gè)單元,稱(chēng)作CPU核?;鶐幚硇酒鞘謾C的核心,它不僅包含CPU核、DSP核這些比較通用的單元,還包含通信協(xié)議處理單元。通信協(xié)議處理單元和手機協(xié)議軟件一起完成空中接口要求的通信功能。
   隨著(zhù)芯片技術(shù)的不斷發(fā)展,越來(lái)越多的外圍電路可以被集成到基帶處理芯片中,例如BAP,即基帶模擬處理器。這樣手機才可能越做越小、越做成本越低。
  1.2 單CPU和雙CPU
   很多手機只有一個(gè)CPU,也就是基帶處理芯片中的CPU核。在這個(gè)CPU上既要跑通信協(xié)議,又要實(shí)現用戶(hù)界面(UI)。DSP會(huì )分擔一些計算量繁重的工作,例如語(yǔ)音編解碼、安全層的各種算法等。
   在市場(chǎng)推動(dòng)下,手機功能在不斷發(fā)展。攝像頭、MP3、藍牙這些功能可以依靠硬件,對CPU的壓力還不是很大,但java虛擬機、嵌入式瀏覽器等應用軟件就會(huì )對CPU資源有較高的要求。
  單CPU的首要任務(wù)是完成通信協(xié)議。通信協(xié)議軟件有著(zhù)精確的定時(shí)要求,如果這個(gè)CPU還要兼顧很多應用軟件的話(huà),就難免吃力。于是雙CPU手機應運而生。
   顧名思義,雙CPU手機就是有兩個(gè)CPU的手機,一個(gè)CPU專(zhuān)心把通信協(xié)議做好,另一個(gè)CPU負責UI、java虛擬機、嵌入式瀏覽器等應用。兩個(gè)CPU可以做在一個(gè)芯片里面,也可以分開(kāi)。
   市場(chǎng)上的實(shí)際情況是,很多手機設計公司(Design House)沒(méi)有基帶處理芯片的開(kāi)發(fā)能力,他們購買(mǎi)國外公司的手機模塊,在外面再加一塊CPU。模塊跑通信協(xié)議,自己加的CPU跑UI和應用軟件,兩者通過(guò)串行口通信。當然,也有很多Design House購買(mǎi)國外方案商的開(kāi)發(fā)板級方案,自己做PCB,軟件上主要是改改UI和外設驅動(dòng)。
   市場(chǎng)上那些智能手機基本上全是雙CPU方案,什么Windows CE、SmartPhone、WindowsMobile、Symbian、嵌入式Linux全是運行在第二塊CPU上的。這些商業(yè)操作系統無(wú)法和無(wú)線(xiàn)通信協(xié)議軟件集成到一塊CPU上。雙CPU的手機功能豐富,但它們一般體積大,耗電多,成本高?,F在市場(chǎng)上的大部分手機還是單CPU的。
   目前的大部分手機應用,例如Java、BREW、WAP、郵件、攝像頭、閃存、MP3、藍牙,在單CPU方案里都能實(shí)現。我認為不管3G、4G如何發(fā)展,小巧、實(shí)用、低成本的單CPU方案總會(huì )占據較大的市場(chǎng)份額。微軟在單CPU方案的手機市場(chǎng)還沒(méi)有立足之地,又怎么談得上引領(lǐng)方向呢?
   本文主要介紹單CPU手機,大多數論述也適用于雙CPU方案的通信部分。
  1.3 3G和4G
   3G和4G是指第三代、第四代無(wú)線(xiàn)通信技術(shù),對手機而言,它們改進(jìn)的是空中接口的效率,空中接口能以更大的帶寬傳送數據。通過(guò)手機無(wú)線(xiàn)上網(wǎng)的速度會(huì )更快。這和話(huà)音業(yè)務(wù)、手機應用軟件沒(méi)有直接的聯(lián)系。
   當然,手機的嵌入式數據業(yè)務(wù)由于更高的帶寬,會(huì )產(chǎn)生更多的可能。不過(guò)這些可能性的實(shí)現還是會(huì )受到手機輸入慢、顯示屏小等條件的制約。
  
  2 手機軟件的組成
  2.1 概述
   手機軟件和PC機軟件一樣從中斷向量表開(kāi)始,因為比較小,看上去更加清晰。中斷向量表的第一個(gè)跳轉指令當然是跳到復位的處理程序,后面是中斷處理、錯誤處理的跳轉指令。一上電,手機就跳轉到復位的處理程序,開(kāi)始檢查內存、初始化C運行環(huán)境,然后創(chuàng )建第一個(gè)任務(wù)。這個(gè)任務(wù)會(huì )按順序創(chuàng )建、啟動(dòng)其它任務(wù)。絕大多數手機程序都是多任務(wù)的,但也有一些小靈通的協(xié)議棧是單任務(wù)的,沒(méi)有操作系統,它們的主程序輪流調用各個(gè)軟件模塊的處理程序,模擬多任務(wù)環(huán)境。
   手機軟件可以粗略地分成啟動(dòng)模塊、操作系統、協(xié)議棧、數據業(yè)務(wù)、本地存儲、驅動(dòng)程序、用戶(hù)界面和其它應用。啟動(dòng)模塊前面已經(jīng)說(shuō)過(guò)了,下面簡(jiǎn)單介紹其它部分。
  2.2 操作系統
   操作系統在手機軟件只占很小一部分。它的主要功能就是提供多任務(wù)調度、通信機制。有的操作系統會(huì )提供動(dòng)態(tài)內存分配,定時(shí)函數,但這些都不是必須的。例如需要動(dòng)態(tài)內存分配的模塊,可以自己管理一個(gè)內存池,這樣更易于隔離模塊和預測內存需求。
   大多數手機的操作系統都是一個(gè)很小的內核,例如REX、HIOS等。高通REX的源代碼連C代碼加匯編也不過(guò)一千多行,編譯后不過(guò)是2、3K的代碼量。而完整的手機程序一般總有3、4百個(gè)C文件,超過(guò)一百萬(wàn)行的代碼。
  2.3 協(xié)議棧
   協(xié)議棧是手機軟件最復雜的部分,它的復雜性在于它和基帶處理芯片的設計密切相關(guān)。只有具備芯片設計能力的企業(yè)才可能開(kāi)發(fā)協(xié)議棧。協(xié)議棧會(huì )使用基帶處理芯片的所有資源、包括DSP核。
  2.4 數據業(yè)務(wù)
   數據業(yè)務(wù)主要有兩種:在前一種,手機相當于一個(gè)調制解調器,PC機通過(guò)手機上網(wǎng),網(wǎng)絡(luò )協(xié)議全在PC機上,手機提供數據鏈路。另一種是嵌入式數據業(yè)務(wù),手機內部包含TCP/IP/PPP等協(xié)議,有時(shí)還要實(shí)現HTTP和嵌入式瀏覽器,不需要PC機就可以接入web或wap網(wǎng)絡(luò )。
  2.5 本地存儲
   手機都有本地存儲功能,存儲電話(huà)本、短消息、用戶(hù)設定等。一般手機都有一個(gè)基于flash的文件系統。早期的手機存儲是基于EEPROM的。
  2.6 驅動(dòng)程序
   硬件驅動(dòng)一般是指外設驅動(dòng),但也有一些設備是集成在基帶處理芯片中的。驅動(dòng)程序包括:鍵盤(pán)、電源管理模塊、LCD、flash、RTC、串口、USB、SIM卡或UIM卡、射頻驅動(dòng)等。
  2.7 用戶(hù)界面
   用戶(hù)界面(UI)又稱(chēng)作人機界面(MMI),它負責和用戶(hù)的交互,在必要的時(shí)候調用其它模塊的功能。用戶(hù)界面處理手機必備功能外,也包含一些相對獨立的應用程序,例如日程表、游戲等。美工設計也是用戶(hù)界面設計的重要環(huán)節。
  2.8 其它應用
   其它應用包括Java虛擬機、WAP瀏覽器、郵件軟件等,是一些比較大,又相對獨立的應用模塊。
  
   基本上講完了。大家肯定看得挺沒(méi)意思吧。這些程序和微軟的longhorn、metedata有什么關(guān)系呢?手機程序絕大部分是用C語(yǔ)言寫(xiě)的,有很少的匯編。對于做應用軟件的程序員,要求具備面向對象、設計模式的思維能力,然后用C語(yǔ)言實(shí)現出來(lái):)
   高通的BREW就是用C語(yǔ)言硬生生地模仿C++,弄出很多奇怪的宏來(lái)。一般應用軟件的開(kāi)發(fā)不用這么死板,但對各種軟件設計方法的了解還是必要的。
  
  3 手機的核心技術(shù)
   手機的核心技術(shù)是芯片和協(xié)議棧,兩者是密不可分的。芯片設計需要協(xié)議棧來(lái)驗證,協(xié)議棧必須充分發(fā)揮出芯片的功能。芯片的CPU核、DSP核都可以買(mǎi)到現成的單元,但通信協(xié)議部分就需要自己設計了。手機比較難做好的是耗電量、惡劣信號環(huán)境的性能等。
  
  4 第三方軟件
  4.1 介紹
   前面講到的軟件是一個(gè)完整程序的各個(gè)部分。這些部分被放到一起編譯,產(chǎn)生一個(gè)二進(jìn)制文件,通過(guò)JTAG口(升級時(shí)可以用串口)下載到手機的flash中。手機一上電,就會(huì )從指定地址開(kāi)始運行。這個(gè)地址的內容就是跳轉到復位處理程序的跳轉指令。哈哈,又講回頭了。
   第三方軟件是指手機可以通過(guò)數據線(xiàn)或者網(wǎng)絡(luò )下載一些可執行文件到文件系統中。然后有一個(gè)裝載器可以裝載、執行這些文件。這樣第三方就可以開(kāi)發(fā)一些應用程序,下載到手機中來(lái)擴充手機功能。
   這些可執行文件現在主要有兩種格式:java程序和BREW程序。java程序需要java虛擬機裝載運行。BREW程序是一個(gè)很奇怪的東西,它實(shí)際就是用與編譯手機程序相同的編譯器編譯出來(lái)的目標代碼。這些目標代碼必須是可以重新定位的,即不能包含全局和靜態(tài)變量。
  裝載器將程序將執行權傳給給BREW程序,一種聽(tīng)上去更安全的說(shuō)法是調用BREW程序的入口函數。這個(gè)入口函數的位置在BREW程序中是固定的。裝載器在調用BREW程序的入口函數時(shí)會(huì )傳入一個(gè)地址。通過(guò)這個(gè)地址,BREW程序能夠順藤摸瓜,找到系統提供的各種API的地址,它通過(guò)這些API訪(fǎng)問(wèn)手機的顯示、通信等功能。
   java程序基本上是平臺無(wú)關(guān)的,針對各種平臺設計的java虛擬機隔離了平臺的大部分特性,廠(chǎng)家特意提供的一些OEM功能除外。BREW程序顯然是平臺相關(guān),換一個(gè)CPU,就不認識原來(lái)的目標碼了。
  4.2 其它
   除了java、BREW外,Windows CE、SmartPhone、WindowsMobile、Symbian、嵌入式Linux這些商業(yè)操作系統當然可以提供各種創(chuàng )建第三方程序的方法。在這些環(huán)境寫(xiě)程序和在PC平臺寫(xiě)程序是很相近的,基本上體會(huì )不到嵌入式編程的特點(diǎn),只是屏幕小一些,輸入麻煩一些。
   這些第三方軟件不是必需的。手機在3G的市場(chǎng)中只占了一個(gè)較小的部分,網(wǎng)絡(luò )是大頭。而第三方軟件相對于手機來(lái)說(shuō),所占的份額就更小了。
   《程序員》有一個(gè)嵌入式移動(dòng)開(kāi)發(fā)的專(zhuān)欄,總在講這些手機第三方軟件的開(kāi)發(fā)的。其實(shí)手機軟件只是嵌入式軟件的一部分。第三方軟件在嵌入式移動(dòng)開(kāi)發(fā)中又能占到多少比重呢?
  
   以上就是我對手機軟件的了解。余生也晚,所知有限,希望方家指點(diǎn)。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
怎么看電腦配置
情楓軟件學(xué)苑
CPU里都是一些數字電路芯片,它是如何識別軟件程序代碼的?
樂(lè )創(chuàng )DIY C語(yǔ)言講義?——1.2節
手機的處理器中你不知道的那些事
推薦一款手機java模擬器
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久