欢迎来到天天文库
浏览记录
ID:38814378
大小:392.50 KB
页数:58页
时间:2019-06-19
《《小记忆体软体设计》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、小記憶體軟體設計李俊宏10/8/20211OutlineIntroductionSmallarchitectureSecondarystorageCompressionSmalldatastructureMemoryallocationIntroduction小記憶體軟體應用MobilecomputingEmbeddedsystemSmallsessioninserverMainframeSmallcomputerWebserverJVMLimitedextendibilityOldPCorServerLargedata(m
2、ultimedia)MobilecomputingdevicesPictureofAutoPCBeamingfromHPCtoAutoPC作業系統forPDALinuxPalmOSWinCEOSREXOSSymbianOSAndroidOthers……AndoridDemo記憶卡CompactFlash(CF)SmartMedia(SM)MemoryStick(MS)MultiMediaCard(MMC)SecureDigital(SD)PDAOS電源管理Sleepmode(turnoff)SystemClockInterr
3、uptRAMDozemodeLCDDigitizerMainclockProcessorclockRunningmode(1sec)Processorexecuting程式的執行(PALM)PreemptivemultitaskingUserInterfaceApplicationShell(UIAS)一次只執行一個程式Launchcode告知應用程式開始和顯示使用者介面啟動事件迴圈EventPCDiskRAMCPUprogramPDACPURAMprogram記憶體的管理RAMinPalmOS記憶體的管理(storageR
4、AM)記憶體的管理(storageRAM)記憶體受限的問題的一般解法減少靜態與全域變數的數目減少記憶體的使用遞迴函數可能造成堆疊空間不足降低執行檔的體積降低Bitmap解析度,避免使用WAV檔案動態配置記憶體要檢查是否配置成功一次要足程式需要的記憶體還有其他的方法嗎?SmallarchitectureIntroductionMemorylimitSmallinterfacesPartialfailureCaptainOatesReadonlymemoryHooksIntroduction如何管理整個系統所用的記憶體記憶體區段
5、數量大小如果受到限制會束縛整個系統系統由多個元件組成元件可由不同團隊完成元件的記憶體需求量會動態改變簡單的設計--MonolithicSystems只適用於簡單系統讓每個元件管理自己的記憶體運用狀態Introduction(cont.)MemorymodulemodulemodulemodulemodulemoduleMonolithicSystemsDecomposedsystem組件設計組件互相連結方式組件共同政策Introduction(cont.)設計組件介面須考慮之問題記憶體的可剪裁性(Tailorability)
6、不同情形下使用相同組件可能會有不同的記憶體需求提供記憶體操控的方法以精確配置記憶體Vectorv=newVector(10)v.ensureCapacity(20)v.trimToSize()讓客戶負責管理組件運用callbacks管理記憶體讓客戶提供自已須要的記憶體配置函數記憶體策略Pattern4:Strategy把演算法則整個換掉Strategy:戰略先提供配置記憶體的和release記憶體的函式界面,實作時再實作出特定策略.在smallarchitecture中的問題Howtoallocatememory?Howto
7、reducecommunicationload?Howtoprocessunpredictablememoryrequirement?Howtosatisfythemostimportantmemoryrequirement?Howtousethereadonlymemory(ROM)?HowtomodifythedatainROM?Howtoallocatememory?問題如何在多個組件之間分配記憶體解答Memorylimit(fixedsizedheap,memorypartitions)為每個元件設置記憶體限額,超出
8、限額的請求,予以拒絕.描述系統包含多個組件,每個組件有各自的記憶體需求組件的記憶體需求隨程式的執行而動態變化記憶體有限,如果一個組件霸佔太多記憶體,會妨礙其他組件工作設計者可以為每個任務設一個合理的記憶體上限Howtoallocatememory?步驟記錄當前每個組件配置的記憶體數量如修改
此文档下载收益归作者所有