2.3.2操作系统-存储管理:段式存储、段式存储由来、段式存储和段式调用

2.3.2操作系统-存储管理:段式存储、段式存储由来、段式存储和段式调用

段式存储由来

页式存储将相应的文件切成页式的方式调用到内存。这种方式相对来说对空间的利用率会比较大。

但是在实际调用程序的时候,这个程序文件是否恰好可以切成一些页块大小呢?会不会存在有一些程序文件较大的时候,恰好把一些关联性的切开了?

比如for循环的循环条件和循环体切开了,这种情况是可能发生的。所以可以发现,在页式存储过程中,它只是按大小来进行考虑划分的,并没有实际的考虑问题,所以,为了结合逻辑上的连续性、连贯性,又有了段式存储。

段式存储和段式调用

段式存储会将我们的用户作业、或者是相应的程序文件按照逻辑的自然段来进行划分,这个逻辑自然段,它可能是某一些程序块放在一起,某一些函数块放在一起,某一些变量放在一起,逻辑上是连续的,我们就把它们划分在一个段里,按逻辑的自然段来划分逻辑空间,然后按段调用到内存当中,这个就是段式调用的过程。

一个自然段是不是等长的?不一定,它的长度可以不一样,有长有短,这种情况下,我们不能只记录对应的位置,因为段长不一样,所以在记录的时候必须搞清楚你所划分的这个段有多长,并且由于段长不一致,结束的位置也是不一致的,所以还需要记录它的起始位置,加上段长,从而直到结束位置。

段优点: 可以将某一个常用的函数,放在某一个固定的空间,这个空间可以共享,让很多程序来共享进行调用,各段程序进行修改的时候,只影响当前的自然段,并不会涉及其它的自然段,所以相互修改的时候,改什么就动哪里,对其他程序是互不影响的,因为按逻辑分隔开了。

段缺点: 再调入内存的时候,必须与段的大小刚好,或者超过段的大小才能把这个段调入进去,有一些碎片空间,虽然比页大很多,但是没有段大,这种情况下,碎片空间就会被浪费掉,这样内存的利用率相对而言就低了。

简单概括:
段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。
优点:多道程序共享内容,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大

逻辑段地址(段号,段内偏移量)=基址+偏移量

例题

假设系统采用段式存储管理方法,进程P的段表如下图。逻辑地址(D)不能转换为对应的物理地址;不能转换为对应的物理地址的原因是(C)。

请添加图片描述
A.(0,790)和(2,88)
B.(1,30)和(3,290)
C.(2,88)和(4,98)
D.(0,810)和(4,120)

A.除法运算时除数为0
B.算数运算时有溢出
C.逻辑地址到物理地址的转换时地址越界
D.物理地址到逻辑地址的转换时地址越界

将4个地址分别带入段表去验证,
A.(0,790)和(2,88),(0,790)表示0号段的段内偏移量是790,看段表可知,短长800,所以段内偏移量只要小于800,都是合法段地址,所以D.(0,810)是溢出的,类推,D.(4,120),4号段的偏移量120,超过了段长100,所以D是不合法的。

转换方向有题目可知:逻辑地址()不能转换为对应的物理地址,是逻辑地址到物理地址的转换时地址越界,选C。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
org.quartz-scheduler:quartz:2.3.2是一个Maven坐标,用于引入Quartz任务调度框架的相关依赖。你可以在你的项目中的pom.xml文件中添加如下依赖来引入Quartz 2.3.2版本: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.2</version> </dependency> 这个坐标代表了Quartz框架的版本号为2.3.2,可以通过Maven自动下载相关的jar包。 如果你想查看在你的项目中使用了org.quartz-scheduler:quartz:2.3.2版本后的依赖树,你可以使用命令"mvn dependency:tree"来查看。这个命令会列出项目的所有依赖关系,包括间接依赖。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [org.quartz](https://blog.csdn.net/qq_40144701/article/details/112540359)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [quartz-2.3.2-API文档-中文版.zip](https://download.csdn.net/download/qq_36462452/85549591)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [因为org.quartz-scheduler-quartz定时任务引入版本过高导致项目启动报错问题](https://blog.csdn.net/chengzhan9657/article/details/100839563)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值