操作系统
文章平均质量分 76
回龙观码农
这个作者很懒,什么都没留下…
展开
-
windows内存管理的几种方式及优缺点
单对界地址存储管理(单一连续区域存储管理): a.内存空间划分 : 内存空间采用动态异常分区方法,整个内存被动态的划分为若干个长度各异的区域。 b.进程空间划分 : 一个进程空间有连续的区域构成,假设进程的长度为l,则其逻辑地址为0到l-1. c.进程空进与内存空间的对应关系:一个进程在内存中占有原创 2014-05-18 00:21:22 · 1724 阅读 · 0 评论 -
heap和stack的差别
一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量原创 2014-05-19 15:58:27 · 407 阅读 · 0 评论 -
C++ 检测内存泄露
C++ 检测内存泄露 C++程序的复杂性很大一部分在于他的内存管理,没有C#那样的垃圾回收机制,内存管理对初学者来说很困难。经常会出现内存泄露的情况。那么我们写程序如何避免内存泄露呢?首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。 本文描述了如何检测内存泄露。最主要的是纯C,C++的程序如何检测内存泄露。 现在有很多专业的检测工具,比如比较原创 2014-05-19 15:58:35 · 472 阅读 · 0 评论 -
内存泄漏
内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。 内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系统的角度来看的。原创 2014-05-19 15:58:33 · 383 阅读 · 0 评论 -
进程死锁
进程死锁如果多个进程同时占有对方需要的资源而同时请求对方的资源,而它们在得到请求之前不会释放所占有的资源,那么就会导致死锁的发生,也就是进程不能实现同步。死锁原因产生死锁的原因可归结为如下两点:(1)竞争资源。当系统中供多个进程共享的资源如打印机、公用队列等,其数目不足以满足进程的需要时,会引起诸进程的竞争而产生死锁。(2)进程间推进顺序非法。进程在运行过程中,请求和释放资源的顺原创 2014-05-19 15:58:29 · 445 阅读 · 0 评论