操作系统学习-20.基本分段储存与虚拟存储器

本文深入探讨了操作系统中的分段存储管理方式,包括其引入原因、基本原理、信息共享、动态链接等。同时介绍了段页式存储管理,通过结合分段和分页的优势,提供更高效的内存管理。虚拟存储器的概念、特征和实现方法也被详细阐述,强调了其多次性、对换性和虚拟性的特点,展示了如何通过局部性原理实现内存的有效利用和逻辑容量的扩展。
摘要由CSDN通过智能技术生成

写在前面

好久没有继续操作系统的学习了,可能是一方面单独听课太无聊了吧。今天开始重新继续这门课的学习(了解),这也体现了写博客的好处嘛,开了这个类别,总得完满才行。现在还有一个想法,为了避免只看书不实践,操作系统的课听完了可以去学习Linux操作系统,正好最近有所接触。

分段存储管理方式的引入

引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要:

  • 方便编程:用户把自己的作业按照逻辑关系划分为若干个段,每个段都是从 0 开始编址,并有自己的名字和长度。因此,希望要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。
  • 信息共享:在实现对程序和数据的共享时,是以信息的逻辑单位为基础的。为了实现段的共享,希望存储管理能与用
    户程序分段的组织方式相适应。
  • 信息保护:信息保护同样是对信息的逻辑单位进行保护,因此,分段管理方式能更有效和方便地实现信息保护功能。
  • 动态增长:在实际应用中,往往有些段,特别是数据段,在使用过程中会不断地增长,而事先又无法确切地知道数据段会增长到多大。分段存储管理方式却能较好地解决这一问题。
  • 动态链接:动态链接是指在作业运行之前,并不把几个目标程序段链接起来。要运行时,先将主程序所对应的目标程序装入内存并启动运行,当运行过程中又需要调用某段时,才将该段(目标程序)调入内存并进行链接。可见,动态链接也要求以段作为管理的单位。

分段系统的基本原理

1.分段
在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例如,有主程序段 MAIN、子程序段 X、数据段 D 及栈段 S 等,如下图所示。每个段都有自己的名字。为了实现简单起见,通常可用一个段号来代替段名,每个段都从 0开始编址,并采用一段连续的地址空间。

段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间由于是分成多个段,因而是二维的,亦即,其逻辑地址由段号(段名)和段内地址所组成。

分段地址结构:
这里写图片描述

分段方式已得到许多编译程序的支持,编译程序能自动地根据源程序的情况而产生若干个段。

2.段表
在前面所介绍的动态分区分配方式中,系统为整个进程分配一个连续的内存空间。在分段式存储管理系统中,则是为每个分段分配一个连续的分区,而进程中的各个段可以离散地移入内存中不同的分区中。

为使程序能正常运行,亦即,能从物理内存中找出每个逻辑段所对应的位置,应像分页系统那样,在系统中为

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值