美文网首页
存储管理(一)

存储管理(一)

作者: 菜根小友 | 来源:发表于2019-04-03 10:29 被阅读0次

目录

4.1 存储器的工作原理

  • 存储器层次
  • 地址转换与存储保护

4.2 连续存储管理

  • 固定分区存储管理
  • 可变分区存储管理
  • 内存不足的存储管理技术

存储管理是操作系统的重要组成部分,负责管理计算机系统的重要资源——内存。

内存空间一般分为两部分

  • 系统区 用于存放操作系统内核程序和数据结构等。
  • 用户区 用于存放应用程序和数据。

操作系统的主要任务之一是尽可能方便用户使用和提高内存利用率。此外,有效的存储管理也是多道程序设计的关键支撑。具体地说,存储管理包含以下功能:

  • 存储分配 为进程分配内存空间以便运行,完成内存区的分配和去配工作。在虚存管理系统中,由于运行程序部分处于内存,部分位于外存,故不仅涉及内存也涉及外存空间的申请与释放工作

  • 地址映射

  • 程序保护

  • 存储共享

  • 存储扩充

4.1 存储器工作原理

  • 4.1.1 存储器层次

    image.png
  • 4.1.2 地址转换与存储保护

    • 程序的编译、链接、装载和执行


      image.png
  • 编译程序负责记录引用发生的位置,编译或汇编的结果产生相应的多个目标代码模块,每个都附有供引用使用的内部符号表和外部符号表。符号表中依次给出每个符号名及在本目标代码模块中的名字地址,在模块被链接时进行转换。

  • 链接需要解析内部和外部符号表,把对符号名字引用转换为数值引用,要转换每个涉及名字地址的程序入口点和数据引用点成为数值地址。

  • 装入时根据指定的内存块首地址,再次修改和调整被装载模块中的每个逻辑地址,将逻辑地址绑定到物理地址。

链接程序(linker)的作用是根据目标模块之间的调用和依赖关系,将主调模块、被调模块、以及所用到的库函数装配和链接成一个完整的可装载执行模块。
根据程序链接发生的时刻和链接方式,可分成三种:
(1)静态链接
(2)动态链接
(3)运行时链接

装载程序(loader)把可执行程序装入内存方式有三种:

(1)绝对装载。装载模块中的指令地址始终与其内存中的地址相同,即在模块中出现的所有地址都是内存绝对地址。

(2)可重定位装载。根据内存当时使用情况,决定将装载代码模块放入内存的物理位置。模块内使用的地址都是相对地址。

(3)动态运行时装载。为提高内存利用率,装入内存的程序可换出到磁盘上,适当时候再换入到内存中,对换前后程序在内存中的位置可能不同,即允许进程的内存映像在不同时候处于不同位置,此时模块内使用的地址必为相对地址。

可执行程序逻辑地址转换 (绑定)为物理地址的过程称地址重定位 、地址映射或地址转换,基于上述程序装载方式,可区分三种地址重定位。
(1) 静态地址重定位
(2) 动态地址重定位
( 3 ) 运行时链接地址重定位

存储保护
涉及:防止地址越界和控制正确存取。
各道程序只能访问自己的内存区而不能互相干扰,必须对内存中的程序和数据进行保护,以免受到其他程序有意或无意的破坏。可对进程执行时所产生的所有内存访问地址进行检查,确保进程仅访问它自己的内存区,这就是地址越界保护,越界保护依赖于硬件设施,常用的有:界地址和存储键。
进程访问分配给自己的内存区时,要对访问权限进行检查,如允许读、写、执行等,从而确保数据的安全性和完整性,防止有意或无意的误操作而破坏内存信息,这就是信息存取保护。


4.2 连续存储空间管理

4.2.1 固定分区存储管理

  • 固定分区存储管理的基本思想
  • 固定分区存储管理的数据结构
  • 作业进入固定分区排队策略

4.2.2 可变分区存储管理

可变分区存储管理是按作业的实际大小来划分分区,且分区个数也是随机的,实现多个作业对内存的共享,进一步提高内存资源利用率。

image.png

可变分区存储管理数据结构

可变分区内存分配表可由两张表格组成:

  • 已分配区表
  • 未分配区表


    image.png

链表空闲区管理方法

  • 空闲区开头单元存放本空闲区长度及下个空闲区起始地址,把所有空闲区都链接起来,设置第一块空闲区地址指针,让它指向第一块空闲区地址。
  • 申请空闲区。
  • 归还空闲区。

可变分区管理分配算法

  • 最先适应分配算法
  • 下次适应分配算法
  • 最优适应分配算法
  • 最坏适应分配算法
  • 快速适应分配算法
image.png image.png

4.2.3 内存不足的存储管理技术
1.移动技术

image.png

有关移动问题讨论

  • 移动条件
  • 移动时机
  • 移动算法

2. 对换技术

  • 对换的作用
    为平衡系统负载,通过选择一个进程,把其暂时移出到磁盘,腾出空间给其他进程使用,同时把磁盘中的某个进程再换进内存,让其投入运行,这种互换称对换。

  • 对换进程选择
    把时间片耗尽或优先级较低的进程换出,因为短时间内它们不会被投入运行;
    数据区和堆栈是进程运行时创建和修改的,可通过文件系统把这些可变信息作为特殊文件移出。
    批处理系统中,当有进程要求动态扩充内存且得不到满足时可触发对换;分时系统中,对换可与调度结合在一起,每个时间片结束或执行I/O操作时实施。

  • Unix对换器

3. 覆盖技术

  • 覆盖技术
  • 覆盖的实现技术
  • 覆盖技术的不足

相关文章

  • 存储管理(一)

    目录 4.1 存储器的工作原理 存储器层次 地址转换与存储保护 4.2 连续存储管理 固定分区存储管理 可变分区...

  • 内存管理技术

    本文介绍界地址存储管理,页式存储管理,段式存储管理以及段页式存储管理。是不带虚拟功能的哦~ 我们知道,进程在运行前...

  • 操作系统:存储管理(1)

    1 内容 固定分区存储管理 可变分区存储管理 内存扩充技术 分页 段式 段页式 Linux存储管理 Solaris...

  • 4操作系统

    考点分部 进程管理:进程三态图、前趋图、同步与互斥、PV操作、死锁和线程存储管理:分页存储管理、分段存储管理设备管...

  • 存储管理

    一、创建LVM [root@localhost ~]# lsblk 查看磁盘 [root@localhost ~]...

  • 存储管理

    一、主要知识点 基本分区、逻辑卷LVM、EXT3/4/XFS文件系统、RAID 1.1初始硬盘 IDE和SATA的...

  • 操作系统知识点大总汇

    一、操作系统基础知识 操作系统的作用:用户接口、存储管理、文件管理、设备管理、处理机管理。 1.存储管理: 2.处...

  • 软件设计师5--OS存储管理

    存储管理 存储管理的对象时主存(内存)。存储管理的主要功能包括回收主存空间、提高主存利用率、扩充主存、对主存信息实...

  • 计算机二级错题集(背背佳)

    1请求分页或请求分段式存储管理主要采用虚拟存储管理技术。虚拟存储管理技术。 2 筛选可以帮我们隐藏不想看到的信息 ...

  • 操作系统总览

    操作系统的 操作系统的用户界面 进程管理 处理机调度 存储管理 进程和存储管理示例 windows进程和内存管理 ...

网友评论

      本文标题:存储管理(一)

      本文链接:https://www.haomeiwen.com/subject/apnfvqtx.html