㈠ 什麼是上層驅動和下層驅動
Windows的設備驅動框架中的上層與下層模塊
在Windows的設備驅動框架中,下層模塊向上層模塊提供一個數據結構指針。但是,上層模塊並不直接從這個數據結構獲取具體的函數指針,更不直接使用這些函數指針調用下層模塊中的函數;而是通過一些由內核提供的函數下達「I/O請求包」即IRP,間接地調用下層模塊提供的函數,要求其執行某種操作。這就好像是向內核下一個定單,定單中告訴內核要由哪一個下層模塊執行何種操作。另一方面,對於建立了形式「堆疊」的設備驅動,上層模塊在運行中通常也沒有如何「找到」下層模塊的問題,甚至根本就不必知道其下一層是什麼模塊或什麼設備,模塊之間已在建立形式堆疊的時候固定連接好了。此時上層模塊所獲得的是哪一個下層模塊的指針,取決於同一個堆疊中各個模塊的裝載次序,實際上取決於系統的配置,而相關的配置信息則最終來自相關的.inf文件,這些信息保存在集中的資料庫「注冊表(Registry)」中。這樣就為通過系統配置改變具體設備驅動堆疊的結構提供了更大的靈活性,主要體現在:
更容易在堆疊的下層實現「重定向」,即把上層模塊嫁接到不同的下層模塊上;
更容易在堆疊內部插入以「過濾驅動對象(FiDO)」為代表的「過濾模塊」。
最後,設備驅動模塊不是在真空中運行,需要得到內核的支持,需要由內核為其構築起一個運行環境,這個環境的主體就是內核導出函數,此外還有一些全局的變數和數據結構。這就是Windows的「設備驅動開發包」DDK中所定義(更准確地說是「聲明」)的函數和變數。
事物都是在發展的,Windows的設備驅動框架也不是一開始就這樣,更不是永遠這樣。前面所講的是為實現「即插即用」所必須要有的要素,主要就是模塊的動態裝載以及模塊堆疊的形成。有了這些要素,包括即插即用在內的分層設備驅動就可以實現了,但是當然還可以有一些附加的要求。從Windows 98和Windows 2000開始,微軟定義了一種(在當時是)新的設備驅動框架,稱為WDM即「Windows設備驅動模型(Windows Driver Model)」。WDM要求設備驅動模塊除滿足PnP的需要外,還必須提供兩方面的功能支持:
對於WMI的支持。WMI是「Windows管理手段(Windows Management Instrumentation)」的縮寫。WMI與「簡單網路管理規程」SNMP相似,要求每台Windows主機都能應「管理器(Manager)」的要求提供包括設備驅動在內的各種狀態和統計信息。這些信息從哪兒來呢?對於設備驅動,當然得要由相應的設備驅動模塊提供。
對於電源管理的支持。有些外設能耗不小,如果有一段較長的時間沒有實際使用,就沒有理由不將其轉入某種「省電模式」。即使是能耗不大的外設,在節能成為一個環保問題的今天,也應該在不用時使其轉入省電模式。這就是電源管理要達到的目的之一。所以,微軟把支持電源管理列為WDM的要素之一。
總之,「老式」的設備驅動(在形式上)是不分層、不堆疊的;如果形式上分層並堆疊,在微軟的術語中就稱為「PnP設備驅動」。而WDM設備驅動,則是至少在形式上滿足了上述兩項附加條件的PnP設備驅動。對WMI的支持和電源管理的重要性當然不容低估,但是對於我們理解Windows的設備驅動框架卻並非技術關鍵,所以後面的敘述將集中在框架的構成與實現,而忽略這兩個方面。正因為這樣,我們將稱之為「Windows設備驅動框架」而不是「WDM」,以免混淆。
㈡ 塗鴉app如何添加電機驅動
塗鴉app添加電機驅動操作如下:
1、進入手機系統,找到塗鴉智能APP,點擊塗鴉智能APP圖標進入。
2、進入塗鴉智能APP,選擇相應的方式進行賬號的登錄。
3、沒有賬號的,需要注冊賬號,再進行賬號的登錄。
4、登錄塗鴉智能APP成功後,進入首頁點擊右上方的+號進入。
5、進入,找到上方的自動發現,點擊自動發現進入。
6、打開設備網路接收器,搜索你的電機設備進行添加。
7、添加完畢回到首頁,就可以查看你的設備已經添加完成。
㈢ Andoird移植到開發板上之後,應用程序 調用 底層驅動的問題!
做文件系統時,抬眼dev目錄的許可權改成可讀寫,或者用添加腳本。。。。
㈣ 單片機程序中的底層驅動程序和應用程序
驅動程序與硬體相關,編寫驅動程序要非常了解硬體,同時給應用層提供API函數介面,應用層可以調用這些介面去訪問硬體而不必了解硬體.
應用程序是根據實際應用去編寫.
比如說你有一個應用是控制每天早上六點鍾開燈.應用程序只負責在適當的時間做適當的事(到六點了,我要開燈了,按下按鍵);具體它不知道為什麼按下鍵就能開燈,因為按下鍵後開燈的事情就是驅動程序完成了.
㈤ 怎麼把手機系統里的軟體移到手機U盤中啊,,,,,,
以騰訊手機管家為例,將系統里的軟體移到手機U盤的步驟如下:
需要用到的工具:騰訊手機管家APP、手機。
1、將騰訊手機管家打開,選擇【清理加速】
㈥ 什麼是底層驅動,與操作系統有什麼關系跟設備驅動(比如顯卡)有什麼關系
底層驅動是最基本的硬體功能驅動,簡單的說底層驅動就像人體的經絡血液,沒有經絡血液的話其他的精神系統就沒有載體
最早的底層系統是用匯編語言做的,就是簡單通過高低電平信號的把硬體功能實現,如讓喇叭發出聲音,讓風扇轉動,讓液晶屏發光等等
操作系統是基於底層驅動而生成的,像最早的DOS系統就比較直觀
而設備驅動是基於操作系統上的驅動,針對不同的操作系統有不同的驅動程序
這么說不知道你明不明白?
㈦ Android底層封裝庫如何提供給上層app調用
ko文件是驅動模塊啊,你得用C/C++寫一個讀寫該設備的、運行在用戶空間的so庫,然後再通過JNI來調用這個so裡面的介面。
㈧ 安卓開發調用底層硬體
操作方法如下:
編譯後安裝該生成的apk即可使用該程序調用底層硬體驅動。大概整個過程就這樣,上層app調用框架層的java介面,java介面通過jni調用硬體抽象層即可。
㈨ 安卓手機如何優化設置
一直以來安卓手機給人的感覺都是各種卡頓,尤其是開的程序比較多以後,和iPhone比較起來流暢度上會有不小的差距。實際上IPhone手機只是系統優化的很出色,對於安卓手機我們只要優化得當,也能有很流暢的用戶體驗。本文主要介紹的是從安卓系統優化、第三方軟體優化以及設置優化幾方面結合來改善提升安卓手機流暢度,下面一起來看看安卓手機用什麼優化吧。
刷機重啟摳電池
刷機是Android用戶的一大樂趣,部分用戶刷機是為了得到更好的易用性,比如小米的MIUI ROM,非常符合中國人的使用習慣,也有著足夠豐富的個性化設定,是圖省事的朋友刷機的好選擇,不過對於追求高性能的朋友來說,MIUI的優化還有很大提升空間,人們紛紛選擇了對於ROM優化更加出色的CyanogenMod作為刷機的第一選擇。
CyanogenMod系列目前主打的ROM有CM 7.2和CM 9兩個,CM 7.2基於Android 2.3.7,而CM 9則基於Android 4.0.4,其中CM 7.2已經基本成熟,完美支持的機型很多,是大部分機友刷機的第一選擇,CM 9官方的ROM支持機型並不多,民間高手也都進行了各個機型的移植,官方支持的機型兼容性相當不錯,而移植情況並不樂觀。
CM系列ROM忠實於AOSP,在底層驅動方面做了很多努力,刷入之後就會感覺手機流暢了許多,同時也支持了更多的美化和手機自定義能力,比如我們可以對手機的震動回饋做細致的調整,包括按下震動的強度,抬起震動的強度等,讓手機虛擬按鍵給我們更為真實的回饋,在CM ROM中,類似的設定非常多。
目前大部分的ROM都是使用CM進行定製的,還有一部分是對官方原版ROM進行修改,僅有少部分的ROM是修改的AOSP的源碼,這些ROM指向都是谷歌Nexus系列的機型,比如GALAXY Nexus和Nexus S上的Codename和AOKP,就針對源碼做了很多修改,讓手機變得更流暢。
刷內核 效果好
僅僅刷手機的ROM是不夠的,雖然多了很多自定義的功能,流暢度已經高於官方的ROM,但依舊有很大提升的空間,這時候我們就需要通過刷內核來進一步優化,刷內核所能帶來的提升是相當明顯的,但是對於刷內核大家還是要謹慎。
刷內核相比刷ROM,是一個很小的'工程,你的手機不必要Wipe,也就是說不用刪除手機內部的數據,刷一下也就幾分鍾的功夫,所以刷內核的時候,大家完全可以多下幾個內核,逐個進行測試,看看哪個內核更適合自己,就保留哪個內核。同時刷內核時我們要注意,內核需對應自己的手機版本,對應自己所刷的ROM,否則會造成手機無法啟動的現象,如果遇到無法啟動的現象,再刷其他可用內核就可以恢復。
大家會問了,說了這么半天,刷內核到底都有什麼作用呢?首先就是超頻,大部分內核會默認提供降壓超頻,並擁有多種超頻策略,來保證超頻的情況下更省電。其次,還提供更多調整,比如內存虛擬機的大小,顏色管理等等,甚至一個內核可以包括一些新的Linux的補丁,比如最新的Linux 3.3所集成的CPU頻率補丁等等。
事實上,一般的第三方ROM已經修改了手機的內核,達到了更流暢的目的,但ROM的製作速度遠遠比不上內核的調整速度,有時候一個ROM適用的內核在一天之內可能多次更新,所以我們可以嘗試不同的新內核,看看他們的超頻是不是能給我們帶來性能上質的提升,是不是能更省電,是不是能通過顏色調整讓我們看到更棒的畫面等等。
精簡內置應用
我相信Android用戶通過不斷的更換ROM和刷內核已經在流暢度上有了質的飛躍了,如果這時候你的手機已經比iPhone更流暢、更省電,那麼我們就可以收手了,如果你還不滿意,我們還有其他的路可選,精簡內置應用,就是一個可以大幅度提升流暢度的方法。像Google的服務就是大部分人精簡的對象。 Android系統和iOS與Windows Phone不同,這個系統擁有真正的後台運行能力,雖然iOS在推送方面做得很好,彌補了後台方面的不足,但是仍然無法與Android的真後台相比,但是由於Android的程序優先順序並不像iOS和Windows Phone那樣,為了流暢讓當前界面擁有最高優先順序,所以我們就要把Android手機後台不必要的進程關掉,以獲得最佳的性能。
那麼精簡內部應用就是很好的選擇,因為在我們使用過程中,有許多Android內部應用程序是不必要的,而這些程序會在我們不用的時候悄悄的後台打開,對我們的使用造成影響。在精簡時,我們需要用到root文件管理器,同時需要保證手機已經開啟root許可權。進入system/app就可以進行精簡了,我們需要把root管理器的當前許可權設置成讀寫,並且修改需要刪除的軟體許可權,打開軟體執行操作的許可權,就可以對刪除內置軟體了,在精簡前,大家需要對軟體進行備份,或者備份整個ROM,如果你精簡掉系統程序,可能會造成無法開機的情況,重刷ROM可以解決,所以大家最好找到該機型、該ROM的精簡列表,以避免重復勞動。
其他優化
經過以上多方面的優化,我相信大家都已經得到了一個較為干凈、運行流暢的Android了,不過在很多程序中,我們還是會遇到卡頓的情況,對於一個極端追求流暢度的玩家來說,這樣的情況是絕對不允許發生的,因為我們還有進一步優化的空間。
刷後設置
常見設置就忽略了,下面是冷門但很有用的設置。設置完記得重啟手機,速度飛快。
CM設置--顯示設置--所有勾去掉
CM設置--界面--越界設置--越界效果--None
越界程度--Extra Light
CM設置--性能--壓縮緩存--禁止
CM設置--性能--虛擬內存--32m
刷機後的優化設置:
1、設置--顯示--亮度--自動調節(關閉),自動旋轉屏幕(關閉),動畫(不顯示窗口動畫)
2、位置和安全設置--使用GPS衛星(關閉);
3、應用程序設置--未知來源(√)
4、賬戶與同步設置--背景數據(關閉)
5、日期和時間設置--選擇時區--GMT+08:00,中國標准時間
6、CM設置--應用程序--允許移動應用程序(√)
顯示--屏幕關閉動畫(關閉)
輸入--振動反饋微調--振動反饋(關閉)
界面--狀態欄調整--電量百分比(√)
越界效果--None
界面 - 通知欄電源控制項--控制按鈕--切換GPS(√),切換Wifi(√),切換亮度(√),切換聲音(√),切換移動數據(√),切換藍牙(√),切換飛行模式(√)
(感謝weiweiming的總結)
「設置」——「關於手機」——「自動系統更新」(去掉那個「勾」)
關閉相機拍照聲音
用R.E管理器進/system/media/audio/ui目錄,把camera_click.ogg這個文件改名或者直接刪除
2、設置優化
開啟性能模式
很多手機默認是標准模式甚至是省電模式,這對性能是有不少影響的,因此建議不是有特別需求還是調至性能模式(位置:系統設置,因不同手機而異)。
#FormatImgID_0#
關閉動畫特效
Android 4.1增加了動畫程序時長調整,我試過當關閉了動畫以後會感覺反應迅速了很多(位置:設置→開發人員選項)。
#FormatImgID_1#
第三方軟體更換啟動器
實際上很多Android卡頓的罪魁禍首就是系統的啟動器,現在一些品牌的手機啟動器做得越來越炫麗,也越來越復雜,當然代價就是佔用RAM和ROM更多,如果不是對這方面特別有要求,完全可以替換一些第三方的啟動器。
卸載系統自帶程序
現在官方系統自帶很多程序,而且不能卸載,但是這些軟體往往都會開機自啟動,而且對系統流暢度影響比較大,但是要刪除這些自帶軟體需要獲取root許可權。通用一些第三方ROM也會有自帶垃圾軟體問題,而大部分第三方ROM都自帶root,所以這個相對好解決。
管理開機自啟動項
減少開機自啟動的軟體,除了能節省電量之外,當然還能提升手機的反應速度,當然只要關閉一些不需要自啟動的第三方軟體就可以達到目的了。
㈩ 關於「底層驅動」的理解問題
一本理解為直接操作硬體的內核模塊代碼,差不多就是你說的那個意思。
底層驅動程序就是:利用iic匯流排的時序寫入和讀出數據,並封裝成函數,按特定的結構要求組成內核模塊代碼(.c文件)。
應用程序就是:按特定的方式調用上面的驅動程序,完成iic設備的讀寫。