首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 125 毫秒
1.
针对复杂嵌入式系统中的动态内存管理,提出了一种新的方法.将可以使用的动态内存划分成多个内存块组,每组中内存块大小相同,不同组的内存块大小不同.分配动态内存时可以按照需求,使用不同大小的内存块.根据这种新的划分方式,设计了相应的内存块管理链表的数据结构和动态内存的分配、释放算法.并在试验中使用了这种管理方法,给出了该方法和其它方法相比较的试验结果.  相似文献   

2.
杨志宏  路建军 《软件》1999,(7):46-49
内存的分配与管理是操作系统资源管理的重要任务之一。进入Windows时代,操作系统开始从内存分配与调度者的单一身份转变为内存的分配与消费者多重角色。 DOS时代4兆,8兆内存可以供操作系统,应用程序相安无事,另外再加上一个占用数兆内存的硬盘Cache程序有效地减少读写硬盘次数,提高系统运行效率。在Windows95出现以后,操作系统与应用软件争夺消耗内存资源的矛盾日益突出,迫使用户不得不升级内存。但是,无论用户购买使用何种档次的计算机,还是能够看到计算机在频繁地读写硬盘、交换文件,而且系统崩溃,程序异常中止,死机等故障频频发生,在这些故障中,有相当比例的问题是由于内存资源减少到临界值而引发的。内存监控与优化工具,试图通过对内存资源的监测,统计分析出系统当前所需内存资源,回收整理操作系统散失的内存碎片,动态地进行内存分配,从而避免因为可用内存消耗殆尽而引发的各种故障。  相似文献   

3.
王冬慧  韩建民  庄嘉琪 《计算机应用》2015,35(12):3368-3373
现有的内存管理的工作多集中在内存分配的效率上,实时性较好,但易产生内存碎片。为此,提出基于线段树的高效内存管理方法。该方法将内存地址空间划分为内存段,建立内存管理线段树,基于所建立的内存管理线段树,进行高效灵活的内存分配和回收管理,减少了内存碎片的产生。另外,针对线段树空间开销大的问题,提出了线段树空间优化的方法。实验结果表明,所提出的内存管理方法,具有效率高、产生的内存碎片少、内存管理空间开销小等优势。  相似文献   

4.
本文根据现有微机系统内存资源,针对各种应用软件对系统内存资源使用需求所造成的软件“冲突”,理论实践结合,全面论述了微机系统内存资源的合理分配与管理。  相似文献   

5.
广域网分布式计算系统透明内存设计与实现   总被引:1,自引:0,他引:1  
分布式应用污染本地内存,造成大量页错误从而影响本地性能,为了解决该问题,提出了一种多优先级透明内存使用方法.该方法根据本地负载的变化,动态改变分配给分布式应用的内存量,并且对分布式任务划分了不同的优先级,使优先级低的任务占用更少的内存资源从而保障高优先级的任务.通过搭建原型系统进行试验,结果表明了该方法可以保证分布式应用的透明性,并提高贡献内存的使用效率.  相似文献   

6.
C语言程序在运行期间的内存管理主要靠malloc和free函数实现,这部分内存由程序员使用malloc申请分配,用free释放该内存。本文主要介绍malloc和free函数的使用。  相似文献   

7.
一种嵌入式系统的内存分配方案   总被引:4,自引:0,他引:4  
实时性、可靠性的要求,使得许多嵌入式应用使用自己的内存管理程序。本文探讨嵌入式系统中对内存管理的要求、存在的问题以及可能的解决策略;介绍一种“一次分配,多次使用”的动态内存分配方法,并给出2个例子。  相似文献   

8.
设计并实现一种新的面向对象程序的内存管理器。使用混合数据结构分别处理小对象、中等对象和大对象,减少内存碎片。通过分布适合和位图适合算法,降低内存分配和释放的时间复杂度。采用边界标识技术加快相邻空闲块的合并,利用缓存技术和程序局部性原理提高内存请求的响应速度。实验结果表明,该管理器具有较快的响应速度以及较高的内存使用率。  相似文献   

9.
为解决机务虚拟维修训练系统中场景、模型一次性全部加载速度慢、内存占用量高的问题,基于任务的相关性提出一种场景管理方法。使用TF-IDF算法获取系统中包含的虚拟维修任务工卡的相似度并进行划分。工卡的相似度越高表示所描述的虚拟维修场景、维修工具、维修对象等虚拟资源相关性越强。当在场景资源加载、内存分配时,将相关性大于68%的任务工卡描述的虚拟资源利用伙伴系统进行加载分配,对于相关性小于42%的任务场景,则在伙伴系统中申请一块内存,并将这块内存划分为内存池进行加载分配。而任务相关性介于42%~68%的任务场景用双动态双链表的方法进行管理。解决了传统虚拟维修训练系统中加载资源时没有维修资源相关性分配管理的不足,分配方法没有任务针对性的局限,避免了单独划分内存块的系统分配时间。实验结果表明,改进后的分配方法减少了17%内存占用量,并提高了17.57的帧率。  相似文献   

10.
李薇  陈静 《数字社区&智能家居》2007,2(6):1320-1320,1337
内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,不必担心内存是如何管理的,这并不能使得内存管理的重号性有一点点降低。对实际编程来说,理解内存管理器的能力与局限性至关重要。在大部分系统语言中,比如C和C++,必须进行内存管理。本文将介绍C/C++内存管理的基本技术及应用。C++中涉及到的内存的管理问题可以归结为两方面:正确地得到它和有效地使用它。“正确地得到”的意思是正确地调用内存分配和释放程序;而“有效地使用”指写特定版本的内存分配和释放程序。  相似文献   

11.
WINCE系统内存配置较小,嵌入式软件如果出现内存泄露问题,将会导致系统的可用内存不足,甚至出现系统崩溃。为此针对WINCE操作系统内存的管理和应用,通过引入一个在实时更新动态图的过程中出现内存泄露的案例,阐述了关于内存管理和内存应用的重要知识点,包括内存模型和内存分配方式,分析了在该案例中出现内存泄露的原因,提出了与案例中出现的内存泄露相似问题的解决方法,并针对一般情况下如何防止内存泄露作了简单介绍,最后详细阐述了案例中为了优化内存所做的工作,对编程者有很好的指导作用。  相似文献   

12.
The exploitation of the salient features of capability-based addressing environments leads to a high number of small objects existing in memory at the same time. It is thus necessary to enhance the efficiency of the mechanisms for object relocation, and to avoid congestion of input/output devices due to swapping. In this paper, we present an approach to the management of a large virtual memory space aimed at solving these problems. We insert partial information concerning the physical allocation of each object into the virtual identifier of this object. Objects are grouped into large swapping units, called pages. The page size is independent of the average object size. This results in enhanced efficiency in managing the relocation information both with regard to memory requirements and access times. The allocation of objects into pages, and the movement of pages through the memory hierarchy, are controlled by user processes. This means that programs which have knowledge of their own use of virtual memory can increase their locality of reference, diminish the number of swap operations and reduce fragmentation.  相似文献   

13.
Symbian操作系统中,使用TRAP机制捕获系统异常,控制内存分配过程。清除栈结构可以保证当发生异常产生的情况下,系统不会出现内存泄露。对自定义类型的两段构造方法,可以修改C++默认的构造规则,保证内存安全。  相似文献   

14.
存储器是计算机系统的重要组成部分。近年来,随着计算机软件规模的不断扩大,系统对存储器尤其是内存的要求也越来越高,操作系统如何对它加以有效管理,最大限度地发挥内存这种宝贵而又紧俏的资源至关重要。事实上,操作系统对内存的分配方式有多种,不同的方式特点不一,但由于内存分配是看不见的,不易增加学生的感性认识。为此,采用VB编程,模拟内存的固定分区分配,可以使学生能通过图形化的分配界面,加深对内存分配原理的理解。  相似文献   

15.
In a memory allocation algorithm with variable-size segments, checkerboarding (external fragmentation) distributes the unused memory space into a number of relatively small fragments, so that the largest fragment is considerably smaller than the total. For some computer architectures, garbage collection is impossible or unfeasible at an arbitrary memory allocation decision. Hence it is necessary to consider the individual sizes of fragments (and, in particular, the largest one) rather than the sum total available. A simulation model is used to develop empirical probability distributions for the size of the largest fragment of available memory at a given instant, conditional only on the number of allocated blocks. A predictor developed from such distributions is presented, and example distributions for a job scheduling system are presented and discussed.The work of T.P. was supported by the National Science Foundation under grant GJ-36711.  相似文献   

16.
一种基于VxWorks的内存分配算法   总被引:2,自引:0,他引:2  
研究了VxWorks系统内存分配算法,指出了常用内存管理算法的局限性,在此基础上,提出了一种改进的内存分配算法.改进的内存分配算法包括优化的内存块分配算法和快速高效的动态内存分配算法,两者结合使用将会有效提高嵌入式系统的性能.对改进内存算法的实现作了详细的介绍.  相似文献   

17.
Unikernels provide an efficient and lightweight way to deploy cloud computing services in application-specialized and single-address-space virtual machines (VMs). They can efficiently deploy hundreds of unikernel-based VMs in a single physical server. In such a cloud computing platform, main memory is the primary bottleneck resource for high-density application deployment. Recently, non-volatile memory (NVM) technologies has become increasingly popular in cloud data centers because they can offer extremely large memory capacity at a low expense. However, there still remain many challenges to utilize NVMs for unikernel-based VMs, such as the difficulty of heterogeneous memory allocation and high performance overhead of address translations. In this paper, we present UCat, a heterogeneous memory management mechanism that support multi-grained memory allocation for unikernels. We propose front-end/back-end cooperative address space mapping to expose the host memory heterogeneity to unikernels. UCat exploits large pages to reduce the cost of two-layer address translation in virtualization environments, and leverages slab allocation to reduce memory waste due to internal memory fragmentation. We implement UCat based on a popular unikernel--OSv and conduct extensive experiments to evaluate its efficiency. Experimental results show that UCat can reduce the memory consumption of unikernels by 50% and TLB miss rate by 41%, and improve the throughput of real-world benchmarks such as memslap and YCSB by up to 18.5% and 14.8%, respectively.  相似文献   

18.
With the rapid increase of memory consumption by applications running on cloud data centers,we need more efficient memory management in a virtualized environment.Exploiting huge pages becomes more critical for a virtual machine's performance when it runs large working set size programs.Programs with large working set sizes are more sensitive to memory allocation,which requires us to quickly adjust the virtual machine's memory to accommodate memory phase changes.It would be much more efficient if we could adjust virtual machines'memory at the granularity of huge pages.However,existing virtual machine memory reallocation techniques,such as ballooning,do not support huge pages.In addition,in order to drive effective memory reallocation,we need to predict the actual memory demand of a virtual machine.We find that traditional memory demand estimation methods designed for regular pages cannot be simply ported to a system adopting huge pages.How to adjust the memory of virtual machines timely and effectively according to the periodic change of memory demand is another challenge we face.This paper proposes a dynamic huge page based memory balancing system(HPMBS)for efficient memory management in a virtualized environment.We first rebuild the ballooning mechanism in order to dispatch memory in the granularity of huge pages.We then design and implement a huge page working set size estimation mechanism which can accurately estimate a virtual machine's memory demand in huge pages environments.Combining these two mechanisms,we finally use an algorithm based on dynamic programming to achieve dynamic memory balancing.Experiments show that our system saves memory and improves overall system performance with low overhead.  相似文献   

19.
针对实时操作系统内存分配的性能,分析了一个现有的测试模型,提出了模型中存在的问题,并给出了改进方法.改进后的模型比原模型可以产生更多的内存碎片,这样可以更充分地反映内存碎片对内存分配性能的影响.改进后的模型也更符合真实环境下的内存分配规律,且考虑了内存分配失败的情况对内存分配整体性能的影响.最后通过实验结果表明了改进方法的有效性和正确性.  相似文献   

20.
μC/OS-Ⅱ中内存管理方法的分析及改进   总被引:1,自引:0,他引:1  
俞勤丰  孙涌 《计算机工程》2009,35(11):280-282
μC/OS—Ⅱ系统的内存管理采用分区管理的方法,效率较高,但由于其内存块固定,不适用于申请内存块大小变化很大的系统。针对此问题,提出一种简化的自适应动态分配μC/OS—Ⅱ内存的管理方法。实验结果表明,该方法能用于所申请内存块大小变化很大的系统,可满足嵌入式应用对内存快速、高效、可靠的需求。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号