【操作系统】基本分段与段页式存储管理方式
发布网友
发布时间:2024-09-26 15:20
我来回答
共1个回答
热心网友
时间:1天前
Hello,大家好,又到了一周一度的操作系统大讲堂,今天接着上回的非连续分配方式进行讲解,上周讲了分页管理方式,这种方式是为了提高内存的利用率,提升计算机的性能。是为了用户考虑。而今天带来的分段管理方式不仅考虑了用户也考虑了程序员,可以满足方便编程,信息保护和共享,动态增长及动态链接等多方的需要。
基本分段存储管理方式
分段管理方式按照用户进程中的自然段划分逻辑空间。假设说,用户进程由主程序,两个子程序,栈和一段数据组成,那么我门可以把这个用户进程划分为5段,每段从0开始编址,并分配一段连续的地址空间,(每个段内都要求连续,段间不要求连续)。此时逻辑地址的组成就变成段号S+段内偏移量W组成。如下图所示:
其中段号为16位,段内偏移量为16位,因此最多有2^16=65536段,最大段长位64kb。
其中,段号,和段内偏移量是需要用户提供的,如果大家学过汇编的话,会发现,汇编语言的编写中,也分了许多的段。这两者其实是类似的。所以说,我们的程序一般会通过汇编变成机器语言原因是,就是汇编程序会对我们所写的程序进行分段,然后送入到内存中。
如果要使用分段管理方式,就得知道逻辑空间与内存空间映射的段表,每个段表项对应进程的某一段,并且记录该段在内存中的始址,和长度。段表的内容如下图:
当有段表的时候,我们的进程可以通过查找段表,找到每段所对应的内存区,从而实现逻辑段到物理段的映射。如下图所示:
当有了上述的数据结构,我们可以自然的实现从逻辑地址到物理地址的变换功能,操作系统设置了段表寄存器,用于放置段表始址F和段表长度M,从逻辑地址A到物理地址E之间的地址变换过程如下:
1)从逻辑地址A中选取前几位为段号S,后几位为段内偏移量W。
2)比较段号S和段表长度M,若S>=M,则产生越界中断,否则继续执行。
3)段表中段号S对应的段表项地址=段表始址F+段号S*段表项长度,取出该段表项的前几位得到段长C。若段内偏移量>=C,则产生越界中断,否则继续执行。
4)取出段表项中该段的始址b,计算E=b+W,用得到的物理地址E去访问内存。
相比于分页的方式,分段方式可以实现段的共享,即可以通过两个作业的段表中相应的表项来指向被共享的段的同一个物理副本来实现的。
段页式管理方式
对于页式存储管理可以有效的提高内存利用率,而分段存储管理能反映程序的逻辑结构并有利于段的共享。将这两种存储管理方法结合起来,可以兼顾两种方式的优点。
在段页式管理中,作业的地址空间首先被分若干逻辑段,每个段都有自己的段号,然后将每个段分为若干大小固定的页,对内存空间的管理依然和分页存储管理一样,将其分为若干和页面大小相同的存储块,对内存的分配以存储块为单位。
在段页式系统中,逻辑地址分为了段号,页号和页内偏移量三个部分:
为了实现地址变换,系统为每个进程建立一张段表,每个分段有一张页表,段表表项中至少包括段号,页表长度和页表始址,页表表项中至少包括页号和块号。操作系统也设置了段表寄存器,指出作业的段表始址和段表长度。
在进行地址变换的时候,首先通过段表查到页表始址,然后通过页表找到页号,最后形成物理地址。具体如下图:
以上就是非连续分配方式的全部内容,下面用一张思维导图进行总结:
采用段式存储管理时,一个程序如何分段是在()时决定的。
A. 分配主存
B. 用户编程
C. 装作业
D. 程序执行
解析:分段需要在用户编程的时候,将程序按照逻辑划分为几个逻辑段,比如说数据段,主程序,子程序。现代编程划分主程序,子程序的原因就是为了方便分段。故选B。
【操作系统】基本分段与段页式存储管理方式
基本分段存储管理方式 分段管理方式按照用户进程中的自然段划分逻辑空间。假设说,用户进程由主程序,两个子程序,栈和一段数据组成,那么我门可以把这个用户进程划分为5段,每段从0开始编址,并分配一段连续的地址空间,(每个段内都要求连续,段间不要求连续)。此时逻辑地址的组成就变成段号S+段内偏...
分布式可视化云系统
上海风华峻极智能科技有限公司【远程会议视频系统】一体化解决方案,如同面对面开会一般,让远程会议更简单,多种会议场景布局,舞台设备厂家,高保真语音的传输,极速快捷远程会议体验,只为高效沟通,支持万人及多房间同时在线.
操作系统——段式存储管理
段式存储管理地址转换过程类似于可变分区方式,根据段表表目中的起始地址和长度确定该段区域。为了克服分段存储管理的缺点,段页式存储管理采用分段结构,各模块可以独立编程。但操作系统在分配内存空间时,不是把一个段分配在一个连续的内存区域,而是把每段再分成等长的若干页,将内存分成和页大小相等的若...
段页式存储管理方式1.基本原理
段页式存储管理方式是一种结合了基本分段和基本分页的存储管理策略。它首先将用户程序划分为多个逻辑段,每个段具有特定的含义和功能。然后,这些段又被进一步细分为多个页,每个页是一个独立的存储区域,大小通常为4KB。段页式系统的关键在于为每个段分配一个唯一的段名,便于管理和访问。例如,考虑一个作业...
分页和分段存储管理相同点是什么
基本分段存储管理方式和基本分页存储管理方式二者的理论基础都是相对差不多的,二者都是建立在内存分区管理思想和程序局部性原理的基础之上。基本分页存储管理方式在存储器管理中,连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销。在分段存储管理...
常用的存储器地址空间分配方法
常用的存储器地址空间有四种分配方式,分别是:连续分配方式、基本分页存储管理方式、基本分段存储管理方式、段页式存储管理方式。地址空间(addressspace)表示任何一个计算机实体所占用的内存大小。比如外设、文件、服务器或者一个网络计算机。地址空间包括物理空间以及虚拟空间。物理存储器和存储地址空间是两个不...
一文读懂存储管理之页式、段式、段页式存储及优缺点
内存管理方式分为页式管理、段式管理和段页式管理。页式管理将进程虚拟空间划分为等长页,建立页表实现地址转换,优点是没有外碎片,每个内碎片不超过页大小,但要求硬件支持,增加了系统开销。段式管理按内容或函数关系分段,每个段对应一个二维虚拟空间,便于共享与保护,但会产生碎片。段页式管理结合了两者...
主存管理 | 段页式存储管理方式
段页式存储管理通过在分段内划分页面,形成段页式存储管理。需要扩充段表的功能。段页式地址结构的程序地址空间,将代码段和数据段等划分为页面,进行分页。在段的一维线性地址空间上添加页后,得到二维地址空间。段页式系统中段表、页表与主存的关系,段表内容变为段号、页表长度、页表起始地址。页表长度和...
基本分页和基本分段存储管理方式的区别是什么
2、“吟”指唱、声调抑扬地念,“秋”代表秋天。把女孩优雅明朗的气质轻轻吟唱出来,带着秋天的温柔,富有诗情画意的古风韵味,让名字既有韵律感也更有意义。3、朝朝暮暮醉相思。4、紫菱、寻凝、傲柏、傲儿、友容、灵枫、尔丝、曼凝、5、心许君兮君知否。6、冰兰、山柏、翠萱、恨松、问旋、...
作业系统考试分页与分段的区别
1.基本思想:分页系统能有效地提高记忆体的利用率,而分段系统能反映程式的逻辑结构,便于段的共享与保护,将分页与分段两种储存方式结合起来,就形成了段页式储存管理方式。在段页式储存管理系统中,作业的地址空间首先被分成若干个逻辑分段,每段都有自己的段号,然后再将每段分成若干个大小相等的页。对于...
在操作系统中,如何理解分页、分段的定义?两者之间的区别又是什么?_百 ...
而物理块是操作系统定好了的。也就是说你的操作系统装完之后,物理块的大小是定了的,从而页的大小也是定了的。而段的长度是不定的。引入分页存储管理方式的目的是提高内存利用率,而引入分段存储是为了满足用户(程序员)在编程和使用上多方面上的要求。还有将两者结合一起的段页式系统。