首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
四、存储管理
1.引言
现代计算机系统中的存储系统常是多级存储体系,至少有主存(内存)和辅存(外存)两级。有的系统有更多级。主存是由系统实际提供的存储单元(常指字节)组成的一个连续地址空间,处理器可直接存取。辅存是指软盘、硬盘、光盘和磁带等一些外部存储部件,常用来存放暂不执行的程序和数据,处理器不能直接访问,需通过启动I/O设备,才能进行内存、外存交换。其访问速度慢,但价格便宜,常用作主存的后援设备。主存大小由系统硬件决定,是实实在在的存储,它的存储容量受到实际存储单元的限制。虚拟存储(简称虚存)不考虑实际主存的大小和数据存取的实际地址,只考虑相互有关的数据之间的相对位置,其容量由计算机的地址的位数决定。系统中主存的使用一般分成两部分,一部分为系统空间,存放操作系统本身及相关的系统数据,另一部分为用户空间,存放用户的程序和数据。
(1)地址重定位用户程序需调入主存运行,即从辅存把用户已经编译链接的目标程序(有时称为可执行程序)装入主存。由于用户作业的存储空间是运行时确定的,所以程序中的操作地址都采用相对地址(逻辑地址)的形式。把相对地址空间的程序转换成在绝对地址(物理地址)空间上能够执行的过程称为地址重定位,也称为地址映射或地址映像。地址重定位有两种:静态重定位和动态重定位。静态重定位是指在程序装入时完成,一般由软件实现;动态重定位是指在程序执行时实现地址转换,它通常由一个基本地址寄存器和一个加法器组成的动态重定位机制实现。
(2)存储管理的功能早期的单用户操作系统,一次只允许一个用户程序驻留,它拥有用户地址空间的全部访问权限,存储管理的任务是存储空间的分配与回收。在多道程序系统,多个程序同时驻留内存,如何有效地利用主存,如何让需要较大运行空间的作业运行,如何保护与共享主存等,都是存储管理应解决的问题。存储管理应提高存储资源的利用效率,又方便用户使用,存储管理的任务应具有如下功能:①分配与回收:主存分配方法有两种:静态分配与和动态分配。静态分配是指在目标模块装入主存时即取得所需空间,直至完成不再变动;动态分配则允许进程在运行过程中继续申请主存空间。采用动态分配方法的系统中,常配合使用合并自由区的方法,使一个连续的空区尽可能地大。②存储扩充:提供虚拟存储器,使计算机系统似乎有一个比实际主存储器容量大的主存空间。需考虑放置策略。③共享与保护:共享指共享在主存中的程序或数据,如多个用户共享编辑程序成编译程序等。由于多道程序共享主存,每个程序都应有它单独的主存区域,各自运行,互不干扰。
2.实存管理
(1)单一连续分配在单道程序系统中,主存区域的用户空间全部为一个作业或进程占用,单一连续分配方法主要用于早期单道批处理系统以及80年代个人计算机系统,单一连续分配方法主要采用静态分配方法,为降低成本和减少复杂度,常不对主存进行保护,会引起冲突而使系统瘫痪。
(2)固定分区分配固定分区分配法是把主存空间固定地划分为若干个大小不等的区域,划分的原则由系统决定。系统使用分区表描述分区情况。
(3)可变分区分配可变分区分配方法是将主存空间按用户要求动态地划分若干个分区。这样就消除了固定分区分配方法中的小作业占据大分区造成的浪费(这种浪费称为内碎片)。可变分区分配系统中初始时只有一个分区。随后,分配程序将这个区依次分给作业或进程。继续考察连续分配方案:一个作业必须占据相邻接的存储单元。在可变分区分配系统中,并不作出作业有多长的的假定(除了它们不能大于计算机内可利用主存的尺寸之外。当作业到达时,如果调度机构决定它们开始运行,它们就能获得必要的存储区,一点浪费也没有———存储区的分区与作业的长度相符。)但是,每种存储组织方案都包含一定程度的浪费。在可变分区分配系统中,主存中的作业在开始装入和归还自由区之前,主存浪费并不明显,这些自由区可以被其分作业使用。即使如此,剩余的自由区域可能变得很小。因此在可变分区分配系统中,确实会出现存储器浪费,这种现象称为外部碎片。①合并自由区在可变分区分配系统中,当一个作业完成时,能够检测到被释放的存储区是否与其他自由存储区域(自由区)相邻接。如果与其他自由存储区邻接,可以在自由存储区表记录上新增加一个自由区,或新的自由区与相邻接的现存自由区合并的单一自由区。合并相邻接的自由区以形成单个更大的自由区的过程叫做合并。用合并自由区的方法,我们重新获得最大可能连续的存储块。②存储拼接即使合并了自由区,经常发现分布在主存各处的破碎的自由区在主存中占据了相当数量的空间。有时,当一个作业申请一定数量的主存,而此时却没有单个的自由区大到足够装下这个作业,虽然自由区的总和大于新作业所要的存储区。存储拼接或存储紧凑也称碎片收集,移动存储器中所有被占用的区域到主存的某一端。这样留下单独的大的存储自由区,取代在可变分区多道程序设计中常见的许多小自由区。当所有可利用的自由存储区连续时,一个正等待着的作业能够调入运行,因为它的存储需求能被拼接形成的单个自由满足。③存储分配算法存储分配算法用来决定输入的程序和数据放到主存中的什么地方。
常用3种算法是:
最佳适应算法:选择最小的足够装入的可利用的自由区。对许多人来说,最佳适应看起来是最直观的,吸引人的算法。
首次适应算法:从主存低地址开始选择第一个足够装入的可利用的自由区。首次适应也具有直观吸引力,此算法可以快速做出分配决定。
最差适应算法:最差适应说的是,总是将一个程序放入主存中最大的自由区。这种方法吸引人的原因很简单:在大自由区中放入程序后,剩下的自由区经常也很大,于是也能装下一个较大的新程序。
(4)交换上述3种方法都把用户作业完全地连续存放在一个存储区区域中,为了能在较小的主存空间中运行较大的作业,常采用交换技术。交换技术是指将作业不需要或暂时不需要的部分(进程)移到辅存,让出主存空间以调入需要的部分,交换到辅存的部分也可以再次被调入。实际上这是有辅存作缓冲,让用户程序在较小的存储空间中,通过不断地换出作业或进程而运行较大的作业。
希望与更多计算机等级考试的网友交流,请进入计算机等级考试论坛
更多信息请访问:考试吧计算机等级考试栏目
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |