计算机操作系统(第二版)课件:存储器管理概述_第1页
计算机操作系统(第二版)课件:存储器管理概述_第2页
计算机操作系统(第二版)课件:存储器管理概述_第3页
计算机操作系统(第二版)课件:存储器管理概述_第4页
计算机操作系统(第二版)课件:存储器管理概述_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OperatingSystem

存储器管理存储器管理为什么磁盘中存储的程序和数据必须加载进入内存才能执行?磁盘和内存都是存储器,它们有什么不一样?购买物理内存的时候应该关注哪些指标数据?内存里同时存储了那么多进程的代码和数据,相互之间不会影响吗?系统配置的内存会不会不够用?如果不够用系统会怎样?如果一个程序比系统总体内存还大,能运行吗?程序员在写代码时需要关心程序在内存中是如何存放的吗?目录1.存储器管理概述2.连续存储管理3.页式存储管理方式4.段式存储管理方式5.段页式存储管理6.虚拟存储系统7.Linux内存管理机制重点难点4.1存储器的管理概述存储器的层次体系结构存储器管理功能程序的装入和链接对于本节内容,你最需要老师讲解的内容是哪些?4.1存储器管理概述1、计算机系统中有哪些存储信息的部件?2、这些部件在性能上有什么特征?(访问速度、价格、容量等)3、在多级存储体系中,有效访存时间如何计算?4.1.1存储器的层次体系结构StorageHierarchySystemhttp://tsing.us/book/notes-computer-systems-programmers-perspective/chapter-1-tour-computer-systems4.1存储器管理概述思考题:在存储器体系结构中,CPU可直接访问的有哪些?4.1.1存储器的层次体系结构第一节存储器的管理概述4.1.1存储器的层次体系结构假设某系统中Cache访问周期TC为10纳秒,内存访问周期TM为100纳秒。数据存放在内存中,Cache中有部分缓存的数据,当访问Cache不命中的时候才访问内存读取数据。若访问Cache的命中率A为90%,则访问数据的有效时间TA是()纳秒。102010090ABCD提交单选题10分4.1存储器管理概述有效访问时间=命中率×访Cache时间+

(1-命中率)×Cache不命中时花费的时间

即TA

=A·TC+(1-A)·(TC+TM)近似公式:TA

=A·TC+(1-A)·TM4.1.1存储器的层次体系结构4.1.1存储器的层次体系结构4.1存储器管理概述性能提升约20倍程序局部性对执行效率的影响4.1.2存储器管理功能地址映射内存分配与回收内存共享与保护内存扩充基于虚拟存储器技术在逻辑上扩充主存空间-响应请求分配所需的主存空间-保护进程之间相互不受影响存储器-逻辑地址到物理地址的映射,又称地址重定位4.1存储器管理概述4.1存储器管理概述1、内存分配与回收静态分配、动态分配

连续分配、离散分配2、地址映射物理地址与主存空间逻辑地址与进程地址空间

地址映射概念

地址映射机构:连续分配时3、内存共享与保护界地址保护:上下界寄存器保护、基址限长寄存器保护4.内存扩充:可行性、实现思路4.1.2存储器管理功能1.内存分配与回收(1)相关数据结构(2)分配与回收算法4.1.2存储器管理功能2.地址映射(1)相关地址的概念:物理地址(绝对地址、实地址)计算机内存单元的真实地址,又称为绝对地址或实地址。主存空间物理地址的集合所对应的空间组成了主存空间。逻辑地址(相对地址、虚地址)用户程序地址(指令地址或操作数地址)均为逻辑地址。程序地址空间用户程序所有的逻辑地址集合对应的空间。4.1.2存储器管理功能32位Linux进程虚拟地址空间64位Linux进程虚拟地址空间4.1.2存储器管理功能movr1,[500]100100500599程序地址空间01000110015001599256k-1存储空间将程序地址空间中使用的逻辑地址变换成主存中的物理地址的过程,称为地址映射,又叫地址重定位movr1,[500]10Load(2)地址映射概念2.地址映射4.1.2存储器管理功能1500(1)静态重定位:边装入边进行地址修改作业地址空间10movr1,[500]0500599100+从第1000单元开始重定位装入程序movr1,[1500]01000150010256k-115991100存贮空间2.地址映射4.1.2存储器管理功能+1000重定位寄存器movr1,[500]01000150010256k-115991100内存空间10movr1,[500]0500599100程序地址空间500逻辑地址重定位寄存器的值可以动态不断变化1500物理地址硬件完成(2)动态重定位:边执行边修改2.地址映射4.1.2存储器管理功能链接得到的可执行程序所对应的地址空间是()。绝对地址空间虚拟地址空间存储空间物理地址空间ABCD提交单选题10分为了保证一个程序在主存中改变了存放位置后仍能正确执行,则地址映射机制应采用()技术。静态重定位动态重定位动态分配静态分配ABCD提交单选题10分3.内存共享与保护什么是内存共享什么是内存保护在多用户环境中,主存储器按区分配给各用户程序使用。为了互不影响,必须由硬件(软件配合)保证各用户程序只能在给定的存储区域内活动,这种措施叫做存储保护。实现方法界地址保护:连续分配方式

上下界寄存器保护、基址限长寄存器保护内存P1P2共享内存4.1.2存储器管理功能①上下界寄存器保护:

下界寄存器:存放开始地址(首址)上界寄存器:存放末地址问题:如何判断是否越界?判别式:下界寄存器≤物理地址≤上界寄存器3.内存共享与保护:界地址保护4.1.2存储器管理功能②基址限长寄存器保护基址寄存器:存放开始地址(首址)限长寄存器:存放程序长度(字节数)问题:如何判断是否越界?判别式:逻辑地址<限长寄存器120k基址寄存器10k限长寄存器程序120k130k-103.内存共享与保护:界地址保护4.1.2存储器管理功能某系统采用基址、限长寄存器方法进行存储保护,在这种方法中下列判断是否越界的判别式中正确的是():被访问的物理地址<基址寄存器的内容被访问的物理地址≤基址寄存器的内容被访问的逻辑地址<限长寄存器的内容被访问的逻辑地址≤限长寄存器的内容ABCD提交单选题10分4.内存扩充必要性——主存容量不满足应用需求可行性——局部性特征时间局部性空间局部性实现方法程序的全部代码和数据存放在辅存中;程序当前执行所涉及的那部分程序代码放入主存中;程序执行时,当所需信息不在主存,由操作系统和硬件配合来从辅存中调入信息,程序继续执行。循环结构顺序执行intsumvec(intv[N]){ inti=0;sum=0; for(inti=0;i<N;i++) { sum+=v[i];} returnsum;}数组具有空间局部性,无时间局部性指令sum+=v[i];具有时间局部性4.1.2存储器管理功能4.1.1-4.1.2存储器体系结构及管理功能存储器体系结构构成多级存储体系结构中有效访存时间计算存储器管理的功能及含义逻辑地址(虚拟地址、相对地址)、物理地址(实地址、绝对地址)的概念内存连续分配方式中的保护机制两种地址映射方式的实现方法及性能特点本节知识小结哪个小组来总结下?4.1.3程序的装入和链接4.1存储器的管理概述库汇编编译主子1子2目标模块链接程序装入模块库主子1子2装入程序内存库主子1子21.程序的链接对相对地址的修改变换外部调用符号

4.1.3程序的装入和链接4.1存储器的管理概述CallB;0L-10500M-1模块A模块BB:……moveax,(500)ret;链接时机静态链接装入时动态链接运行时动态链接

(1)静态链接CallB;0L-10500M-10N-1静态链接装入模块模块A模块B模块CB:……moveax,(500)ret;0LL+500L+ML+M+N-1CallL;B:……

moveax,(L+500)ret;缺点:不便于软件版本的修改和更新;不便于实现目标模块的共享;装入之前由链接程序将所有的目标模块和程序需要的库函数模块链接形成一个整体,以后不再拆开。修改外部调用符号修改相对地址(1)静态链接缺点:不便于实现目标模块的共享:Prog1:main1.cutilities.cerrhdl1.cProg2:main2.cutilities.cerrhdl2.c编译Prog1:main1.outilities.oerrhdl1.oProg2:main2.outilities.oerrhdl2.o编译静态链接内存(2)装入时动态链接

装入时动态链接aa+La+L+500a+L+Ma+L+M+N-1CallB;B:……

ret;边装入边链接优点:便于修改和更新;便于磁盘共享。缺点:装入内容是静态的。CallB;模块A模块B模块CB:……ret;0L-10500M-10N-1L;或者a+L;4.1.3程序的装入和链接(2)装入时动态链接Prog1:main1.cutilities.cerrhdl1.cProg2:main2.cutilities.cerrhdl2.c编译Prog1:main1.outilities.oerrhdl1.oProg2:main2.outilities.oerrhdl2.o编译装入时动态链接内存Prog1:main1.outilities.oerrhdl1.oProg2:main2.outilities.oerrhdl2.o磁盘上共享内存里不共享内存(3)运行时动态链接

运行时动态链接aa+La+L+N-1边运行边链接;优点:最小化快速装入,节省内存。CallB;模块A模块B模块CB:……ret;0L-10500M-10N-1CallB;该指令本次没被执行4.1.3程序的装入和链接深入程序编译链接和装载过程_ZY-JIMMY-CSDN博客链接过程中需要完成的工作有()修改指令中的相对地址修改指令中的绝对地址完成地址映射修改外部调用符号ABCD提交多选题10分2.程序的装入概念:就是把链接好的装入模块装入“内存”。装入方式:地址映射时机(1)绝对装入:单道(任务),装入位置是固定的。

程序员直接编址或由汇编、编译程序完成地址重定位。10movr1,[1500]1000150015991100作业地址空间movr1,[1500]01000150010256k-116001100存贮空间4.1.3程序的装入和链接(2)静态重定位装入:多道程序环境边装入边进行地址修改作业地址空间10movr1,[500]0500599100+从第1000单元开始重定位装入程序movr1,[1500]010001500102

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论