Windows98虚拟存储技术 (1)Intel80386提供的存储管理方式

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
第 4 章存储器、存储管理和 高速缓存技术 4.1 存储器和存储部件 4.2 存储器的连接 4.3 微型计算机系统中存储器的体系结构 4.4 Pentium 的虚拟存储机制和片内两级存储管理 4.5 高档微机系统中的高速缓存技术 第一次课 第二次课 第三次课.
微机原理与接口技术 第二章: ARM微处理器硬件结构
第3单元 主存管理 第3节 分页存储管理 一页一页的放………… 怎么解决分段带来的碎片问题? 页与页框 地址映射 多级页表 快表 举例
2017年3月5日 单片机原理与应用 背景知识调查.
第五讲:虚拟存储器(Virtual Memory)
实用操作系统概念 张惠娟 副教授 1.
第3章 80486系统原理.
第2章 微处理器及其体系结构 罗文坚 中国科大 计算机学院
3.1 虚拟存储器 3.2 内存管理方式 段页机制 3.4 Linux存储管理 3.5 小结 习题
第4章 存储管理 本章学习目标 4.1 存储管理的功能 4.2 实存管理 4.3 虚拟存储器管理 4.4 碎片与抖动问题 开 始.
中青国信科技(北京)有限公司 空间域名邮局价格表.
第五章 存储管理 2006年11月.
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
第四章 存储器管理.
第8章 现代微型计算机 x86系列微处理器 8.2 微型计算机体系结构 8.3 存储管理技术 8.4 多任务管理与I/O管理
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
Hadoop I/O By ShiChaojie.
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
存储系统.
第4章 内存管理.
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
存储管理 存储体系 存储管理的任务 分区存储管理 页式存储管理 交换技术与覆盖技术 虚拟存储.
第4章 现代微机的存储系统.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
作業系統 (Operating System)
第九章 存储管理 9.1 概述 一、存储器的层次:三级存储器结构 本章主要讨论几种常用的内存管理技术。 Cache 内存 外存 由硬件寄存器
逆向工程-汇编语言
CPU结构和功能.
中国科学技术大学计算机系 陈香兰(0512- ) Spring 2011
第二章 80x86计算机组织 x86微处理器 2.2 基于微处理器的计算机系统构成 2.3 中央处理机 2.4 存储器
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
會計資訊系統 大帳省財務庫存管理系統(Beyond) 士林高商(資料來源:啟發出版社) 簡報者:黃瑞萍老師.
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
操作系统原理 Operating System Principles
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
本节内容 段描述符与段选择子 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
微型计算机原理与接口技术 (第2版) 赵宏伟 于秀峰 黄永平 秦贵和 北京:科学出版社 出版 吉林大学计算机科学与技术学院 制作.
段式存储管理(Segmentation)
本节内容 线性地址的管理 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
本节内容 模块隐藏 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
3.1私有内存的分配.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第9章 存储管理.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
大数据搜索挖掘实验室 第二章 微处理器管理模式 张华平 副教授 博士 Website: 大数据搜索挖掘实验室
基于列存储的RDF数据管理 朱敏
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
RefWorks使用指南 归档、管理个人参考文献.
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

Windows98虚拟存储技术 (1)Intel80386提供的存储管理方式 在Inte180386芯片中,包含了存储管理部件 MMU(Memory Management Unit),由它来提供实现虚拟存储器所需的硬件支持,即请求段表(页表)机制、缺段(页)机构、地址变换机构。其地址变换过程分两步进行,第一步由分段部件将逻辑地址转换为线性地址,并将该地址送分页部件;第二步由分页部件将线性地址变换为物理地址。如果仅用分段存储管理方式,其分页部件将被旁路(失效),此时分段部件送出的线性地址便是物理地址,直接送内存地址寄存器。为了提高分段和分页的地址变换速度,在分段和分页部件中,都配置了高速缓冲存储器,作为快速段表和页表。 80386既支持分段,也支持分页,可根据需要构成以下四种存储管理方式: 1.不分段也不分页的存储管理方式。

Windows98虚拟存储技术-1 2.分页不分段存储管理方式(UNIX/386系统)。 3.分段不分页存储管理方式。 4.分段分页存储管理方式。 (2)分段存储管理 1.段描述符表 80386为每个用户任务所配置的段表,称为局部描述符表LDT(Local Descriptor Table)。其中,每个表项为一个段的描述符,共8个字节长。此外,还配置了一张对系统任务都有用的全局描述符表GDT(Global Descriptor Table)。在任一时刻 GDT和某一个LDT是可被访问的,在分段部件中,还配置了全局描述符表寄存器GDTR和局部描述符表寄存器LDTR。它们都是6个字节长,分别指向当前的GDT和LDT。两个描述符的格式基本上相同。如图所示。 各字段说明如下:

Windows98虚拟存储技术-2 段的基址:32位,定义了段在4GB线性地址空间中的始址。 段界限值:规定了段的最大长度。其单位可以是字节或页(4KB),这取决于粒度单位G。当G为1时,表示段长是以页为单位;当G为0时,表示段长以字节为单位。由于段长为20位,故当 G为1时,最大段长为4 GB。 31 23 19 1615 12 8 7 0 段的基址15……0 段界限值15……0 段基址 G D 0 0 界限值 P DPL S TYPE A 段基址 31… 24 19… 16 23… 16

Windows98虚拟存储技术-3 2.分段的地址变换机构 段寄存器 在80386处理器中,共有6个段寄存器。它们是:代码段寄存器CS、栈段寄存器SS、四个数据段寄存器 DS、ES、FS和GS。段寄存器和8086一样仍为16位。在实方式时,段中存放段的基址的高16位。因此,将它左移4位后与偏移量相加,便形成20位的物理地址。但在保护方式下,16位的段寄存器已不足以用来存放32位的段的基址,所以在段寄存器中所存放的是指向描述符表中某个描述符的指针。此时,段寄存器中的TI(l位)用来指示描述符表的类型,即或者指示选择全局描述符表,或者指示选择局部描述符表。RPL(2位)为请求者的特权级。描述符表项索引Index(13位)可用来在8K个描述符中任选其一。 虚地址结构和地址变换

Windows98虚拟存储技术-4 在80386中的虚地址结构如下: 13位 1位 2位 32位 13位 1位 2位 32位 其中,TI为描述符表类型;RPL是请求者特权级;S为段号Index项,用来选择描述符。其前16位实际上是放在段寄存器中的。 分段部件中,是将逻辑地址变换为线性地址,在进行地址变换时,首先是从相应的段寄存器中取得段号S,即获得指向段描述符表的指针Index,如果此时TI=0,则从GDT中选择一描述符;否则(TI=1),从 LDT中选择一描述符。从所获得的描述符中可得到段的基址,然后将段的基址与偏移量相加,得到线性地址。对于只分段、不分页的存储管理方式,此线性地址就是内存的物理地址;若是既分段、又分页的存储管理方式,则还须将此线性地址送分页部件,再形成物理地址。 段号S TI RPL 偏移量

外部页表寄存器 CS代码段寄存器 GDTR全局描述符寄存器 LPTR局部描述寄存器 (索引) 段号S TI RPT 偏移量 DS数据段寄存器 + 8B 基地址 限长 其它字段 。 页目录号P1 外部页内地址P2 页内位移D 外部页表寄存器 (索引) 段号S TI RPT 偏移量 CS代码段寄存器 DS数据段寄存器 GDTR全局描述符寄存器 LPTR局部描述寄存器

Windows98虚拟存储技术-5 (3)Windows98系统地址空间的划分 Intel386以后的CPU有了32位或64位的内存寻址范围,所以系统的地址空间可达4GB或更大。在 Windows98系统提供了4GB虚拟的32位的地址空间,给每个进程分配2GB的专用地址空间,而把剩余的2GB地址空间分成系统空间(1GB)和用于所有的共享内存区域的单个共享的用户空间(1GB)。 这个1GB的共享区域对于用户态是可写的,所以任何Win32应用程序都可以写共享内存区和映象文件(映象文件是指把驻留在盘上的文件看成是虚拟主存的一部分)。MS-DOS应用程序和Win16应用程序也都在这个共享的空间中。Windows NT将共享内存区域放在专用进程地址空间内。 每一个基于 MS-DOS的程序和32位 Windows程序都有各自的4GB虚拟地址空间。16位Windows应用程序共享单个的4GB地址空间。4GB的地址空间分为两部分:2GB用于用户应用程序,2GB用于操作系统组件。程序以如下方式使用虚拟地址空间里的地址:

Windows98虚拟存储技术-6 0~1MB:基于MS-DOS的程序就像真的在MS-DOS环境中运行那样使用这些地址,所有其它程序将忽略这些地址。这些地址仍可为程序加载的实模式设备驱动程序所使用。 1~4MB:由于Windows NT在这些地址空间上加载,为了维护与 NT的兼容性, Windows98与32位程序也不使用这一段地址空间。但由于向下兼容的缘故,16位程序使用这些地址。 4MB~2GB:WIN32应用程序使用。 2GB~3GB:由DLL(动态链接库)和其它共享组件使用。 3GB~4CB:低层的内存管理、文件系统、驱动程序(VxD)使用。这些地址一般是 Ring0组件使用。

Windows98虚拟存储技术-7 (4)VMM——虚拟存储管理程序 Windows98用虚拟存储管理程序(Virtual Memory Manager)来实现请求调页的虚拟存储技术,把系统4GB的虚拟地址空间映射到机器的物理内存上(32MB或64MB)。 Windows98的虚拟存储管理程序通过两个内存管理进程向应用程序提供虚拟内存:一个是页面调度(paging)——负责在物理内存和硬盘的交换文件之间交换数据;另一个是地址转换——负责物理地址和虚拟地址空间的地址或映象文件I/O之间的转换。 VMM将物理内存分成一个个大小为4KB页面(或称为块)。将虚拟地址空间(应用程序所在的空间)也划分成4KB大小的页。当程序要运行时,一部分页面被装入物理内存,另一部分则放在硬盘的虚似内存交换文件(或称为页交换文件)中。交换文件是指位于硬盘上用来模拟物理内存的文件,它由VMM专门用来保存内存页面,作为虚拟内存空间使用。

Windows98虚拟存储技术-8 当程序访问那些不在内存中的页面时,CPU会产生页面出错(Page Fault),VMM便会从交换文件中将相应的页面换入内存。 Windows98交换文件(Win386.swp)是动态的,它可根据系统内存的负荷和可利用的磁盘空间大小而增大或减小。动态交换文件可以对硬盘进行有效的利用,因为它可占用硬盘的一个已成碎片的区域,而不引起重大的性能下降。注意:保证交换文件高质量运行的一条最好的途径是:确保包含交换文件的磁盘有足够的可利用的空间,以便交换文件的大小可以根据需要增大或减小。一般情况下,可以让Windows98自动管理虚拟内存。如果用户想要把交换文件设置在特定的硬盘上,或者由于磁盘空间有限想把交换文件的大小限制在一定范围,就要修改设置。但是在设置时,特别要注意:交换文件太小会严重影响系统的性能。

Windows98虚拟存储技术-9 交换文件(Win386.Swp)存放在C:\Window目录下。用户不应把交换文件安置在压缩硬盘上,因为这样做将影响其性能。交换文件的运行速度应当尽可能地快,应当定期对硬盘空间进行整理,以使交换文件能使用连续的存储区,这也有助于提高交换文件访问的速度。在Windows NT中,交换文件可跨越多个驱动器,其名为 Pagefile.sys。 (5)页面置换算法 Windows95/98虚拟内存管理器置换算法如下: 1。调页算法:当某个线程试图访问一无效页面而产生页面出错(Page Fault)时,VMM采用群集技术将其邻近的页面与页面目录一起装入内存的空闲块中。所谓群集技术是指当需要调一页时,将包括该页在内的一个页面集合取入内存的空闲块中,这样可以减小页面出错和磁盘操作的次数。

Windows98虚拟存储技术-10 2。淘汰算法:如果内存中没有空闲块,VMM会使用淘汰算法将页面从内存移到交换文件中。每个进程在内存中都有一组有效的页面——工作集,以保证进程的有效运行。为简化起见,VMM使用先进先出的算法(FIFO)。即当需要进行页面淘汰时,VMM将工作页面集中存在时间最长的页面从内存中移到交换文件中,为新页面腾出空间。由于淘汰页是当前进程的工作页面集,所以可以保证其他进程的页面不会被另外的进程所替代。 (6)页表结构 Windows95/98/NT支持的虚拟地址空间达4GB,都采用二级页表机构来管理虚拟存储空间。前已讲过。

Windows98虚拟存储技术-11 (7)映象文件I/O 当应用程序将要装入的文件大小比RAM和交换文件合起来还要大时,VMM的映象文件I/O服务功能可以将虚拟内存地址映射到一个大文件中,并通知应用程序此文件可用,然后仅将应用程序实际需要访问的那部分装入内存。由于整个大文件中只有一部分装入内存(RAM或交换文件),极大地减少了文件装入时间,提高了系统资源的使用。这对于那些经常需要访问巨型文件的数据库应用程序来说是一个非常有用的服务。 (8)页面锁定 对有特殊要求的应用程序和系统核心的页面,VMM可授予进程特殊权限,以将选定的虚拟内存页面锁定在工作页面集中,这样关键页面在使用过程中便不会被换出内存。