首页 > 试题广场 >

请你说说内存管理

[问答题]
linux操作系统采用段页式内存管理方式:页式存储管理可以有效的提高内存利用率,段式内存管理能反映程序的逻辑结构并有利于段的共享。将这两种方法结合起来就形成了段页式储存管理方式。段页式储存管理方式就是先建好用户程序分成若干个段,再把每个段分成若干页,并为每个段赋予一个段名。
发表于 2022-05-13 20:36:03 回复(1)
内存管理主要包括内存的分配(malloc)和释放(free),内存的分配可以分为连续内存分配和非连续内存分配。连续分配:为用户分配一个连续的内存空间,常见的连续分配如块式管理。非连续分配又分为页式存储管理,段式存储管理和段页数存储管理。页式存储管理:页是数据分配的物理单位,页分配是为了实现数据的离散分布,提高内存利用率。它的分区大小是固定的,页分配相较于块有着更小的分配粒度,可能会导致内部内存碎片,不会导致外部内存碎片。通过页表实现物理地址于逻辑地址的对应。段式存储管理:段是数据分配的逻辑单位,段式分配目的是为了更好的反映程序的逻辑结构以更好满足用户需求。它的分区大小是不固定的,会导致外部内存碎片,段相比页拥有实际意义,可以将其分为主程序段,子程序段,数据段和栈段。段是一个二维结构,定位段需要知道它的段名和段内具体物理地址。使用段表来对应物理地址和逻辑地址。段页是存储分配:结合段式分配和页式分配,将主内存区域先分为多个段,在将每个页划分多若干页。结合多段式管理和页式管理的各种优点。
发表于 2022-06-20 10:00:13 回复(1)
内存管理有:页式存储,段式存储,段页式存储。 页式存储,提高内存的利用率,有效减少内存碎片 段式存储,更好的反应程序的逻辑结构,有利于段之间的共享 段页式存储,结合前面两种存储方式,将程序划分为若干段,每段再细分为页 程序运行时,逻辑地址存储在页表/段表中,通过段表查找页表号,再去页表中查询页帧号,最后转换为物理地址
发表于 2022-07-26 13:38:31 回复(0)
1、内存管理主要就是进行内存的分配与回收,地址转换也是内存管理的功能。2、内存管理分为两类:连续分配的的内存管理方式、非连续的内存管理方式。3、连续的内存管理方式是早期计算机使用的,主要是块式管理。现代计算机使用非连续的内存分配管理;4、非连续的内存分配管理有三种方式:页式管理、段式管理、段页式管理。5、页式管理:将主内存分为一页一页的,页表对应了逻辑地址和物理地址。页式管理提高了内存利用率。6、段式管理:将内存分为一段一段的,段表对应逻辑地址和物理地址。7、段页式管理机制:先将主内存分段,然后将每段分页,结合了段式管理和页式管理的优点。
发表于 2023-03-25 10:33:50 回复(0)
看过
发表于 2023-03-12 21:54:52 回复(0)
内存管理分为固定分区管理、动态分区管理、分页存储管理、段式存储管理和段页式存储管理。分页,分段和段页式存储管理属于离散存储空间管理, 允许每个作业占用多个位置不相邻的物理内存区,这样就避免了分区合并,只有作业的最后一页才有可能产生页内碎片。连续存储空间管理要求作业必须分配到一个或少数几个分区中,容易产生区内部碎片,找不到足够大的分区时需要合并分区,影响内存利用率和系统效率。
编辑于 2023-02-22 18:08:15 回复(0)
😍
发表于 2022-11-18 10:28:38 回复(0)
内存管理分为连续内存管理和非连续内存管理;连续内存管理主要是块式内存管理,把内存分成一块一块进行管理,有需要时就分配给线程或进程一块,所需要内存较小的情况下仍然会得到较大的内存,比较浪费。非连续内存管理主要是页式和段式,页式比块式要小,更有利于利用空间,但是页是没有意义的划分;段式管理是根据不同的代码段来进行分配内存的,具有实际的划分意义。还有一个段页式管理方式,linux就是采用这种方式
发表于 2022-08-10 15:42:15 回复(0)
单片机的CPU是直接操作内存的物理地址的,同时运行两个程序是行不通的,这两个程序会立刻崩溃,因为这两个程序都引用了绝对物理地址,这是我们需要避免的,我们可以把进程需要的地址隔离开来,让操作系统为每个进程分配独立的一套虚拟地址,每个进程都不能访问物理地址,操作系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来,这样不同进程运行的时候,写入的是不同的物理地址,这样就不会冲突了,我们程序所使用的内存地址叫做虚拟内存地址,实际上硬件里面的空间叫做物理内存地址,操作系统引入虚拟内存,进程持有的虚拟地址通过CPU中的内存管理单元的映射关系,来转变为物理地址,然后通过物理地址来访问内存。操作系统通过内存分段和内存分页来管理虚拟地址和物理地址之间的关系。 内存分段:程序是由若干个逻辑分段组成的,不同的段有不同的属性,用分段的形式来分离出来,分段机制下的虚拟地址由段选择子和段内偏移量组成,可以产生连续的内存空间,它的不足之处就是会有内存碎片和内存交换效率低的问题存在,为了解决这个问题,就出现了内存分页。 内存分页:分页是把整个虚拟和物理内存地址切成一段段固定尺寸的大小,这样的一个连续且尺寸固定的内存空间,叫做页,Linux下,一页的大小为4KB,虚拟地址与物理地址通过页表来映射,分页机制下,虚拟地址分为页号和页偏移量,页表包含物理内存的地址,分页存在空间上的缺陷的问题。 段页式内存管理:现将程序划分为多个有逻辑意义的段,接着再把每个段划分为多个页,也就是分段划分出来的连续空间,再划分固定大小的页,地址结构就由段号、段内页号和页内位移组成,增加了硬件成本和系统开销,但是提高了内存的利用率。Linux采用的是段页式内存管理方式,分页管理解决了内存碎片,提高了内存利用率,分段式的储存管理能反映程序的逻辑结构,并且有利于段的共享,得到物理地址经过了三次内存访问,第一次访问段表,得到页表的起始地址,第二次访问页表,得到物理页号,第三次将物理页号和页内位移组合,得到了物理地址。
发表于 2022-07-20 17:47:44 回复(0)
Linux系统采用段页式存储管理,页式存储管理可以提高内存利用率,分段管理可以反应程序的逻辑结果并且有利于段的共享。两者结合起来就是段页式存储管理。首先将用户程序分成若干个段,然后每个段在分若干页。为了从逻辑地址映射到物理地址需要设置段表和页表。段表中至少包含段号、页表长度、页表起始地址。页表至少包含页号和块号。每次先从段中找到页表起始址,再在页表中找到帧号,进而映射成物理地址。
发表于 2022-07-16 11:45:18 回复(0)
Linux系统采用段页式存储管理,页式存储管理可以提高内存利用率,分段管理可以反应程序的逻辑结果并且有利于段的共享。两者结合起来就是段页式存储管理。首先将用户程序分成若干个段,然后每个段在分若干个页。为了从逻辑地址映射到物理地址需要设置段表和页表。段表中至少包含段号、页表长度、页表起始地址。页表至少包含页号和块号。每次先从段中找到页表始址,再在页表中找到帧号,进而映射成物理地址。
发表于 2022-06-12 21:05:54 回复(0)
页式存储、段式存储、断页式存储 页式:提高内存利用率,减少内存碎片 段式:更好的反应程序的逻辑结构 段页式:将程序分为若干个段,将段分为页 程序运行时,找段表,页表,页帧,转换成物理地址
编辑于 2024-03-16 17:14:28 回复(0)
当前的操作系统中内存管理主要是基于段页式的管理方式。在这之前,内存容易产生内部内存碎片也就是分给进程的内存没有用完,虽然这基本是不可避免的,然后还有外部内存碎片,外部内存碎片就是某一些很小的内存块不足以分配给进程使用造成浪费。所以才有了段页式的管理方式,内存页也就是将内存划分为大小固定且相等的块,并且会维护一个块号到实际物理地址的列表。段就是将内存划分为不同大小的段,然后这个是需要主动划分的,其目的主要为为了满足开发者对于应用程序的数据隔离,数据保护的需求,然后内存页的一个很大的应用就是虚拟内存。
发表于 2023-11-02 14:59:20 回复(0)
段页式 把内存当一本书来管理 把内存的逻辑地址类似于书页进行管理和查找
发表于 2023-08-23 11:23:12 回复(0)
问题问的是内存管理,为啥回答Linux系统的内存管理方式啊???😅
发表于 2023-08-11 09:27:22 回复(0)
内存管理其实就是为了更高效的利用计算机的内存资源,毕竟内存很贵。同时,我们要保证各个进程之间不会发生内存的冲突。 所以内存管理主要包括下面几个方面: ● 内存分配与回收,他的目标是尽量减少内存碎片,留下尽可能多的空间给其他进程 ● 虚拟内存:解决物理内存不够用的问题 ● 内存保护:防止进程数据被其他进程篡改
发表于 2023-04-06 20:32:41 回复(0)
内存管理主要负责内存的分配与回收。 连续分配管理(块式管理)和非连续分配管理(页式管理,段式管理) 块式管理:将内存分成固定大小的块。 页式管理:将主存分成大小相等且一页一页的形式,页较小,相对于块,细粒度更小,提高了内存利用率,减少了碎片,但是其中的页没有实际意义。 段式管理:将主存分成一段一段的,段有实际意义,每一个段定义了一个逻辑信息,比如主程度段,子程度段。 段页式管理机制:集合了页式跟段式管理的优势,先将主存分为段,每段又分为若干页。
发表于 2023-03-30 10:46:47 回复(0)
Linux采用段页式内存管理,段是存储可以体现程序逻辑结构便于段共享,页式存储提高内存利用率减少内存碎片。两者结合,linux为每个进程建立段表和页表,段表存放段号,页表起始地址以及长度,页表存放页号和块号,地址转换通过段表找到页表初始地址,最后通过页表找到页帧,完成寻址
发表于 2023-03-17 10:30:25 回复(0)
有分页式管理、分段式管理、段页式管理
发表于 2023-03-01 19:25:08 回复(0)
内存管理是在程序运行时,对计算机内存空间资源的分配技术。作用就是高效快速的分配,并且在必要的时候释放和回收内存资源。主要有四个功能:1内存空间资源的分配回收 2逻辑地址与物理地址的转化 3内存空间的扩充 4内存的保护功能。linux操作系统采用段页式内存管理方式:页式存储管理可以有效的提高内存利用率,段式内存管理能反映程序的逻辑结构并有利于段的共享。将这两种方法结合形成了段页式储存管理方式。段页式储存管理方式是先建好用户程序分成若干个段,再把每个段分成若干页,并为每个段赋予一个段名。
发表于 2023-02-20 21:12:31 回复(0)