精华内容
下载资源
问答
  • 分页存储管理,分段存储管理,段页式存储管理
    千次阅读
    2020-05-04 16:20:12

    概括的挺详细的,然后我加上了纯分页系统和请求式分页系统的基本概念,也对有些部分稍作修改

    一、分页存储管理

    1、基本概念(页面和物理块)

        将一个进程的逻辑地址空间划分成若干大小相等的部分,每一部分称为页或页面(页面的大小通常是2的次幂,大约在512B~4MB之间);同样,将内存空间也划分为与页面大小相同的若干个存储块,即物理块或页框。可将用户的任一页放在内存的任一块中,实现离散分配。
    

    2、分页技术地址结构:

    页号P 页内位移d

    设给定逻辑地址为A,页面大小为L

    页号: P=INT[A/L]

    页内位移: d=[A] MOD L

    举例:

    设某系统的页面大小为1KB,A=3456,则P=3;d=384

    3、页表

        在分页系统中,允许将进程的各个页面离散地装入内存的任何空闲块中,为了能在内存中找到每个页面对应的物理块,系统为每个进程设立一张页面映像表,简称页表。在进程空间内的所有页(0~n-1)依次在页表中有一个页表项,其中记载了相应页面在内存中对应的物理块号。页表的作用是实现从页号到物理块号的地址映射。
    

    页号 块号 存储控制(存储控制用于对该存储块中的内容进行保护)

    0 2

    1 15(F)

    2 14(E)

    3 1

    4、地址转换

    (1) 程序执行时,从PCB中取出页表始址和页表长度(4),装入页表寄存器PTR。

    (2)由分页地址变换机构将逻辑地址自动分成页号和页内地址。

    例:11406D=0010|110010001110B=2C8EH

      页号为2,位移量为C8EH=3214D
    

    或11406 DIV 4096=2

     11406  MOD  4096=3214
    

    (3) 将页号与页表长度进行比较(2<4),若页号大于或等于页表长度,则表示本次访问的地址已超越进程的地址空间,产生越界中断。

    (4)将页表始址与页号和页表长度(页表项所占的内存空间大小,因为计算机是通过计算得到相应的位置,不能一眼看出)的乘积相加,便得到该页表项在页表中的位置。

    (5)取出页描述子得到该页的物理块号。 2 14(E)

    (6) 对该页的存取控制进行检查。

    (7)将物理块号送入物理地址寄存器中,再将有效地址寄存器中的页内地址直接送入物理地址寄存器的块内地址字段中,拼接得到实际的物理地址。

    例:0010|110010001101B

    1110|110010001101B=EC8EH=60558D

    或 14*4096+3214=60558D

    5、快表的地址转换

        页表存放在内存中,使CPU每要存取一个数据,都要两次访问(访问页表,寻找物理块号;访问内存,读写数据);这使计算机的处理速度降低1/2。为提高地址变换速度,可在地址转换机构中增设一个具有并行查寻能力的特殊高速缓冲存储器,又称快表(TLB),用以存放当前访问最频繁的那些少量页表项。
    

    6、纯分页系统

        所谓纯分页系统是指在调度一个作业时,必须把它的所有页一次装入到内存的物理块中,如果当时物理块不足,则该作业必须等待,直到有足够的物理块为止,这时系统可再调度另外的作业
    
        纯分页系统同样有地址转换和快表,和基础分页系统求地址过程差不多
    

    7、请求式分页系统

        是目前常用的一种实现虚拟存储器的方式;基本思想是,作业在运行之前,只把当前需要的一部分页面装入内存,当需要其他页面是,才自动选择一些页交换到辅存,同时调入所需的页到内存中
    

    二、分段存储管理

    1.基本思想

    将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配。

    1. 分段存储方式的引入

    方便编程

    分段共享

    分段保护

    动态链接

    动态增长

    1. 分段地址结构

    作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例程序段、数据段等。每个段都从0开始编址,并采用一段连续的地址空间。

    段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间是二维的。

    15 12 11 0

       段号            段内位移量
    

    段号4位,每个作业最多24=16段,表示段号从00001111(24-1);段内位移量12位,212=4k,表示每段的段内地址最大为4K(各段长度不同),从000000000000111111111111

    1. 段表

    段号 段长 起始地址 存取控制

    0 1K 4096

    1 4K 17500

    2 2K 8192

    1. 地址变换

    (1). 程序执行时,从PCB中取出段表始址和段表长度(3),装入段表寄存器。

    (2). 由分段地址变换机构将逻辑地址自动分成段号和段内地址。

    例:7310D=0001|110010001110B=1C8EH

    段号为1,位移量为C8EH=3214D

    (3). 将段号与段表长度进行比较(1<3),若段号大于或等于段表长度,则表示本次访问的地址已超越进程的地址空间,产生越界中断。

    (4). 将段表始址与段号和段表项长度的乘积相加,便得到该段表项在段表中的位置。

    (5). 取出段描述子得到该段的起始物理地址。1 4K 17500

    (6). 检查段内位移量是否超出该段的段长(3214<4K),若超过,产生越界中断。

    (7). 对该段的存取控制进行检查。

    (8). 将该段基址和段内地址相加,得到实际的物理地址。

    例:0001|110010001101B

    起始地址17500D+段内地址3214D=20714D

    三、分页与分段的主要区别

    分页和分段有许多相似之处,比如两者都不要求作业连续存放.但在概念上两者完全不同,主要表现在以下几个方面:

    (1)页是信息的物理单位,分页是为了实现非连续分配,以便解决内存碎片问题,或者说分页是由于系统管理的需要.段是信息的逻辑单位,它含有一组意义相对完整的信息,分段的目的是为了更好地实现共享,满足用户的需要.

    (2)页的大小固定,由系统确定,将逻辑地址划分为页号和页内地址是由机器硬件实现的.而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分.

    (3)分页的作业地址空间是一维的.分段的地址空间是二维的.

    四、段页式存储管理

    1.基本思想:

    分页系统能有效地提高内存的利用率,而分段系统能反映程序的逻辑结构,便于段的共享与保护,将分页与分段两种存储方式结合起来,就形成了段页式存储管理方式。

    在段页式存储管理系统中,作业的地址空间首先被分成若干个逻辑分段,每段都有自己的段号,然后再将每段分成若干个大小相等的页。对于主存空间也分成大小相等的页,主存的分配以页为单位。

    段页式系统中,作业的地址结构包含三部分的内容:段号 页号 页内位移量

    程序员按照分段系统的地址结构将地址分为段号与段内位移量,地址变换机构将段内位移量分解为页号和页内位移量。

    为实现段页式存储管理,系统应为每个进程设置一个段表,包括每段的段号,该段的页表始址和页表长度。每个段有自己的页表,记录段中的每一页的页号和存放在主存中的物理块号。

    2.地址变换的过程:

    (1)程序执行时,从PCB中取出段表始址和段表长度,装入段表寄存器。

    (2)由地址变换机构将逻辑地址自动分成段号、页号和页内地址。

    (3)将段号与段表长度进行比较,若段号大于或等于段表长度,则表示本次访问的地址已超越进程的地址空间,产生越界中断。

    (4)将段表始址与段号和段表项长度的乘积相加,便得到该段表项在段表中的位置。

    (5)取出段描述子得到该段的页表始址和页表长度。

    (6)将页号与页表长度进行比较,若页号大于或等于页表长度,则表示本次访问的地址已超越进程的地址空间,产生越界中断。

    (7)将页表始址与页号和页表项长度的乘积相加,便得到该页表项在页表中的位置。

    (8)取出页描述子得到该页的物理块号。

    (9)对该页的存取控制进行检查。

    (10)将物理块号送入物理地址寄存器中,再将有效地址寄存器中的页内地址直接送入物理地址寄存器的块内地址字段中,拼接得到实际的物理地址。

    五、在网上找到了一个比较形象的比喻,挺不错的,呵呵,列出来如下:

    打个比方,比如说你去听课,带了一个纸质笔记本做笔记。笔记本有100张纸,课程有语文、数学、英语三门,对于这个笔记本的使用,为了便于以后复习方便,你可以有两种选择。

    第一种是,你从本子的第一张纸开始用,并且事先在本子上做划分:第2张到第30张纸记语文笔记,第31到60张纸记数学笔记,第61到100张纸记英语笔记,最后在第一张纸做个列表,记录着三门笔记各自的范围。这就是分段管理,第一张纸叫段表。

    第二种是,你从第二张纸开始做笔记,各种课的笔记是连在一起的:第2张纸是数学,第3张是语文,第4张英语……最后呢,你在第一张纸做了一个目录,记录着语文笔记在第3、7、14、15张纸……,数学笔记在第2、6、8、9、11……,英语笔记在第4、5、12……。这就是分页管理,第一张纸叫页表。你要复习哪一门课,就到页表里查寻相关的纸的编号,然后翻到那一页去复习
    六、虚拟内存的置换算法
    1、先进先出页面置换算法

        总是选择在内存中停留最长的页淘汰,即先进入内存的页先被换出内存
    

    2、最佳页面置换算法

        当调入一个新的页面必须预先淘汰某个老页面时,所选择的老页面应是将来不再被使用,或者是在很久以后才被使用的页面。采用这种算法,理论上能保证有最少的缺页率,但无法实现,因为它需要人们预先知道作业整个运行期间的页面走向情况。
    

    3、最近最少使用页面置换算法

        根据页面调入内存后的使用情况,选择最近最少使用的页面予以淘汰。
    

    4、第2此机会页面置换算法

        对最老页面的R位进行检查,如果R位是0,那么这个页既老又没用,可立即被置换掉,如果R位是1,就清除掉这个位,并将该页放到链表的尾端,修改它的装入时间就像刚装入一样
    

    5、时钟页面置换算法

        把所有页面都保存在一个类似时钟表面的环形链表中,用一个指针指向最老的页面。当发生缺页中断时,算法检查指针指向的页面,如果R位是0就淘汰掉这页,并把新页插入这个位置,再把指针前移一个位置;是1,就清除R位并把指针前移一个位置
    
    更多相关内容
  • 段页式存储管理地址转换 广工操作系统实验三
  • 目录页式存储管理段式存储管理分页和分段存储管理的主要区别段页式存储管理 页式存储管理 1. 基本原理 页式存储管理是把主存储器划分成大小相等的若干区域,每个区域称为一块,并对它们加以顺序编号,如0#块、1#块...

    页式存储管理

    1. 基本原理

    页式存储管理是把主存储器划分成大小相等的若干区域,每个区域称为一,并对它们加以顺序编号,如0#块、1#块等等。与此对应,用户程序的逻辑地址空间划分成大小相等的若干,同样为它们加以顺序编号,从0开始,如第0页、第1页等。 页的大小与块的大小相等。
    分页式存储管理的逻辑地址由两部分组成:页号和页内地址。其格式为:
    在这里插入图片描述

    2. 存储空间的分配与去配
    分页式存储管理把主存空间划分成若干块,以块为单位进行主存空间的分配。由于块的大小是固定的,系统可以采用一张主存分配表来记录已分配的块、尚未分配的块以及当前剩余的空闲块总数。最简单的办法可用一张“位示图”来记录主存的分配情况。
    例如主存的用户区被划分成512块,则可用字长为32位的16个字的位示图来构成一张主存分配表,位示图中的每一位与一个物理块对应,用0/1表示对应块的占用标志(空闲/已占用),另用一个字节记录当前系统的剩余空闲块总数。
    在这里插入图片描述
    进行主存分配时,首先查看空闲块总数是否能够满足作业要求,若不能满足,则不进行分配;若能满足,则从位示图中找出为“0”的位,并且将其占用标志置为“1”,并从空闲块总数中减去本次占用的块数,按找到的位计算出对应的块号,建立该作业的页表,并把作业装入对应的物理块中。
    由于每一块的大小相等,在位示图中查找到一个为“0”的位后,根据它所在的字号、位号,按如下公式可计算出对应的块号:
    块号=字号×字长+位号
    当一个作业执行结束时,则应该收回作业所占的主存块。根据归还的块号计算出该块在位示图中对应的位置,将占用标志修改为“0”,同时把归还块数加入到空闲块总数中。假定归还块的块号为i,则在位示图中对应的位置为:
    字号=[ i / 字长 ], 位号=i mod 字长
    其中[ ]表示对i除以字长后取其整数,而mod表示对i除以字长后取其余数部分。

    3. 页表与地址转换
    在分页式存储管理系统中,允许将作业的每一页离散地存储在主存的物理块中,但系统必须能够保证作业的正确运行,即能在主存中找到每个页面所对应的物理块。为此,系统为每个作业建立了一张页面映像表,简称页表。页表实现了从页号到主存块号的地址映像。作业中的所有页(0~n)依次地在页表中记录了相应页在主存中对应的物理块号。页表的长度由进程或作业拥有的页面数决定。
    在这里插入图片描述
    调度程序在选择作业后,将选中作业的页表始址送入硬件设置的页表控制寄存器中。地址转换时,只要从页表寄存器中就可找到相应的页表。当作业执行时,分页地址变换机构会自动将逻辑地址分为页号和页内地址两部分,以页号位索引检索页表,如果页表中无此页号,则产生一个“地址错”的程序性中断事件;如果页表中有此页号,则可得到对应的主存块号,再按逻辑地址中的页内地址计算出欲访问的主存单元的物理地址。因为块的大小相等,所以
    物理地址=块号×块长+页内地址
    在这里插入图片描述

    4. 总结

    • 目的
      减少分区管理的“碎片”,提高内存利用率。
    • 实现原理
      各个进程的虚拟空间被划分为若干个长度相等的页,并为各页加以编号,如第0页、第1页等 ;
      内存空间也按相同的页大小划分为存储块,称为(物理)块或页框(frame), 也同样为它们加以编号,如0#块、1#块等等。
      为进程分配内存时,以块为单位将进程的若干个页分别装入到多个可以不相邻接的物理块中。
      采用页表进行页和块的一一对应。
      在这里插入图片描述

    段式存储管理

    用户编制的程序是由若干组成的:一个程序可以由一个主程序、若干子程序、符号表、栈以及数据等若干段组成。每一段都有独立、完整的逻辑意义,每一段程序都可独立编制,且每一段的长度可以不同。
    段式存储管理支持用户的分段观点,具有逻辑上的清晰和完整性,它以段为单位进行存储空间的管理。

    1. 原理
    每个作业由若干个相对独立的段组成,每个段都有一个段名,为了实现简单,通常可用段号代替段名,段号从“0”开始,每一段的逻辑地址都从“0”开始编址,段内地址是连续的,而段与段之间的地址是不连续的。
    其逻辑地址由段号和段内地址两部分所组成:
    在这里插入图片描述

    2. 空间的分配与去配
    分段式存储管理是在可变分区存储管理方式的基础上发展而来的。在分段式存储管理方式中,以段为单位进行主存分配,每一个段在主存中占有一个连续空间,但各个段之间可以离散地存放在主存不同的区域中。为了使程序能正常运行,即能从主存中正确找出每个段所在的分区位置,系统为每个进程建立一张段映射表,简称“段表”。每个段在表中占有一个表项,记录该段在主存储器中的起始地址和长度。段表实现了从逻辑段到主存空间之间的映射。
    在这里插入图片描述
    如果在装入某段信息时找不到满足该段地址空间大小的空闲区,则可采用移动技术合并分散的空闲区,以利于大作业的装入。
    当采用分段式存储管理的作业执行结束后,它所占据的主存空间将被回收,回收后的主存空间登记在空闲分区表中,可以用来装入新的作业。系统在回收空间时同样需要检查是否存在与回收区相邻的空闲分区,如果有,则将其合并成为一个新的空闲分区进行登记管理。
    段表存放在主存储器中,在访问一个数据或指令时至少需要访问主存两次以上。为了提高对段表的存取速度,通常增设一个相联寄存器,利用高速缓冲寄存器保存最近常用的段表项。

    3. 地址转换与存储保护
    段式存储管理采用动态重定位方式装入作业,作业执行时通过硬件的地址转换机构实现从逻辑地址到物理地址的转换工作,段表的表目起到了基址寄存器和限长寄存器的作用,是硬件进行地址转换的依据。
    在这里插入图片描述

    分页和分段存储管理的主要区别

    分页和分段系统都采用离散分配主存方式,都需要通过地址映射机构来实现地址变换,有许多相似之处。但两者又是完全不同的。具体表现如下。

    • 页是信息的物理单位,是系统管理的需要而不是用户的需要;而段则是信息的逻辑单位,它含有一组意义相对完整的信息,分段是为了更好地满足用户的需要。
    • 页的大小固定且由系统决定,因而一个系统只能有一种大小的页面;而段的长度却不固定,由用户所编写的程序决定,通常由编译程序对源程序进行编译时根据信息的性质来划分。
    • 分页式作业的地址空间是一维的,页间的逻辑地址是连续的;而分段式作业的地址空间则是二维的,段间的逻辑地址是不连续的。

    段页式存储管理

    段式存储管理支持了用户的观点,但每段必须占据主存储器的连续区域,有可能需要采用移动技术汇集主存空间,为此,兼用分段和分页的方法,构成可分页的段式存储管理,通常被称为是“段页式存储管理”。段页式存储管理兼顾了段式在逻辑上的清晰和页式在管理上方便的优点。

    1. 原理
    用户对作业采用分段组织,每段独立编程,在主存空间分配时,再把每段分成若干个页面,这样每段不必占据连续的主存空间,可把它按页存放在不连续的主存块中。
    段页式存储管理的逻辑地址格式如下:
    在这里插入图片描述
    段页式存储管理为每一个装入主存的作业建立一张段表,且对每一段建立一张页表。段表的长度由作业分段的个数决定,段表中的每一个表目指出本段页表的始址和长度。页表的长度则由对应段所划分的页面数所决定,页表中的每一个表目指出本段的逻辑页号与主存物理块号之间的对应关系。
    在这里插入图片描述

    2. 地址转换机制
    执行指令时,地址机构根据逻辑地址中的段号查找段表,得到该段的页表始址,然后根据逻辑地址中的页号查找该页表,得到对应的主存块号,由主存块号与逻辑地址中的页内地址形成可访问的物理地址。如果逻辑地址中的段号超出了段表中的最大段号或者页号超出了该段页表中的最大页号,都将形成“地址越界”的程序性中断事件。
    可以看出,由逻辑地址到物理地址的变换过程中,需要三次访问主存,第一次是访问主存中的段表,获得该段对应页表的始址,第二次是访问页表,获得指令或数据的物理地址,最后再按物理地址存取信息。
    在这里插入图片描述

    3. 特点

    • 每一段分为若干页,再按页式管理,页间不要求连续;
    • 用分段方法分配管理作业或进程,用分页方法分配管理内存;
    • 兼有段式和页式管理的优点,系统复杂性和开销增大.
    展开全文
  • 页式存储管理 什么是页面 字块是相对于内存条物理设备的定义,而页面是相对于逻辑空间的定义,即相对于进程的空间的定义,字块和页面指的都是大小一样的一块内存。 页式存储管理会把进程的逻辑空间等分成若干个大小...

    从进程的角度来理解进程的存储管理即操作系统是如何管理进程的内存空间

    下面的三个方法都是针对进程的空间进行内存管理的。

    页式存储管理

    什么是页面
    字块是相对于内存条物理设备的定义,而页面是相对于逻辑空间的定义,即相对于进程的空间的定义,字块和页面指的都是大小一样的一块内存。

    页式存储管理会把进程的逻辑空间等分成若干个大小的页面,相应的也会把物理内存空间分成与页面大小一样的物理块。然后以页面为单位把进程空间装进物理内存中分散的物理块中。如果有一段连续的逻辑分散在多个页面中,将大大降低执行的效率。

    通常联系内存碎片一起来理解
    假设空闲链表:节点1<=>节点2-3<=>节点4
    它的容积范围:1<=>2<=>1
    此时页面的大小为1.5,它比节点1大,比节点2-3小,因此分配页面时则会把它分配到节点2-3这个节点。此时就会导致剩下的2-1.5=0.5的这一块是无法被页面所使用的,就造成了内存碎片的存在。

    使用页式存储时,需要注意页面大小适中,过大导致难以分配,过小会造成内存碎片过多。一般来说页面大小是512B~8K

    通过页式存储管理可以把进程逻辑空间的每个页面放到内存的物理块里面,如何知道进程的某一个页面分配到具体的内存里哪一个物理块?

    页表是记录进程逻辑空间与物理空间的映射关系表

    页面12345
    字块135711

    页面保存在内存不同的字块中,上表说明了页面1保存在第一个字块里,页面2保存在第三个字块里面等

    页式存储管理地址也是分为两个部分的,第1部分为页号,第2部分页内偏移页号相当于字块,页内偏移相当于字块的字内偏移。

    如果直接使用页式存储管理,也会遇到一些问题。
    现代计算机中可以支持非常大的逻辑地址空间(232~264),如此一来,页表就占用非常大的内存空间。如具有32位逻辑地址空间的分页系统,规定页面大小为4kb,则在每个进程页表中的页表项就可以达到1M(220)个,如果每个页表项占用1Byte,那么仅每个进程的页表就要占用1MB的内存空间。
    32位系统进程的寻址空间为4G,页表项为4G/4KB=220
    在这里插入图片描述
    图片来源:慕课网实战课程《编程必备基础》
    因此在这种情况下会出现多几页表,多级页表首先有一个根页表,页表里的每一个字块指向的地址是内存里面的一片空间,这个空间存储的是二级页表,假设每个2级页表有1024项,每一项指向的字块才是进程实际使用的内存。页表可以指向多个二级页表,这样可以大大减少进程的页表数所使用的空间,运行时只需要把跟页表加载到内存里面。如果说调用某一个字块发现二级页表没有在内存里面,这时再把二级页表加载到内存里,这样可以按需取用页表,节省内存空间。

    段式存储管理

    使用页式存储管理,如果有一段连续的逻辑分散在多个页面中,将大大降低执行的效率。因此有了段式存储管理这一方法。

    段式存储管理会将进程的逻辑空间划分成若干段(非等分),段的长度由进程的连续逻辑长度决定,比如主函数、各个子函数等

    段式存储管理同样需要段表来保存逻辑空间到物理空间的映射。
    段表
    图片来源:慕课网
    上图由于每一段长度都是不固定的,因此段表相对于页表多一项段长的数据。每一个段表有三个基本内容,段号、段的起始地址、段的段长。段式存储管理的段地址分为段号和段内偏移。

    比较页式存储管理和段式存储管理

    1. 他们都离散的管理了进程的逻辑空间
    2. 页是物理单位,主要从物理角度划分;段是逻辑单位,主要从进程的逻辑划分
    3. 分页是为了合理的利用空间,分段是为了满足用户需求
    4. 页的大小由硬件固定,段的大小是动态可变化
    5. 页表信息一维,段表信息二维(需要记录基址和段长)

    段页式存储管理

    采用前两种方法的优点
    分页可以有效提高内存利用率,分段可以更好满足用户需求。

    先把进程的逻辑空间按段式管理分成若干段,再把段内空间按照页式管理等分若干页

    页地址分为页号和页内偏移,段地址分为段号和段内偏移。段页地址结合前两者形成段页地址。它分为段号,段内页号,页内地址

    展开全文
  • 一、段式存储管理 1、分段 进程的地址空间:按照程序自身的逻辑关系划分为若干个,每个都有一个名(在低级语言中,程序员使用名来编程),每从0开始编址。 内存分配规则:以段为单位进行分配,每...

    一、段式存储管理

    1、分段

    • 进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址。

    • 内存分配规则:以段为单位进行分配,每个段在内存中占连续空间,但各段之间可以不相邻。

    • 分段系统的逻辑地址结构由段号(段名)和段内地址(段内偏移量)所组成。

    2、段表

    • 每一个程序设置一个段表,放在内存,属于进程的现场信息

     资料直通车:Linux内核源码技术学习路线+视频教程内核源码

    学习直通车Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈

    3、地址变换

    4、段的保护

    • 越界中断处理

    1.进程在执行过程中,有时需要扩大分段,如数据段。由于要访问的地址超出原有的段长,所以发越界中断。操作系统处理中断时 ,首先判断该段的“扩充位”,如可扩充,则增加段的长度;否则按出错处理

    • 缺段中断处理

    1. 检查内存中是否有足够的空闲空间 ①若有,则装入该段,修改有关数据结构,中断返回 ②若没有,检查内存中空闲区的总和是否满足要求,是则应采用紧缩技术,转 ① ;否则,淘汰一(些)段,转①

    5、段的动态连接

    1. 为何要进行段的动态链接?

    2. 大型程序由若干程序段,若干数据段组成

    3. 进程的某些程序段在进程运行期间可能根本不用

    4. 互斥执行的程序段没有必要同时驻留内存

    5. 有些程序段执行一次后不再用到

    6. 静态链接花费时间,浪费空间

    • 在一个程序运行开始时,只将主程序段装配好并调入主存。其它各段的装配是在主程序段运行过程中逐步进行的。每当需要调用一个新段时,再将这个新段装配好,并与主程序段连接。 页式存储管理:难以完成动态链接,其逻辑地址是一维的

    6、信息的保护与共享

    • 这里主要与页式存储管理进行一下对比。

    • 分段比分页更容易实现信息的共享和保护。

    • 纯代码举例:比如,有一个代码段只是简单的输出“Hello World!”。

    7、页式系统与段式系统的对比

    • 补充:

    • 段长是可变的,页的大小是固定的。

    1. 分段存储:段内地址W字段溢出将产生越界中断。

    2. 分页存储:段内地址W字段溢出会自动加入到页号中。

    8、总结

    二、段页式存储管理

    1、分页、分段的有缺点分析

    2、基本思想

    • 用户程序划分:按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段)

    • 逻辑地址:

    • 内存划分:按页式存储管理方案

    • 内存分配:以页为单位进行分配

    3、逻辑地址结构

    4、段表页表

    5、地址转换

    6、评价

    • 优点:

    1. 保留了分段和请求分页存储管理的全部优点

    2. 提供了虚存空间,能更有效利用主存

    • 缺点:

    1. 增加了硬件成本

    2. 系统复杂度较大

    7、总结

     

    展开全文
  • 请求分页存储管理Python实现源代码+课设报告文档-海南大学信息学院操作系统课设。请求分页存储管理Python实现源代码+课设报告文档-海南大学信息学院操作系统课设。
  • 用分段方法来分配和管理虚拟存储器,用分页方法来分配和管理实存储器(即主存)。 地址空间 一个程序首先被划分成若干程序,每一给予不同的分段标识符,然后,对每一分段又分成若干个固定大小的页面。 如上图所...
  • Visual Studio 2008,MFC,操作系统课程设计,段页式存储管理。。。。
  • 段页式存储管理方式详解

    万次阅读 多人点赞 2020-05-12 15:34:32
    段页式存储管理方式详解分段存储方式引入目的:基本原理分段表地址变换机构信息保护信息共享分页与分段的主要区别:段页式存储管理方式引入原因:基本原理表与页表地址变换机构 分段存储方式 引入目的: 满足用户在...
  • 操作系统 请求段页式存储管理

    千次阅读 2020-12-24 12:19:44
    请求段页式存储管理是建立在段页式存储管理基础上的一种段页式虚拟存储管理。 根据段页式存储管理的思想,请求段页式存储管理首先按照程序自身的逻辑结构,将其划分为若干个不同的分段,在每个内则按页的大小划分...
  •  分页存储管理 1.基本思想 用户程序的地址空间被划分成若干固定大小的区域,称为“”,相应地,内存空间分成若干个物理块,和块的大小相等。可将用户程序的任一放在内存的任一块中,实现了离散分配。 1) ...
  • 段页式存储管理方式是对两种存储管理方式的“各取所长”,既具有分段系统的便于实现、分段可共享、易于保护、可动态链接等一系列优点,又能像分页系统那样,很好地解决内存的外部碎片问题。 二、基本思想——先...
  • 段页式存储管理+例题

    千次阅读 2021-04-29 11:07:11
    例:在一个采用段页式存储管理的系统中,页的大小为1KB。某个正在执行的作业情况如下: (1)请给出将逻辑地址(2,3500)转换成物理地址的过程; (2)计算出上述逻辑地址对应的物理地址的值。 二级目录 三级目录 ....
  • 基本分页存储管理方式 离散分配内存: 作业规定大小划分成小份;内存也按同样大小划分成小份 作业的任一小份可分散放入内存任意未使用的小份 分页方式下,内存的使用率高,浪费少。但不是绝对没有碎片(进程的最后一...
  • 段页式存储管理

    千次阅读 2018-05-13 11:35:34
    编写并调试一个段页式存储管理的地址转换的模拟程序。 首先设计好段表、页表,然后给出若干个有一定代表性的地址,通过查找表页表后得到转换的地址。 要求打印转换前的地址,相应的表,页表条款及转换后的地址,...
  • 段页式存储管理 上一节,从物理内存角度讲述了内存管理,这一节,将会从进程的角度来讲述一下存储管理。 所以,我们思考一下,操作系统是怎么去管理进程的内存空间的呢? 一共有三种管理模式,我会一一来介绍: 1. ...
  • 本次课程设计采用一些常用的存储器分配算法,设计一个请求页式存储管理模拟系统并调试运行。通过随机数产生一个指令序列,将指令序列变成为页地址流,计算并输出下述各种算法在不同内存容量下的命中率。
  • 4.5 段页式存储管理 分段与分页的对比 (1) 用户地址空间的...用户可见 用户不可见 段页式存储管理 在式存储管理中结合分页存储管理技术在一个分段内 划分页面就形成了段页式存储管理 ? 段页式的逻辑地址结构 图 4-18
  • 【操作系统知识】段页式存储管理

    千次阅读 2021-09-07 17:00:09
    分页与分段的区别 1.是信息的物理单位,是系统管理的需要而不是用户的需要;而是信息的逻辑单位,分段是为了更好地满足用户的需要 2.的大小固定且由系统决定,一个系统只能有一种...段式存储管理 :用户
  • 该作业有三个,页面大小为4 KB。在段页式系统中,其地址结构由段号、内页号及页内地址三部分所组成,如下图所示。
  • 页式存储: ...段页式存储: 先查表,通过段号确定页表地址。找到页表之后,通过页号确定内存块号地址(页框)因为每个大小不一样,要判断页号是否越界。然后通过偏移地址在块内找到要找到信息。 ...
  • 存储管理段页式存储管理

    万次阅读 多人点赞 2018-06-24 10:33:36
    分页与分段的区别 1.是信息的物理单位,是系统管理的需要而不是用户的需要;而是信息的逻辑单位,分段是为了更好地满足用户的需要 2.的大小固定且由系统决定,一个...段式存储管理 :用户编制的程序可以...
  • 该作业有三个,页面大小为4 KB。在段页式系统中,其地址结构由段号、内页号及页内地址三部分所组成。
  • 设计和实现一个段页虚拟存储管理系统的模型。 系统包含两个部分,一个部分是按内核代码原则设计的固定分区分配存储管 理系统,由一系列的函数组成;另一个部分是演示系统,调用固定分区分配存储 管理系统的相应函数...
  • 分段存储管理:作业分成若干,各可离散放入内存,内仍连续存放。 ①方便编程:如汇编中通过:偏移确定数据位置 ②信息共享:同地位的数据放在一块方便进行共享设置 ③信息保护 ④动态增长:动态增长的数据...
  • 一、页式存储管理 ◆ 字块是相对物理设备的定义 ◆ 页面则是相对逻辑空间的定义 ◆ 将进程逻辑空间等分成若干大小的页面 ◆ 相应的把物理内存空间分成与页面大小的物理块 ◆ 以页面为单位把进程空间装进物理内存中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 251,908
精华内容 100,763
关键字:

段页式存储管理

友情链接: CCS123.rar