版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础Chapter 3存储管理江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础内容提要内容提要3.1 3.1 概述概述 3.2 3.2 连续空间分配连续空间分配3.3 3.3 不连续空间分配不连续空间分配3.4 3.4 虚拟存储管理虚拟存储管理3.5 3.5 小结小结 江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础 计算机的存储层次:计算机的存储层
2、次:寄存器寄存器内存内存外存外存容量容量速度速度成本成本大大小小低低高高高高低低利用当前正在使用的信息总是少量的原理(局部性)实现:利用当前正在使用的信息总是少量的原理(局部性)实现:存储器的性能与价格的权衡。存储器的性能与价格的权衡。高高低低频度频度5.1 概述-1江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础512MB-4GB1-128MBss6101sms3101sns910140GB-120GB5.1 概述-2江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件
3、技术基础存储系统的使用和管理RegistersCacheMMDiskCPU的计算数据的计算数据正在访问的数据和指令正在访问的数据和指令进程的执行映像进程的执行映像程序和数据文件程序和数据文件编译程序安排寄存器的使用编译程序安排寄存器的使用硬件实现的数据替换算法硬件实现的数据替换算法操作系统的存储管理和文件管理操作系统的存储管理和文件管理5.1 概述-3江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l寄存器:小寄存器:小-固定固定-硬件管理,解决硬件管理,解决cpu和内存速度不匹和内存速度不匹配配l内存:内存:u和外存不同和外
4、存不同u有限且宝贵有限且宝贵: 程序程序-内存内存-CPU-I/O,程序不断扩大和,程序不断扩大和并发并发.u要求有一定的速度和容量,但速度比要求有一定的速度和容量,但速度比CPU低、容量赶不低、容量赶不上应用程序的发展。上应用程序的发展。RAM 为系统性能的瓶颈。为系统性能的瓶颈。u管理管理RAM: 解决速度和容量不足问题。解决速度和容量不足问题。(OS) (hardware:Cache , secondary memory)l外存:外存:5.1 概述-4江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l内存管理u冯.偌依曼
5、体系结构l内存管理的目标:方便、效率、安全l研究内容u取u放连续不连续u替换虚拟内存技术5.1 概述-5江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础 用户程序区用户程序区OS0N管理用户程序区管理用户程序区5.1 概述-6江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l存储管理的功能存储管理的功能u主存空间的分配和去配主存空间的分配和去配分配:为要执行的进程分配全部或部分内存分配:为要执行的进程分配全部或部分内存去配:一个进程撤离或执行完成后,收回存储空
6、间去配:一个进程撤离或执行完成后,收回存储空间u实现地址转换实现地址转换 程序程序 -(编译)(编译)-EXE-(装入)装入)-RAM逻辑地址:程序地址、虚拟地址等逻辑地址:程序地址、虚拟地址等 物理地址:绝对地址,内存地址物理地址:绝对地址,内存地址 逻辑地址逻辑地址-物理地址:物理地址:CPU执行程序时按物理地址访执行程序时按物理地址访问主存问主存 5.1 概述-7江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础库链接程序装入模块装入程序编译程序产生的目标模块第一步第二步第三步内存5.1 概述-8江苏科技大学江苏科技大学
7、计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础Program0mRAM0nCPU重定位重定位逻辑地址:程序地址逻辑地址:程序地址 0-m物理地址:内存地址物理地址:内存地址 0-n 。一般按字节编址,。一般按字节编址, 4G逻辑地址转换成物理地址的工作称为逻辑地址转换成物理地址的工作称为重定位。重定位。5.1 概述-9江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l重定位的方式:静态重定位和动态重定位重定位的方式:静态重定位和动态重定位 u静态重定位静态重定位。在装入一个程序时,把
8、程序中的指令和数。在装入一个程序时,把程序中的指令和数据的地址全部转换成内存地址。由于地址转换在执行前集据的地址全部转换成内存地址。由于地址转换在执行前集中完成,所以在运行过程中就无需再进行地址转换工作,中完成,所以在运行过程中就无需再进行地址转换工作,这种地址转换方式称为这种地址转换方式称为“静态重定位静态重定位” u静态重定位特点。静态重定位特点。实现简单,不需要硬件支持。实现简单,不需要硬件支持。无法实现虚拟存储器无法实现虚拟存储器占用连续的内存空间,无法共享代码和程序占用连续的内存空间,无法共享代码和程序5.1 概述-10江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学
9、院 黄树成黄树成计算机软件技术基础计算机软件技术基础12408程序空间程序空间100224108内存空间内存空间+ 32323645+1 概述-11江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l动态重定位。在装入程序时,不进行地址转换。而是直接把动态重定位。在装入程序时,不进行地址转换。而是直接把程序装入到分配的主存中。在程序执行过程中,每当执行一条程序装入到分配的主存中。在程序执行过程中,每当执行一条指令时都由硬件的地址转换机构将指令中的逻辑地址转换成绝指令时都由硬件的地址转换机构将指令中的逻辑
10、地址转换成绝对地址。这种方式的地址转换是在程序执行是完成的,故称为对地址。这种方式的地址转换是在程序执行是完成的,故称为“动态重定位动态重定位”l动态重定位的特点动态重定位的特点u依靠硬件基址寄存器依靠硬件基址寄存器BR和逻辑地址寄存器和逻辑地址寄存器VR等实现。等实现。CPU执行指令时,将执行指令时,将BR+VR得到内存地址。得到内存地址。u支持虚拟存储。支持虚拟存储。u不要求连续内存,可以实现共享程序段和代码。不要求连续内存,可以实现共享程序段和代码。u执行过程中转化需要时间等。执行过程中转化需要时间等。5.1 概述-12江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院
11、黄树成黄树成计算机软件技术基础计算机软件技术基础12408程序空间程序空间100224108内存空间内存空间+ 32323645+ 321323645装入内存时装入内存时5.1 概述-13江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础CPU逻辑地址逻辑地址32+100基址寄存器基址寄存器绝对地址绝对地址132地址转换地址转换5.1 概述-14江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础Review 内存管理 目标 高效、安全、方便 功能 分配 地址转换-
12、重定位 静态 动态江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础u主存空间的共享和保护主存空间的共享和保护 共享:提高内存的效率。若干进程共享主存,若干进共享:提高内存的效率。若干进程共享主存,若干进程共享内存中的同一代码或数据程共享内存中的同一代码或数据 保护:若干进程共享主存容易产生干扰和破坏。系统保护:若干进程共享主存容易产生干扰和破坏。系统保护和用户程序的保护保护和用户程序的保护 u主存空间的扩充:虚拟存储技术主存空间的扩充:虚拟存储技术5.1 概述-15江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程
13、学院 黄树成黄树成计算机软件技术基础计算机软件技术基础u主存空间的共享和保护主存空间的共享和保护 共享:提高内存的效率。若干进程共享主存,若干进共享:提高内存的效率。若干进程共享主存,若干进程共享内存中的同一代码或数据程共享内存中的同一代码或数据 保护:若干进程共享主存容易产生干扰和破坏。系统保护:若干进程共享主存容易产生干扰和破坏。系统保护和用户程序的保护保护和用户程序的保护 u主存空间的扩充:虚拟存储技术主存空间的扩充:虚拟存储技术5.1 概述-16江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础操作系统操作系统固定区固定
14、区(4k)(4k)覆盖区覆盖区(6k)(6k)覆盖区覆盖区(10k)(10k)A(4k)A(4k)E(10k)E(10k)D(6k)D(6k)C(4k)C(4k)B(6k)B(6k)F(8k)F(8k)覆盖(overlap):因内存小于作业的程序空间而引入覆盖,因内存小于作业的程序空间而引入覆盖,将用户空间划分成一个固定区和多个覆盖区。主程序放固定将用户空间划分成一个固定区和多个覆盖区。主程序放固定区,依次调用的子程序则放在同一个覆盖区。操作系统提供区,依次调用的子程序则放在同一个覆盖区。操作系统提供覆盖系统调用函数,覆盖系统调用函数,由用户编程序时在转子前调用。由用户编程序时在转子前调用。5
15、.1 概述-17需要用户参与,不方便需要用户参与,不方便江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础界地址寄存器界地址寄存器主存主存A a?A a?cpucputruetruefalsefalse地址地址A A终止程序运行终止程序运行越界检查机构:用户程序每访问一次主存,越界检查用户程序每访问一次主存,越界检查机构将访问的地址与界地址寄存器中的值比较。若越机构将访问的地址与界地址寄存器中的值比较。若越界,则终止其执行。界,则终止其执行。5.1 概述-18江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄
16、树成黄树成计算机软件技术基础计算机软件技术基础5.2 连续空间分配 早期OS管理技术 作业(进程) 简单、低效、易于管理江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础一个程序一个程序OS0N 空闲区空闲区一个程序一个程序OS0N 空闲区空闲区5.2.1 单道连续空间分配-1江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础5.2.1 单道连续空间分配-2 单用户、单道程序 系统只有一道程序 程序连续存放于内存中江苏科技大学江苏科技大学 计算机科学与工程学院计算
17、机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础内存空间安排内存空间安排管理方法:如图操作系统操作系统用户程序用户程序0a aa+1a+1n n界地址寄存器界地址寄存器5.2.1 单道连续空间分配-3江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础交换:将处于等待状态将处于等待状态( (等等I/O)I/O)或就绪或就绪( (等等CPU)CPU)状态状态的进程从主存换出到辅存,把将要执行的进程移入的进程从主存换出到辅存,把将要执行的进程移入主存。主存。l为了支持交换,必须在系统空间设立为了支持交换,必须在系统空
18、间设立I/O缓冲区。缓冲区。l交换要花费较长的时间。交换要花费较长的时间。5.2.1 单道连续空间分配-6江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础基本原理:基本原理:将用户区分成若干个将用户区分成若干个连续连续的小分区,实现多道程序的小分区,实现多道程序的并发执行。相比于单连续的并发执行。相比于单连续. 分区模式:分区模式:固定大小分区和可变分区。固定大小分区和可变分区。l固定大小分区固定大小分区(Fixed-size partition)基本原理基本原理: 多道技术最简单的一种。将用户区分成若干个大小多道技术最简单的
19、一种。将用户区分成若干个大小相同或不同的固定大小的连续分区,每一个分区只能存放一个相同或不同的固定大小的连续分区,每一个分区只能存放一个程序。程序。l示意图:示意图:5.2.2 多道连续空间分配-1江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础OS0N 8M 8M 8M 8M 8MOS0N 2M 4M 8M 26M分区大小相等分区大小相等分区大小不等分区大小不等5.2.2 多道连续空间分配-2江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础分区管理的实现:分
20、区管理的实现:l使用的数据结构。使用的数据结构。 目的:目的:记录各个分区的使用情况。记录各个分区的使用情况。分区号、起始地址、大小(长度)、使用情况分区号、起始地址、大小(长度)、使用情况数据结构:数据结构:struct - 主存分配表。主存分配表。图示:图示:5.2.2 多道连续空间分配-3江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础OS(10M) 2M 4M 8M 16M 1 2 3 4P1(14M)P2(4M)内存分配情况内存分配情况分分区区号号起始起始地址地址分区分区长度长度使用使用情况情况110M2M0212M
21、4M0316M8Mp2424M16M p4内存分配表内存分配表 5.2.2 多道连续空间分配-4江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l内存的分配内存的分配 当一个程序要装入内存时,采用顺序算法确定一个大小大于当一个程序要装入内存时,采用顺序算法确定一个大小大于程序长度的空闲区,装入该空闲区。否则,若程序长度的空闲区,装入该空闲区。否则,若.算法如下算法如下:假设一个程序:假设一个程序P的长度为的长度为 Xk, 分区的序号分区的序号 j, 开始开始时时 j=1,S(j) 表示表示j分区的大小分区的大小, 分区的个数为
22、分区的个数为m。5.2.2 多道连续空间分配-5江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础j区空闲区空闲S(j)=Xkj=j+1jm分配给程序分配给程序P结束结束YYNYNN江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l内存的去配内存的去配l地址转换地址转换固定分区是预先确定,大小和个数不变,一个分区同时只有一固定分区是预先确定,大小和个数不变,一个分区同时只有一个程序,故可以采用静态重定位。个程序,故可以采用静态重定位。l存储保护存储保护上、下界寄
23、存器上、下界寄存器l贮存空间的利用率贮存空间的利用率5.2.2 多道连续空间分配-6江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础特点:特点:l静态。机器启动时由静态。机器启动时由OS完成,一旦分区划分完完成,一旦分区划分完成,分区的个数不变、各个分区的大小不变。成,分区的个数不变、各个分区的大小不变。l内零头。内零头。Internal fragmentl支持多道并发支持多道并发,但数量固定。但数量固定。l管理简单但低效管理简单但低效 5.2.2 多道连续空间分配-7江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与
24、工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l可变分区管理可变分区管理动机:动机:为了克服固定分区的缺点,提出了较复杂的可变分为了克服固定分区的缺点,提出了较复杂的可变分区管理。分区的区管理。分区的大小大小和分区的和分区的数目数目不固定。不固定。基本原理基本原理:OS启动时不进行用户区的划分,当一个程序启动时不进行用户区的划分,当一个程序需要装入时,在用户区的空闲区按一定的算法分配和进程需要装入时,在用户区的空闲区按一定的算法分配和进程相同大小相同大小的内存。的内存。事例图:事例图:5.2.2 多道连续空间分配-8江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院
25、 黄树成黄树成计算机软件技术基础计算机软件技术基础OS8M56MOS8M36MProcess120M图图a 进程进程process1 进驻内存进驻内存5.2.2 多道连续空间分配-9江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础OS8M22MProcess120MProcess214M图图b process2进进OS8M18MProcess120MProcess214MProcess34M图图b process3进进5.2.2 多道连续空间分配-10江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄
26、树成计算机软件技术基础计算机软件技术基础OS8M18MProcess120M14MProcess34M图图d process2出出OS8M18MProcess120MProcess48MProcess34M图图e process4进进6M5.2.2 多道连续空间分配-11江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础OS8M18M20MProcess48MProcess34M图图 f process1出出6MOS8M18M14MProcess48MProcess34M图图g process2进进6MProcess26M5.2
27、.2 多道连续空间分配-12江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础内存管理的实现内存管理的实现l数据结构:已分配分区表、空闲分区表数据结构:已分配分区表、空闲分区表起始起始地址地址分区分区长度长度使用使用情况情况8M14M p228M8Mp442M18M p3 起始起始地址地址分区分区长度长度使用使用情况情况22M6M030M6M060M4M0 表表a已分配分区表已分配分区表表表b 空闲分区表空闲分区表5.2.2 多道连续空间分配-13江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计
28、算机软件技术基础计算机软件技术基础l 分配、去配分配、去配系统初始化时,整个用户区看作一个大的空闲区。系统初始化时,整个用户区看作一个大的空闲区。u分配:当一个程序要装入时,从空闲区用分配:当一个程序要装入时,从空闲区用一定的算法一定的算法查找查找一个能容纳该程序的区域。若空闲区的大小和程序的大小一个能容纳该程序的区域。若空闲区的大小和程序的大小相等,全部分配;若大于程序的大小,分成两部分,一部相等,全部分配;若大于程序的大小,分成两部分,一部分用于该程序,另一部分为空闲区。修改相应的数据结构。分用于该程序,另一部分为空闲区。修改相应的数据结构。u去配:一个进程运行完毕,归还内存,修改相应的数
29、据结去配:一个进程运行完毕,归还内存,修改相应的数据结构,合并相邻的空闲分区。构,合并相邻的空闲分区。例如:例如:图图g中中process 4撤离:撤离:5.2.2 多道连续空间分配-14江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础OS8M18M14MProcess48MProcess34M6MProcess26M图图h process4出出OS8M18M14M8MProcess34M6MProcess26MOS8M18M14M20MProcess34MProcess25.2.2 多道连续空间分配-15江苏科技大学江苏科技
30、大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础起始起始地址地址分区分区长度长度使用使用情况情况8M14M p242M18M p3 起始起始地址地址分区分区长度长度使用使用情况情况22M20M 030M6M060M4M0 表表a已分配分区表已分配分区表表表b 空闲分区表空闲分区表5.2.2 多道连续空间分配-16江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l外零头问题及解决方法外零头问题及解决方法u外零头外零头(External fragment):分区之间小的空闲区。影响内
31、:分区之间小的空闲区。影响内存的利用率和系统的性能。存的利用率和系统的性能。 u一种解决方法:紧凑(压缩)。移动内存中的进程,使得一种解决方法:紧凑(压缩)。移动内存中的进程,使得外零头连续。外零头连续。 5.2.2 多道连续空间分配-17江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l 分配算法分配算法 :最先适应:最先适应(fist-fit)、最优适应、最优适应(best-fit)和最坏适应)和最坏适应(worst-fit)算法等。算法等。u最先适应最先适应: 顺序查找空闲分区表,找到第一个满足程序大小顺序查找空闲分区表
32、,找到第一个满足程序大小的空闲区,多余的部分为空闲区。的空闲区,多余的部分为空闲区。 特点:特点:简单,外零头。简单,外零头。u最优适应最优适应:从所有空闲区中查找一个能存放程序的最小空从所有空闲区中查找一个能存放程序的最小空闲区。闲区。 特点:特点:较小的外零头。较小的外零头。u最坏适应:最坏适应:挑选一个最大的空闲区。挑选一个最大的空闲区。特点:特点:较大的外零头,可以用于其它程序。较大的外零头,可以用于其它程序。5.2.2 多道连续空间分配-18江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l地址转换地址转换一般采用动
33、态重定位,硬件实现。设置两个专用的控制寄存器一般采用动态重定位,硬件实现。设置两个专用的控制寄存器:基址寄存器基址寄存器和和限长寄存器限长寄存器。u基址寄存器:存放程序在内存中的起始地址。基址寄存器:存放程序在内存中的起始地址。u限长寄存器:存放程序所占分区的长度。限长寄存器:存放程序所占分区的长度。u进程中指令或数据的物理地址进程中指令或数据的物理地址=基址寄存器基址寄存器 + 逻辑地址逻辑地址l存储保护和共享存储保护和共享u保护:基址寄存器保护:基址寄存器 + 逻辑地址逻辑地址 =基址寄存器基址寄存器 +限长寄存器限长寄存器u共享:共享代码或数据可读不可写。共享:共享代码或数据可读不可写。
34、5.2.2 多道连续空间分配-19江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础可变分区特点:可变分区特点:l分区个数和大小可变分区个数和大小可变l实现多道程序,实现多道程序, 可共享可共享l外零头,需要移动外零头,需要移动5.2.2 多道连续空间分配-20江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l小结小结u固定分区固定分区 OS负责分区大小和数量的确定;分区的大小和数量固定;负责分区大小和数量的确定;分区的大小和数量固定;每一个分区仅能被一个进程使
35、用;重定位一般采用静态方每一个分区仅能被一个进程使用;重定位一般采用静态方法;存在内零头。法;存在内零头。u可变分区可变分区分区的大小和数量不定;每一个分区仅能被一个进程使用;分区的大小和数量不定;每一个分区仅能被一个进程使用;重定位一般采用动态方法;外零头可以通过紧凑解决。重定位一般采用动态方法;外零头可以通过紧凑解决。5.2.2 多道连续空间分配-21江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础动机动机: 克服克服连续连续空间管理的缺点,提高内存的利用率。空间管理的缺点,提高内存的利用率。l固定分区:内零头,程序占用连
36、续的分区。静态重定固定分区:内零头,程序占用连续的分区。静态重定位。位。l可变分区:外零头,程序占用连续的分区。紧凑需要可变分区:外零头,程序占用连续的分区。紧凑需要较大的系统开销。较大的系统开销。5.3 不连续空间分配不连续空间分配江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础基本原理基本原理 l进程空间分成若干大小相等的页(进程空间分成若干大小相等的页(Page),并为各页加以编,并为各页加以编号,从号,从0开始,如第开始,如第0页、第页、第1页等。页的大小由系统确定,比页等。页的大小由系统确定,比如如4K。l内存分成若
37、干大小相等的块内存分成若干大小相等的块(Chunk)或帧或帧(Frame),块的大小,块的大小与页的大小相同。块从与页的大小相同。块从0编号。编号。l进程的一页对应主存的一块,多页占用内存的多个块,块不进程的一页对应主存的一块,多页占用内存的多个块,块不需要连续。需要连续。消除了外零头,最后一页可能具有较小的零头消除了外零头,最后一页可能具有较小的零头-页内零头页内零头 5.3.1 简单页式管理简单页式管理 -1示例图:示例图:江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础0123456图图a 7个可用块个可用块图图b A
38、进进0123456A.0A.15.3.1 简单页式管理简单页式管理-2 江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础0123456A.0A.1B.0B.10123456A.0A.1B.0B.1图图c B进进图图d C进进C.0C.15.3.1 简单页式管理简单页式管理-3 江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础图图f D进进0123456A.0A.1C.0C.1图图e B出出0123456A.0A.1C.0C.1D.0D.1D.25.3.1 简单
39、页式管理简单页式管理-4江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础逻辑地址逻辑地址逻辑地址有两部分组成:逻辑地址有两部分组成:页号页号和和页内页内地址。格式为:地址。格式为: 页号页号 页内地址页内地址假定用假定用n位二进制表示逻辑地址,页号占用位二进制表示逻辑地址,页号占用m位,页内地址占位,页内地址占用用n-m位。那么,页号大小的范围为位。那么,页号大小的范围为 0 2m-1, 即一个程序最多即一个程序最多为为2m页;页; 页内地址大小的范围为页内地址大小的范围为 0 2n-m-1,即一页的大小为,即一页的大小为2n
40、-m,内存块的大小为,内存块的大小为2n-m 字节。字节。5.3.1 简单页式管理简单页式管理 -5江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础内存管理的实现内存管理的实现l 数据结构:数据结构:p 页表:纪录每一个进程各个页面的内存分配情况。每一个页表:纪录每一个进程各个页面的内存分配情况。每一个进程有一个自己的页表。进程有一个自己的页表。p 例如图例如图f 中的中的D进程的页表为:进程的页表为:页号页号块号块号0213265.3.1 简单页式管理简单页式管理 -6江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学
41、与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础(2) 空闲块表:记录内存各块的使用情况空闲块表:记录内存各块的使用情况 。常用的数据结构有。常用的数据结构有位示图、空闲块链表等。比如图位示图、空闲块链表等。比如图e的空闲块位示图为:的空闲块位示图为: 内存共有块,用个二进位表示,内存共有块,用个二进位表示,“”表示未用,表示未用,“”表示被占用。假如内存共有表示被占用。假如内存共有256块,可用字长块,可用字长32位的位的8个字作个字作为位示图。如下:为位示图。如下:5.3.1 简单页式管理简单页式管理 -7江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树
42、成黄树成计算机软件技术基础计算机软件技术基础01234567012315.3.1 简单页式管理简单页式管理 -8江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l内存分配内存分配u进行主存分配时,检查空闲快数是否满足作业要求。若进行主存分配时,检查空闲快数是否满足作业要求。若不满足,则不进行内存分配,程序不能装入主存运行;若不满足,则不进行内存分配,程序不能装入主存运行;若能满足,则根据需要从位示图中找出一些为能满足,则根据需要从位示图中找出一些为“0”的位,分的位,分配给程序相应的页,修改位示图。配给程序相应的页,修改位示图
43、。 建立该进程的页表,根建立该进程的页表,根据位示图计算每一页的块号:据位示图计算每一页的块号:块号块号 = 字号字号* 字长字长 + 位号位号l内存去配内存去配u当进程执行结束,收回所占用的主存块,修改位示图将,当进程执行结束,收回所占用的主存块,修改位示图将,将对应的位改为将对应的位改为“0”。假定归还的块号为。假定归还的块号为 i, 则在位士图中则在位士图中 对应的位置可如下计算:对应的位置可如下计算:字号字号 = i / 字长字长 , 位号位号 = i mod 字长字长5.3.1 简单页式管理简单页式管理 -9江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄
44、树成计算机软件技术基础计算机软件技术基础l地址转换地址转换u采用动态重定位采用动态重定位u逻辑地址的格式为:逻辑地址的格式为: 页号页号 页内地址页内地址l根据页表确定当前页号的主存块号,由主存块号和页内地址根据页表确定当前页号的主存块号,由主存块号和页内地址可以计算绝对地址如下:可以计算绝对地址如下:u绝对地址绝对地址 =主存块号主存块号 * 块长块长 +页内地址页内地址5.3.1 简单页式管理简单页式管理-10 江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l快表快表 u动机:动机:提高提高CPU 访问页表的速度。访问页
45、表的速度。l每一个进程有一个页表,页表存放在主存中,执行一条指每一个进程有一个页表,页表存放在主存中,执行一条指令需要两次访问主存,一次用于地址转换,另一次用于取指令需要两次访问主存,一次用于地址转换,另一次用于取指令执行。令执行。l实现方法:设置一个高速缓冲存储器,将页表的一部分放实现方法:设置一个高速缓冲存储器,将页表的一部分放入其中。入其中。5.3.1 简单页式管理简单页式管理-11 江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l页的共享和保护页的共享和保护u共享共享 节省内存空间节省内存空间 例如,例如, 两个进程
46、两个进程A和和B 共享一个程序块和数据块的情况。如共享一个程序块和数据块的情况。如下图:下图:5.3.1 简单页式管理简单页式管理-12 江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础0123456共享程序共享程序共享数据共享数据页号块号0214页号块号0016213244进程进程A进程进程B5.3.1 简单页式管理简单页式管理-13 江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l保护保护u共享程序段共享程序段 :允许执行,不允许修改。:允许执行,不允许
47、修改。u数据段数据段 :允许读,不允许写。:允许读,不允许写。 简单页式管理和固定分区的比较简单页式管理和固定分区的比较5.3.1 简单页式管理简单页式管理-14 江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础 例:例: 在一个分页存储管理中,逻辑地址的长度为在一个分页存储管理中,逻辑地址的长度为16位,页位,页面的大小为面的大小为4096字节。一个进程的页表如下表,计算逻辑字节。一个进程的页表如下表,计算逻辑地址地址 2F6AH 的物理地址。页表如下:的物理地址。页表如下:页号页号块号块号051102115.3.1 简单页
48、式管理简单页式管理 -15江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l分析分析u绝对地址绝对地址 =主存块号主存块号 * 块长块长 +页内地址页内地址u首先确定块号:首先确定块号:主存块号主存块号 页号页号u逻辑地址逻辑地址 2F6AH 页号页号 页内地址页内地址u2F6AH = 0010 1111 0110 1010u页面大小为页面大小为 4096 = 212 , 即页号占用即页号占用4位,页号为位,页号为0010 = 2 u页内地址为页内地址为 1111 0110 1010 = F6AHu块号为块号为11;块长;块长
49、= 页长页长= 4096 = 163 = 1000Hl计算计算u绝对地址绝对地址 =11 * 163 + F6AH = BF6AH5.3.1 简单页式管理简单页式管理-16 江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础Reviewl内存分配u连续 固定 可变分区u非连续 分页 分段江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l 动机动机 一个程序特别是大的程序自然地分成若干个功能一个程序特别是大的程序自然地分成若干个功能相对独立的段(相对独立的段(se
50、gment)。从程序员的角度来说,采用。从程序员的角度来说,采用分段管理可以具有下述一系列的优点:分段管理可以具有下述一系列的优点: 1) 方便编程方便编程 2) 信息共享信息共享 3) 信息保护信息保护 4) 动态增长动态增长 5) 动态链接动态链接 l 基本原理基本原理 按照一定的逻辑功能,程序员将程序分成若按照一定的逻辑功能,程序员将程序分成若干个程序段,各个段的长度一般不同,干个程序段,各个段的长度一般不同, 每一个段占用和每一个段占用和段大小相同的内存。段大小相同的内存。 事例图事例图5.3.2 简单分段存储管理方式-1江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学
51、院 黄树成黄树成计算机软件技术基础计算机软件技术基础060k0 段段040k1 段段070k2 段段程序程序 P,分成,分成3段段2段段 1段段 0段段 程序程序 P的内存分配情况的内存分配情况100k160k20k180k250k20k270k310k10k江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础逻辑地址逻辑地址 每一段从每一段从0开始单独编址,地址格式为:开始单独编址,地址格式为: 段号段号 段内地址段内地址假定用假定用n位二进制表示逻辑地址,段号占用位二进制表示逻辑地址,段号占用m位,段内地址占位,段内地址占用用
52、n-m位。那么,段号大小的范围为位。那么,段号大小的范围为 0 2m-1, 即一个程序最多即一个程序最多为为2m段;段内地址大小的范围为段;段内地址大小的范围为 0 2n-m-1,每段的最大长度,每段的最大长度为为2n-m 字节。字节。内存管理的实现内存管理的实现l数据结构数据结构u段表:每一个进程一个段表,记录程序的分段情况和主段表:每一个进程一个段表,记录程序的分段情况和主存的分配情况。存的分配情况。比图比图上图的段表为:上图的段表为:5.3.2 简单分段存储管理方式-2江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础段号
53、段号 段长段长起址起址060k100k140k270k270k180k5.3.2 简单分段存储管理方式-3江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l空闲块表:记录内存的空闲块表空闲块表:记录内存的空闲块表 块号块号 起址起址块长块长0160k 20k1250k 20k2310k 10k出现了外零头出现了外零头5.3.2 简单分段存储管理方式-4江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l内存分配内存分配u对进程的每一个分段,根据空闲分区表,找到一
54、个大于对进程的每一个分段,根据空闲分区表,找到一个大于等于该段大小的空闲区,分割成两部分,一部分用于存放等于该段大小的空闲区,分割成两部分,一部分用于存放程序,另一部分空闲。当没有足够大的空闲区时,可采用程序,另一部分空闲。当没有足够大的空闲区时,可采用移动技术来合并分散的空闲区。移动技术来合并分散的空闲区。u当程序的各个分段装入内存后,为该程序对应的进程建当程序的各个分段装入内存后,为该程序对应的进程建立一个段表,修改空闲块表。立一个段表,修改空闲块表。l内存去配内存去配u当一个进程运行完毕,收回他各个分段占用的内存,修当一个进程运行完毕,收回他各个分段占用的内存,修改相应的数据结构。改相应
55、的数据结构。5.3.2 简单分段存储管理方式-5江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l地址转换地址转换逻辑地址逻辑地址 段号段号 段内地址段内地址段号段号 段长段长起址起址060k100k140k270k270k180k段表段表物理地址物理地址 = 段的起址段的起址 +段内地址段内地址5.3.2 简单分段存储管理方式-6江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l 存储保护和共享存储保护和共享u共享段共享段u界限寄存器保护内存界限寄存器保护内
56、存K段段AB上界寄存器上界寄存器下界寄存器下界寄存器AB5.3.2 简单分段存储管理方式-7江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础与可变分区和页式管理的比较与可变分区和页式管理的比较l和可变分区相似,内存分成大小不一、数量不定的分区,和可变分区相似,内存分成大小不一、数量不定的分区,可能产生外零头;不同的是,一个程序可以占用若干个不连可能产生外零头;不同的是,一个程序可以占用若干个不连续的内存分区。续的内存分区。l和页式管理相似,一个程序分若干个部分,可以占用不连和页式管理相似,一个程序分若干个部分,可以占用不连续的
57、分区;不同的是,分页由系统确定且大小相同,分段由续的分区;不同的是,分页由系统确定且大小相同,分段由程序员确定,段的大小不相等。程序员确定,段的大小不相等。5.3.2 简单分段存储管理方式-7江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础分页和分段的主要区别分页和分段的主要区别 l页是信息的物理单位,分页是为实现离散分配方式,以消页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。或者说,分页仅仅是减内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信
58、息的逻辑由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。单位,它含有一组其意义相对完整的信息。 分段的目的是分段的目的是为了能更好地满足用户的需要。为了能更好地满足用户的需要。 5.3.2 简单分段存储管理方式-8江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础l页的大小固定且由系统决定,由系统把逻辑地址划分为页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段
59、的长度却不固定,统中只能有一种大小的页面;而段的长度却不固定, 决定决定于用户所编写的程序,通常由编译程序在对源程序进行编于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。译时,根据信息的性质来划分。l分页的作业地址空间是一维的,即单一的线性地址空间,分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;程序员只需利用一个记忆符,即可表示一个地址; 而分段而分段的作业地址空间则是二维的,程序员在标识一个地址时,的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,既需给出段名, 又需给出段内地址。又需给出段内地址。
60、5.3.2 简单分段存储管理方式-9江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础例:例: 某段表如下某段表如下:段号段号段首地址段首地址段长度段长度0120K40K1760K30K2480K20K3370K20K计算逻辑地址计算逻辑地址2,154的物理地址。的物理地址。5.3.2 简单分段存储管理方式-10江苏科技大学江苏科技大学 计算机科学与工程学院计算机科学与工程学院 黄树成黄树成计算机软件技术基础计算机软件技术基础逻辑地址逻辑地址 段号段号 段内地址段内地址 2 154物理地址物理地址 = 段的起址段的起址 +段内地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深静脉血栓的预防和护理培训课件
- 增材制造设备操作员岗前诚信道德考核试卷含答案
- 货运业务信息员安全宣教知识考核试卷含答案
- 保险代理人岗前岗中考核试卷含答案
- 液压元件及液压系统制造工安全知识竞赛考核试卷含答案
- 矿井轨道工创新意识评优考核试卷含答案
- 26年鼻窦癌靶点匹配用药规范指引
- 26年c-MET用药适配规范指引
- 26年靶向药机制与药品追溯体系
- 运动与团队合作-团队建设培训师
- 钟山区南开风电场环境影响报告表
- 云南航空产业投资集团招聘笔试真题2024
- 公司报废件物品管理制度
- 弱电智能化运维管理制度
- 施工队长解除协议书
- 河北省石家庄市七县2024-2025学年高二下学期4月期中考试 物理 含解析
- 2025春季学期国家开放大学专科《高等数学基础》一平台在线形考(形考任务一至四)试题及答案
- 2025年软件定义汽车:SOA和中间件行业研究报告
- 国家军事安全课件
- 泵站、滴灌、管灌水力计算表
- 驾校安全生产隐患排查治理制度
评论
0/150
提交评论