精华内容
下载资源
问答
  • 采用( B )不会产生内部碎片。 A、分页式存储管理 B、分段式存储管理 C、固定分区式存储管理 D、段页式存储管理 综述 内存管理主要包括:连续内存管理、分页、分段。 其中分页是不会产生外碎片的(很好理解,...

    采用( B  )不会产生内部碎片。

    A、分页式存储管理                  B、分段式存储管理

    C、固定分区式存储管理           D、段页式存储管理

    综述

    内存管理主要包括:连续内存管理、分页、分段。
    其中分页是不会产生外碎片的(很好理解,因为页是等大的);
    分段是不会产生内碎片的。
    这里给出一些资料的分析

    分析

    内部碎片就是为每个进程分布的内存空间之中所没有被使用到的内存碎片。通常出现在分页式存储管理之中。分页式是什么应该很好理解,就是把内存按照分为一页页大小相同的页面,然后再把这些页面分配给进程。因此,在分配给进程时可能会出现这样的情况:
    进程需要3MB,分给他4页,每页1MB,这样4>3,就会造成1MB的内部碎片。
    而分段式存储管理为什么不会产生内部碎片?

    归根结底是由分段本身的定义出发的。如果说分页式是系统对内存的分割,那么分段式就是用户对程序数据的分割。
    分页式是没有任何逻辑意义的,而分段式是有其意义在的。
    比如说一个程序有主程序段Main类,有通用库,有数据段,这样我们就把这个程序分为三段,分别对应Main,库,数据(说的是最浅显的,详细的可以百度其他),是有逻辑意义的独立单位。都这样分了,怎么还会出现内部碎片?反之,如果是分页式,就可能出现Main类横跨两页,且整个程序装入内存后还有碎片空间的可能了。
    总之,引入分段式存储管理本就在一定程度上解决了内部碎片,并且满足了用户的需求。但是分段式存储管理也有不足之处,内存利用率变低了。
    因此又引入之后的段页式存储管理方式。

    展开全文
  • 内部碎片就是为每个进程分布的内存空间之中所没有被使用到的内存碎片。通常出现在分页式存储管理之中。分页式是什么应该很好理解,就是把内存按照分为一页页大小相同的页面,然后再把这些页面分配给进程。因此,在...

    综述

    内存管理主要包括:连续内存管理、分页、分段。
    其中分页是不会产生外碎片的(很好理解,因为页是等大的);
    分段是不会产生内碎片的。
    这里给出一些资料的分析

    分析

    内部碎片就是为每个进程分布的内存空间之中所没有被使用到的内存碎片。通常出现在分页式存储管理之中。分页式是什么应该很好理解,就是把内存按照分为一页页大小相同的页面,然后再把这些页面分配给进程。因此,在分配给进程时可能会出现这样的情况:
    进程需要3MB,分给他4页,每页1MB,这样4>3,就会造成1MB的内部碎片。
    而分段式存储管理为什么不会产生内部碎片?

    归根结底是由分段本身的定义出发的。如果说分页式是系统对内存的分割,那么分段式就是用户对程序数据的分割。
    分页式是没有任何逻辑意义的,而分段式是有其意义在的。
    比如说一个程序有主程序段Main类,有通用库,有数据段,这样我们就把这个程序分为三段,分别对应Main,库,数据(说的是最浅显的,详细的可以百度其他),是有逻辑意义的独立单位。都这样分了,怎么还会出现内部碎片?反之,如果是分页式,就可能出现Main类横跨两页,且整个程序装入内存后还有碎片空间的可能了。
    总之,引入分段式存储管理本就在一定程度上解决了内部碎片,并且满足了用户的需求。但是分段式存储管理也有不足之处,内存利用率变低了。
    因此又引入之后的段页式存储管理方式。

    展开全文
  • 外部碎片和内部碎片的区别

    万次阅读 多人点赞 2014-08-20 14:05:10
    故而三个文件不会产生碎片。 现在假设你删除了B文件,这个时候A和C中间就有一块空闲簇段了。此时还是不存在文件碎片的,因为每个文件各自占据的簇段都是连续的,没有文件被分割。而如果现在需要写入一个文件D,而且...

    外部碎片和内部碎片的区别

    一、在内存上(使用连续分配算法来管理分配内存时会产生)的外部碎片和内部碎片两个概念

    这几天一直看操作系统,看到内存的连续分配时,对于外部碎片和内部碎片时甚是不解:

    内存碎片分为:内部碎片和外部碎片
    【内部碎片】
    内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;
    内部碎片处于(操作系统分配的用于装载某一进程的内存)区域内部或页面内部存储块。占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。直到进程释放它,或进程结束时,系统才有可能利用这个存储块。
    单道连续分配只有内部碎片。多道固定连续分配既有内部碎片,又有外部碎片。
    【外部碎片】
    外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。
    外部碎片是处于任何两个已分配区域或页面之间的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。
    产生外部碎片的一种情况:

    举个例子,在内存上,分配三个操作系统分配的用于装载进程的内存区域A、B和C。假设,三个内存区域都是相连的。故而三个内存区域不会产生外部碎片。现在假设B对应的进程执行完毕了操作系统随即收回了B,这个时候A和C中间就有一块空闲区域了。


    多道可变连续分配只有外部碎片。

    总之,在内存上,外部碎片是位于任何两个操作系统分配的用于装载进程的内存区域或页面之间的空闲区域,内部碎片是位于一个操作系统分配的用于装载进程的内存区域或页面内部的空闲区域。

    ================================

    二、在磁盘上的外部碎片和内部碎片两个概念

    很多人会把文件碎片跟簇的概念混淆起来。其实对windows系统来说硬盘上的每个分区都是由最小存储单元——簇组成的。就好比,一面墙是由一块块转头组成的。簇的大小可以在分区格式化时由用户定义,一般是数个KB大小,比如是8KB。假设我有一个文件,大小是80MB零1KB(1MB=1000KB),换算一下就是80,001KB,其中的80,000KB正好占用10000个簇,剩下的那1KB,不得以也要占用1个簇,但这最后一个簇还有7KB的空间没用上了。而且这个未完全使用的簇,其他文件也不允许继续使用。这就造成了一点点的空间浪费。

    不少人就把这被浪费了的7KB空间就是磁盘上的内部碎片。

    磁盘上的外部碎片(即平时所说的磁盘碎片,磁盘碎片清理工具只能清理磁盘上的外部碎片,清除不了磁盘上的内部碎片,除非改变文件系统的分配单位即簇的大小,使之是一个文件大小的整数倍。)实际上指的是一个文件占据那些簇是不连续的,就相当于文件被分割开来,分别存放在相互间断的几段簇上。文件被分割为几个部分就是几个碎片。所以碎片其实是指文件碎片,可以理解成,文件破碎成片之意。而且文件碎片之间有时候顺序还是错乱的。比如说,有时候“文件里靠后的碎片”所占的簇段在硬盘上反而会排在“文件里位置靠前的碎片”簇段的前面。这样一来,一个文件就会以比较混乱的顺序存放在硬盘上。

    显然计算机读取连续的有序的数据肯定要比不连续的乱序的数据来得快。所以整理碎片可能会大幅度提高系统性能。

    举个例子,起初硬盘某个分区是空白的,写入三个文件A、B和C。显然这个时候,三个文件都是顺次占用三个簇段(这个说明存放文件所用的文件系统应该是类似FAT这样的文件系统,具体参看注释1)。故而三个文件不会产生碎片。

    现在假设你删除了B文件,这个时候A和C中间就有一块空闲簇段了。此时还是不存在文件碎片的,因为每个文件各自占据的簇段都是连续的,没有文件被分割。而如果现在需要写入一个文件D,而且D比刚刚删去的文件B要大。那么A和C之间的空闲簇段就不足以放入D,再假设C后面的空闲簇段也不足以放下D,这个时候D就势必要分割成两块存放,一块放在A和C之间,另一块放在C之后。这样一来,文件碎片就产生了。D文件有两个文件碎片。

    磁盘碎片整理要做的工作就是:把C文件前移,一直移到紧接A文件的簇段上去。这样A和C之间就没有空闲簇了,C之后剩下的将是一段完整的空闲簇段,足以放下文件D。这样D就也占据一段连续的簇段。碎片也就消除了。


    =====================================


    外部碎片的两种理解:

    1、在内存上,位于任何两个操作系统分配的用于装载进程的内存区域或页面之间的空闲区域称为外部碎片

    2、在磁盘上,将文件分割成几块不相连的分片,这样不相连的分片叫做文件碎片,也即外部碎片。如果将文件分割成几块相连的分片,这样相连的分片则不是文件碎片。

    ==============================

    减少内存碎片
     内存碎片是因为在分配一个内存块后,使之空闲,但不将空闲内存归还给最大内存块而产生的。最后这一步很关键。如果内存分配程序是有效的,就不能阻止系统分配内存块并使之空闲。即使一个内存分配程序不能保证返回的内存能与最大内存块相连接(这种方法可以彻底避免内存碎片问题),但你可以设法控制并限制内存碎片。所有这些作法涉及到内存块的分割。每当系统减少被分割内存块的数量,确保被分割内存块尽可能大时,你就会有所改进。
    这样做的目的是尽可能多次反复使用内存块,而不要每次都对内存块进行分割,以正好符合请求的存储量。分割内存块会产生大量的小内存碎片,犹如一堆散沙。以后很难把这些散沙与其余内存结合起来。比较好的办法是让每个内存块中都留有一些未用的字节。留有多少字节应看系统要在多大程度上避免内存碎片。对小型系统来说,增加几个字节的内部碎片是朝正确方向迈出的一步。当系统请求1字节内存时,你分配的存储量取决于系统的工作状态。
    如果系统分配的内存存储量的主要部分是 1 ~ 16 字节,则为小内存也分配 16 字节是明智的。只要限制可以分配的最大内存块,你就能够获得较大的节约效果。但是,这种方法的缺点是,系统会不断地尝试分配大于极限的内存块,这使系统可能会停止工作。减少最大和最小内存块存储量之间内存存储量的数量也是有用的。采用按对数增大的内存块存储量可以避免大量的碎片。例如,每个存储量可能都比前一个存储量大 20%。在嵌入式系统中采用“一种存储量符合所有需要”对于嵌入式系统中的内存分配程序来说可能是不切实际的。这种方法从内部碎片来看是代价极高的,但系统可以彻底避免外部碎片,达到支持的最大存储量。
    将相邻空闲内存块连接起来是一种可以显著减少内存碎片的技术。如果没有这一方法,某些分配算法(如最先适合算法)将根本无法工作。然而,效果是有限的,将邻近内存块连接起来只能缓解由于分配算法引起的问题,而无法解决根本问题。而且,当内存块存储量有限时,相邻内存块连接可能很难实现。
    有些内存分配器很先进,可以在运行时收集有关某个系统的分配习惯的统计数据,然后,按存储量将所有的内存分配进行分类,例如分为小、中和大三类。系统将每次分配指向被管理内存的一个区域,因为该区域包括这样的内存块存储量。较小存储量是根据较大存储量分配的。这种方案是最先适合算法和一组有限的固定存储量算法的一种有趣的混合,但不是实时的。
    有效地利用暂时的局限性通常是很困难的,但值得一提的是,在内存中暂时扩展共处一地的分配程序更容易产生内存碎片。尽管其它技术可以减轻这一问题,但限制不同存储量内存块的数目仍是减少内存碎片的主要方法。
    现代软件环境业已实现各种避免内存碎片的工具。例如,专为分布式高可用性容错系统开发的 OSE 实时操作系统可提供三种运行时内存分配程序:内核 alloc(),它根据系统或内存块池来分配;堆 malloc(),根据程序堆来分配; OSE 内存管理程序 alloc_region,它根据内存管理程序内存来分配。
    从 许多方面来看,Alloc就是终极内存分配程序。它产生的内存碎片很少,速度很快,并有判定功能。你可以调整甚至去掉内存碎片。只是在分配一个存储量后,使之空闲,但不再分配时,才会产生外部碎片。内部碎片会不断产生,但对某个给定的系统和八种存储量来说是恒定不变的。
    Alloc 是一种有八个自由表的固定存储量内存分配程序的实现方法。系统程序员可以对每一种存储量进行配置,并可决定采用更少的存储量来进一步减少碎片。除开始时以外,分配内存块和使内存块空闲都是恒定时间操作。首先,系统必须对请求的存储量四舍五入到下一个可用存储量。就八种存储量而言,这一目标可用三个 如果 语句来实现。其次,系统总是在八个自由表的表头插入或删除内存块。开始时,分配未使用的内存要多花几个周期的时间,但速度仍然极快,而且所花时间恒定不变。
    堆 malloc() 的内存开销(8 ~ 16 字节/分配)比 alloc小,所以你可以停用内存的专用权。malloc() 分配程序平均来讲是相当快的。它的内部碎片比alloc()少,但外部碎片则比alloc()多。它有一个最大分配存储量,但对大多数系统来说,这一极限值足够大。可选的共享所有权与低开销使 malloc() 适用于有许多小型对象和共享对象的 C++ 应用程序。堆是一种具有内部堆数据结构的伙伴系统的实现方法。在 OSE 中,有 28 个不同的存储量可供使用,每种存储量都是前两种存储量之和,于是形成一个斐波那契(Fibonacci)序列。实际内存块存储量为序列数乘以 16 字节,其中包括分配程序开销或者 8 字节/分配(在文件和行信息启用的情况下为 16 字节)。
    当你很少需要大块内存时,则OSE内存管理程序最适用。典型的系统要把存储空间分配给整个系统、堆或库。在有 MMU 的系统中,有些实现方法使用 MMU 的转换功能来显著降低甚至消除内存碎片。在其他情况下,OSE 内存管理程序会产生非常多的碎片。它没有最大分配存储量,而且是一种最先适合内存分配程序的实现方法。内存分配被四舍五入到页面的偶数——典型值是 4 k 字节。

    展开全文
  • 操作系统第四章题目

    2020-09-09 16:27:31
    1、操作系统对内存的管理方式中,______不会产生内部碎片。 A.分页式存储管理 B.分段式存储管理 C.固定分区式存储管理 D.段页式存储管理 [解析] 在内存的管理方式中,分段式存储管理方式中只能产生外零头,不会...

    1、操作系统对内存的管理方式中,______不会产生内部碎片。
    A.分页式存储管理
    B.分段式存储管理
    C.固定分区式存储管理
    D.段页式存储管理

    [解析] 在内存的管理方式中,分段式存储管理方式中只能产生外零头,不会产生内零头即内部碎片。

    固内动外:固定分区存储会产生内碎片,动态分区存储会产生外碎片。

    段页式存储,把一段划分成若干页,段不一定是页的整数倍。如果最后一页用不完整个物理块,就会产生内碎片。

    百度文库:https://wenku.baidu.com/view/e08640e205a1b0717fd5360cba1aa81144318fd7.html

    2、某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用最佳适配(Best Fit)算法,分配和释放的顺序为:分配15MB、分配30MB、释放15MB、分配8MB、分配6MB,此时主存中最大空闲分区的大小是( )。

    注意分配算法是最佳适配算法:每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业

    老师的题解:

    ①一共55,先分配15 ,再分配30,此时还剩下10的空闲空间,

    ②再释放15,释放的是第一个15,此时内存又两个空闲空间,一个15,一个10,

    ③分配8的时候,最佳适配算法,找到能满足的并且是最小的10,然后分配8,剩余2,此时有两个空闲空间,一个15,一个2,

    ④分配6的时候找到15,剩余9,此时内存剩下两个空闲,一个9,一个2,所以最大的就是9

    百度文库:https://wenku.baidu.com/view/e20b8c93690203d8ce2f0066f5335a8103d26657.html

    展开全文
  • 内部碎片 数据库页内部产生的碎片,外部反之 碎片的产生: 有一个表里有8条数据,已经将一页填满,这个时候要插入第九条数据,页也就分裂了。这就产生内部碎片。如下图所示(excel示意一下 懒癌晚期) 注:...
  • 第四章 存储器管理 1 在存储管理中采用覆盖和交换技术的目的是 A 节省内存空间 B 物理上扩充内存容量 C 提高 CPU 效率 D 实现内存共享 2 采用 不会产生内部碎片 A 分页式存储管理 B 分段式存储管理 C 固定分区式存储...
  • 1、在段页式存储管理中,其虚拟地址空间是() A、一维 B、二维 C、三维 D、层次 答案:B 2、采用( )不会产生内部碎片(“内零头”) A、分页式存储管理
  • 1、在段页式存储管理中,其虚拟地址空间是() A、一维 B、二维 C、三维 D、层次 答案:B 2、采用( )不会产生内部碎片(“内零头”)A、分页式存储管理 ...
  • 36 采用 ( ) 不会产生内部碎片 ( 内零头 ) A. 分页式存储管理 B. 分段式存储管理 C 固定分区式存储管理 D 段页式存储管理 ? 37 虚拟内存的容量只受 ( ) 的限制 A. 磁盘空间大小 B 物理内存大小 C. 数据存放的实际...
  • 第6 章 内存管理 1选择题 1采用 _B_ 不会产生内部碎片 A. 分页存储管理 B. 分段存储管理 C. 固定分区存储管理 D. 段页式存储管理 2 首次适应算法的空白区是_A_ A. 按地址由小到大排列 B. 按地址由大到小排列 C. 按...
  • 1、在段页式存储管理中,其虚拟地址空间是() A、一维 B、二维 C、三维 D、层次 答案:B 2、采用( )不会产生内部碎片(“内零头”)A、分页式存储管理 ...
  • 操作系统学习笔记

    千次阅读 2016-08-24 15:56:36
    这里专门摘录操作系统相关笔试题和面试题!也当作自己的一个复习!一个很全的操作系统常考...故是二维的★分页和分段管理要访问2次内存,而段页式要3次★分段不会产生内部碎片,分页不会产生外部碎片2.死锁:★死...
  • 夸克重喷流碎片

    2020-04-24 07:34:09
    后者描述了射流内部的破碎过程。 夸克重物质的有限大小不会改变紫外线的行为,但可以对有限贡献做出重大修正。 当我们采用零质量极限时,我们发现FFJ和JFF再现了无质量部分的确定结果。 如果将重夸克射流定义为包括...
  • 1.分区的个数和大小不是固定不变的,而是可变的,随装入的作业动态划分,且不会产生内部碎片。 2.外部碎片: 频繁的分配与回收物理页面会导致大量的、连续且小的页面块夹杂在已分配的页面中间,就会产生外部碎片。 3...
  • 分段存储管理

    2017-04-01 19:07:15
    采用()不会产生内部碎片 分段式存储管理 下面哪种内存管理方法有利于程序的动态链接?() 分段存储管理 下面(B)内存管理方法不能实现虚存? 动态页式管理 静态页...
  • 面试刷题

    2017-12-18 10:41:00
    1、下列选项中,不会产生内部碎片的存储管理是() A、分页式存储管理 B、分段式存储管理 C、固定分区式存储管理D、段页式存储管理 2、有一段python的编码程序如下:urllib.quote(line....
  • 访问2次内存Ⅱ页式存储管理不会产生内部碎片ⅠⅡ页式存储管理当中的页面是为用户感知的Ⅳ页式存储方式可以采用静态重定位A、ⅠⅡⅣB、ⅠⅣC、只有ⅠD、全都正确【答案】C应用题1、在某页式管理系统中,假定主存为64K...
  • 操作系统面试题489题2

    2014-11-19 01:50:00
    251.存放在磁盘上的文件( ) A.既可随机访问,又可顺序访问 B.只能随机访问 C.只能顺序访问 D.... ...252.( )不是操作系统关心的主要问题。...253.采用( )不会产生内部碎片("内零头") A.分页式存储管理 ...
  • 操作系统知识

    2016-08-02 07:50:10
    1、在段页式存储管理中,其虚拟地址空间是() A、一维 B、二维 C、三维 D、层次 答案:B 2、采用( )不会产生内部碎片(“内零头”) A、分页式存储管理
  • 操作系统笔试题汇总

    2018-08-03 10:00:16
    1、在段页式存储管理中,其虚拟地址空间是() A、一维 B、二维 C、三维 D、层次 答案:B 2、采用( )不会产生内部碎片(“内零头”) A、分页式存储管理 ...

空空如也

空空如也

1 2 3 4
收藏数 76
精华内容 30
关键字:

不会产生内部碎片