存储管理功能p
操作系统原理第5章 存储管理
![操作系统原理第5章 存储管理](https://img.taocdn.com/s3/m/26d98723d0d233d4b14e69fd.png)
• ⑶最佳适应算法
• 最佳适应算法的空闲链是按空闲区从小到大顺序排 列。为进程选择分区时总是寻找其大小最接近进程 所要求的存储区域。所谓“最佳”是指每次为进程 分配内存时,总是把能满足要求、又是最小的空闲 分区分配给进程,避免“大材小用”。
• 因为每次分配后所切割下来的剩余部分总是最小的, 这样将加速碎片的形成。
• ①如果被回收空闲分区没有空闲伙伴分区,那么保留该分区为一 个独立的空闲分区,否则执行②;
• ②合并回收分区及其伙伴分区,从而得到一个尺寸(2I+1)更大的 回收空闲分区,转移到①;
一个伙伴系统内存分配与回收的例子
• 伙伴系统克服了固定分区和动态分区存储管理技术的缺陷。但是伙伴 系统存在一个问题,即内存空间需要不断地进行分裂和合并,频繁的 伙伴分区合并操作会浪费很多时间。
• ③内存分配原则,以页帧为单位来分配内存,将进程若干个逻辑上连续的 页面装入若干个离散的页帧中,由页表提供进程的页号到存储空间帧号的 映射。
5.2.4伙伴系统
• 其实现原理如下: • 一个伙伴系统内存的用户可用空间为2U。进程申请存储空间时,
系统总是为其分配大小为2I的一个空闲分区。其中S≤I≤U,2S是系 统允许的最小分区尺寸。在实际操作系统中,最小分区尺寸一般 为212。 • 如果进程申请的存储空间大小为K,且2I-1<K≤2I,则将整个2I大小的 分区分配给该进程;否则,该分区被分割成两个大小相等的伙伴 分区,大小为2I-1;再判断K是否满足条件:2I-2<K≤2I-1,若满足条件, 则将两个伙伴中的任何一个分配给该进程。否则,将其中一个伙 伴又分成两个大小相等的伙伴分区;此过程一直继续进行,直到 产生的分区满足条件I-J≥S并2I-J-1<K≤2I-J,将2I-J大小的分区分配给该 进程;当I-J-1<S时,系统不再分割成两个大小相等的伙伴分区,将 2S大小的分区分配给该进程。 • 当进程执行完毕,释放一个尺寸为2I的分区时,系统用下面的算法 回收该分区。
第3章 存储管理
![第3章 存储管理](https://img.taocdn.com/s3/m/19f10082f5335a8103d220c7.png)
中 换 出
峰值当接近物。理 内 存 不 足 时 , 说 页明需W 到出求i磁页,nd盘多即ow以是只s便因有会释为当将放有内页空进存面间写。回 中没有可分配空间,同
换
时又必须调入内存新的
进
页面时,才需要换出页
面。
WindowsXP的存储管理
可
用
物
理 内
Available MBytes 是计 算机上运行的进程的可
第2节 存储管理功能
• 用户实体与存储空间 • 分配、释放及分配原则 • 地址映射 • 虚拟存储器 • 存储保护与共享 • 存储区整理
用户实体与存储空间
1.用户实体与存储器的关系
• 任务在被激活之前存放在辅助存储器上。 • 当任务被激活时,它成为进程进入主存储器。 • 进程的描述部分及主程序部分始终存放于主存储器,其他 程序和数据部分视需要由操作系统在内存与外存之间交换。
第三章
存储管理
学习要点
• 存储管理概述 • 存储管理功能 • 分区管理 • 分页管理 • 分段管理和段页式管理 • 常用系统中的存储管理
第1节 概述 及实用系统中的存储管理方法
• 概述 • DOS的存储管理 • WindowsXP的存储管理 • Linux存储管理
存储管理概述
• 主存储器是计算机系统硬件中仅次于CPU的宝贵资 源。
连续的用
户逻辑地址空 作业空间
OS
间,经过装入
程序直接装入
用
分区的低地址
户
部分的单一的
区
连续的区域。
单一分区
2.分配与释放
入口(作业逻辑空间)
逻辑空间≤用户区?
是 装入作业
否
出错: 内存不够
计算机操作系统复习资料
![计算机操作系统复习资料](https://img.taocdn.com/s3/m/da9abfc010a6f524cdbf854c.png)
一、单项选择题(1)操作系统是一种系统软件,它( B )。
A 、方便用户使用计算机B 、既能管理软件,又能管理硬件C 、控制程序的执行D 、只能管理(2) 以下有关操作系统设计目标描述错误的是( C )。
A 、 操作系统的目标之一是使得计算机系统能高效地工作B 、 操作系统是一种系统程序,其目的是提供一个供其他程序执行的良好环境C 、 操作系统的目标是虚拟机D 、 操作系统的目标之一是使得计算机系统使用方便 (3) 下列系统中, ( A )是实时系统。
A 、火炮的自动控制系统B 、管理信息系统C 、办公自动化系统D 、计算机集成制造系统 (4) 下列关于批处理操作系统的叙述中错误的是( C )。
A 、 “通道”和“中断”技术的出现,使得输入 /输出设备与CPU 可并行工作B 、 批处理系统可分为单道批处理系统和多道批处理系统C 、 批处理系统具有用户与计算机的直接交互能力,提高了系统资源的利用率D 、 单道批处理系统是一种单用户操作系统(5) 实时操作系统对可靠性和安全性要求极高,它( C )。
A 、不必向用户反馈信息B 、十分注重系统资源的利用率C 、不强求系统资源的利用率D 、不强调响应速度 (6) 以下关于计算机操作系统类型说法错误的是(D )。
A 、 网络操作系统和分布式操作系统都可以配置到计算机网络上B 、 实时操作系统是实现实时控制的系统,它由外部信号触发而工作C 、 基本操作系统包括批处理系统、分时系统、实时系统A 、 进程是具有特定功能的一组指令的集合,它指出了处理器执行操作的步骤B 、 进程可以并发执行C 、 进程具有动态性,多个不同的进程可以包含相同的程序D 、 进程具有3种基本状态:就绪状态、运行状态和阻塞状态 (9) 在一个单处理器系统中,处于运行状态的进程(C )。
A 、不能被打断B 、不能请求系统调用C 、只有一个D 、可以有多个 (10) 操作系统根据( D )控制和管理进程,它是进程存在的标志。
操作系统练习题3 -4
![操作系统练习题3 -4](https://img.taocdn.com/s3/m/5a64f414192e45361066f57f.png)
操作系统练习题3-4章一、判断题1. ( )系统发生死锁时,其资源分配图中必然存在环路。
因此,如果资源分配图中存在环路,则系统一定出现死锁。
2.( )虚拟存储器是由操作系统提供的一个假想的特大存储器,它并不是实际的内存,其大小比内存空间大得多。
3.( )操作系统的所有程序都必须常驻内存。
4.( )通过任何手段都无法实现计算机系统资源之间的互换。
5. ( )一旦出现死锁, 所有进程都不能运行。
6. ( )所有进程都挂起时, 系统陷入死锁。
7. ( )优先数是进程调度的重要依据, 一旦确定不能改变。
8. ( )虚拟存储系统可以在每一台计算机上实现。
9. ( )在虚存系统中, 只要磁盘空间无限大, 作业就能拥有任意大编址空间。
10. ( )在内存为M的分时系统中, 当注册的用户有N个时,每个用户拥有M/N 的内存空间。
11. ( )大多数虚拟系统采用OPT(优化)淘汰算法是因为它确实可以得到最小的缺页率。
12. ( )在作业调度时, 采用最高响应比优先的作业调度算法可以得到最短的作业平均周转时间。
13. ( )在请求页式存储管理中, 页面淘汰所花费的时间不属于系统开销。
14. ( )进程优先数是进程调度的重要依据, 必须根据进程运行情况动态改变。
15. ( )参与死锁的所有进程都占有资源。
16. ( )页式存储管理中, 用户应将自己的程序划分成若干相等的页。
17. ( )存储保护的目的是限制内存的分配。
18. ( )在页式虚拟存储系统中, 页面长度是根据程序长度动态地分配的。
19. ( )系统处于不安全状态不一定是死锁状态。
20.有m个进程的操作系统出现死锁时, 死锁进程的个数为1<k≤m。
21. ( )优先数是进程调度的重要依据, 优先数大的进程首先被调度运行。
22. ( )所谓最近最少使用(LRU)页面调度算法是指将驻留在内存中使用次数最少的页面淘汰掉。
23. ( )由于现代操作系统提供了程序共享的功能,所以要求被共享的程序必须是可再入程序。
存储管理
![存储管理](https://img.taocdn.com/s3/m/67bee89583d049649b6658ba.png)
存储管理主要是指对内存空间的管理(外存管理见文件 系统)。内存空间一般分为两部分:系统区和用户区。 系统区存放系统程序和系统数据等;用户区存放用户 的程序和数据等。存储管理主要是对内存中用户区进 行管理。
存储管理功能 内存资源管理 存储管理方式
1 存储管理功能
存储空间的分配和回收
静态地址映射:程序装入内存时进行地址转换; 动态地址映射:程序执行过程中进行地址转换, 需要硬件的支持。
2 内存资源管理
2.1 内存分区
分区时刻
静态分区:系统初始化时分; 动态分区:申请时分。 等长分区:2i 异长分区:依程序、程序单位、对象大小。 静态+等长(页式、段页式) 动态+异长(段式、可变分区方式)
X(段号1) e: 调用y段f
80k-1 D(段号3)
0 a: … 20k-1 段内地址 (二维地址)
逻辑地址=
段号
3. 对应关系
main
... 100k: 40k
...
200k:
x
60k
... 300k: 320k:
y
20k 80k ... 内存空间
d
进程空间
4. 所需表目
(1) 段表:每进程一个
b: l b 段号 ... 段首址 段长 … b’ … … l’ …
物理地址
b’+d
s
... ... b l ... PCB s d 逻辑地址 若查不到
+
段号 .. . s .. .
段长 段首址 … ... l’ b’ … ...
cp
b: l cp b + 段号 ... 段首址 段长 … b’ … ... l’ ...
计算机操作系统第四章-存储器管理
![计算机操作系统第四章-存储器管理](https://img.taocdn.com/s3/m/5b05149b6bec0975f465e253.png)
第四章存储器管理第0节存储管理概述一、存储器的层次结构1、在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。
但是,在现有技术条件下,任何一种存储装置,都无法从速度、容量、是否需要电源维持等多方面,同时满足用户的需求。
实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。
2、各种存储器•寄存器、高速缓存Cache:少量的、非常快速、昂贵、需要电源维持、CPU可直接访问;•内存RAM:若干(千)兆字节、中等速度、中等价格、需要电源维持、CPU可直接访问;•磁盘高速缓存:存在于主存中;•磁盘:数千兆或数万兆字节、低速、价廉、不需要电源维持、CPU 不可直接访问;由操作系统协调这些存储器的使用。
二、存储管理的目的1、尽可能地方便用户;提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。
(注意cpu和主存储器,这两类资源管理的区别)2、存储管理的主要功能:•地址重定位•主存空间的分配与回收•主存空间的保护和共享•主存空间的扩充三、逻辑地址与物理地址1、逻辑地址(相对地址,虚地址):用户源程序经过编译/汇编、链接后,程序内每条指令、每个数据等信息,都会生成自己的地址。
●一个用户程序的所有逻辑地址组成这个程序的逻辑地址空间(也称地址空间)。
这个空间是以0为基址、线性或多维编址的。
2、物理地址(绝对地址,实地址):是一个实际内存单元(字节)的地址。
●计算机内所有内存单元的物理地址组成系统的物理地址空间,它是从0开始的、是一维的;●将用户程序被装进内存,一个程序所占有的所有内存单元的物理地址组成该程序的物理地址空间(也称存储空间)。
四、地址映射(变换、重定位)当程序被装进内存时,通常每个信息的逻辑地址和它的物理地址是不一致的,需要把逻辑地址转换为对应的物理地址----地址映射;地址映射分静态和动态两种方式。
1、静态地址重定位是程序装入时集中一次进行的地址变换计算。
物理地址= 重定位的首地址+ 逻辑地址•优点:简单,不需要硬件支持;•缺点:一个作业必须占据连续的存储空间;装入内存的作业一般不再移动;不能实现虚拟存储。
存储管理实验报告_6
![存储管理实验报告_6](https://img.taocdn.com/s3/m/607bc76911661ed9ad51f01dc281e53a580251e5.png)
昆明理工大学信息工程与自动化学院学生实验报告(2012 —2013 学年第二学期)一、实验目的存储管理的主要功能之一是合理地分配空间。
请求页式管理是一种常用的虚拟存储管理技术。
通过本次实验, 要求学生通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解, 通过请求页式存储管理中页面置换算法模拟设计, 了解虚拟存储技术的特点, 掌握请求页式存储管理的页面置换算法。
二、实验原理及基本技术路线图(方框原理图)用C或C++语言模拟实现请求式分页管理。
要求实现: 页表的数据结构、分页式内存空间的分配及回收(建议采用位图法)、地址重定位、页面置换算法(从FIFO,LRU,NRU中任选一种)。
int subareaSize[num]={8,12,16,32,24,16,64,128,40,64};//分区大小Process *pro=NULL;//保持进程信息int ProcessNum=0;//进程数目int applyProcessNum=0;//每次申请进程数目int maxApplyNum=0;//最大可申请数目int *applyIndex=NULL;//申请进程队列int totalApplyNum=0;//申请总数int *assignPointer=NULL;//已分配内存的进程队列int assignFlag=0;//分配索引, 表示已申请队列已分配的进程数int exeIndex;//执行的进程号Node *subareaNode=new Node[3];//分区回收时, 进程所在分区及其前, 后分区信息LinkList createLinkList(int n );//建立空闲分区链Node firstFit(LinkList &head,Process pro);//首次适应算法Node nestFit(LinkList &head,Process pro,Node flag);//循环适应算法Node bestFit(LinkList &head,Process pro);//最佳适应算法Node worstFit(LinkList &head,Process pro);//最坏适应算法Node assign(LinkList &head,int orderIndex,int index,Node flagNode);//一次分区分配int assignMemory(LinkList &head);//内存分配void insertNode(LinkList &head,Node q,int index);//插入节点Node deleteNode(LinkList &head,int index);//删除节点int display(LinkList &head);//打印分区分配情况int lowAttemper(int *excursionPointer);//低级调度int findSubarea(LinkList &head,int index);//回收内存int creatProcess();//创建进程Process* randomCreatPro(int n);//随机产生进程下面是各种方法简述:(1) 最优替换算法, 即OPT算法。
操作系统期末考试总复习试题
![操作系统期末考试总复习试题](https://img.taocdn.com/s3/m/7ca82c6925c52cc58bd6bed3.png)
《操作系统》课程复习(一)题型:一、选择题(每题1分,共10分)二、判断题(每题1分,共10分)三、简答题(每小题6分,共30分)四、计算题(每题10分,共30分)五、综合应用题(20分)(二)复习:一、概论1.操作系统的概念、功能、分类(批处理、实时、分时)2.操作系统的特性3.中断的概念、CPU的状态二、进程管理和处理机调度1、进程管理的功能2、进程的概念(与程序的对比)3、PCB的概念和作用、进程的基本状态及其转换4、进程控制(进程的挂起、建立、停止、阻塞、撤消等)5、进程的同步与互斥的基本概念、(P、V操作)、进程通信、线程的基本概念6、处理级调度的基本概念,作业与进程的调度算法(先来先服务、短作业优先、最高响应比者优先、最高优先数)及评价7、死锁的概念、必要条件8、死锁的预防9、死锁的避免算法(银行家算法)死锁的检测三、存储器管理1.存储管理的功能2.地址映射、逻辑地址、物理地址等概念3.分区管理、分页管理、分段管理、段页式管理等上述管理方法的概念、各自的优缺点、分页与分段的地址转换、分页与分段的对比等4.请求分页管理(虚拟存储器概念、缺页概念、淘汰算法、抖动、缺页率等)四、设备管理设备的分类(块设备、字符输入输出设备)、设备管理的任务与功能、通道、缓冲区技术、设备的分配与设备处理、SPOOLING磁盘的调度五、文件管理1、文件管理的功能2、文件的逻辑结构3、文件的物理结构4、文件的目录管理(目录树)(三)复习题:一、选择题:1、操作系统是最重要的(B)。
A、应用软件B、系统软件C、计算机高级语言D、机器指令2、在采用SPOOLing技术的系统中,用户作业的打印输出结果首先被送到(A)。
A、磁盘固定区域B、显示器C、打印机D、键盘3、在批处理系统中,用户的作业是由(C )组成?A、程序集+数据集B、程序集C、控制命令序列+程序集+数据集D、数据集4、文件系统中若文件的物理结构采用顺序结构,则文件控制块FCB中关于文件的物理位置应包括(B)。
UNIXAIX文件系统存储管理逻辑卷管理PVVGPPLVLP
![UNIXAIX文件系统存储管理逻辑卷管理PVVGPPLVLP](https://img.taocdn.com/s3/m/309bb1f66e1aff00bed5b9f3f90f76c661374ce7.png)
UNIX AIX 文件系统存储管理逻辑卷管理 PV VG PP LVLPUNIX.AIX.文件系统.存储管理.逻辑卷管理.PV.VG.PP.LV.LP aix使用日志2008-05-14 17:05 阅读78 评论0 字号大中小一.逻辑卷管理概念 5个概念: 物理卷 physical volumes PV 每个独立的硬盘称作物理卷PV并有一个名字如hdisk0 卷组 logical volume group VG 所有的物理卷属于一个称作rootvg的卷组VG 物理分区 physical Partitions PP 所有在一个VG中的PV被分为相同大小的物理分区PP 逻辑卷 logical volumes LV 每个VG中可以定义一个或多个逻辑卷LVLV是位于PV上的信息的组合在LV上的数据可以连续或者不连续地出现在PV 逻辑分区 LP 每个LV包含一个或多个逻辑分区LP每个LV相当至少一个PP如果对LV指定了镜象就要有双倍的PP被分配用来存储每个LP的备份. LV可以提供许多系统需要的服务如页面空间但是每个存储了一般系统/用户数据或程序的 LV都包含一个单独的日志式的文件系统JFS每个JFS包含一群页面大小4K的块.AIX4.1以后一个给出的文件系统可以被定义为拥有小于 4k的片断.系统安装完毕后有一个VGrootvg包含一套系统启动的基本的LV和其它在安装脚本中指定的VG. 二.逻辑卷管理器操作系统命令/库子程序/其它工具允许建立和控制LV存储成为逻辑卷管理器LVM.LVM通过简单而灵活地在存储空间的逻辑视图和实际物理盘之间映射来管理磁盘资源. 1.LVM配置数据描述LMV的组件的数据存放在好几个地方.理解这些关于VG/LV/PV的描述性的数据放在几个地方是很重要的. 1ODM 数据库 ODM数据库包含了所有PVVGLV的配置信息.这些信息与VGDA中的信息互为镜象.ODM数据也和LV控制块中的信息相互镜象 2VG描述区VGDescriptorArea VGDA位于每个物理卷的开头它包含所有属于本VG的LV和PV的信息.VGDA被几乎所有的LVM命令更新.VGDA产生每个VG的自述.AIX可以读取每个磁盘的VGDA从VGDA中可以获知哪些PV和LV属于这个卷组.每个盘至少包含一个VGDA时间的变化很重要VGDA中的时间戳用于确定哪个VGDA正确地反映了VG的状态.如果VG中一个盘出错VGDA可能无法同步磁盘这样磁盘上的VGDA就无法在磁盘不运行的时候更新.所以需要一种方法来更新VGDA刚在线的磁盘这就是处理进程要做的. 当磁盘被创建为一个PV以mkdev命令的时候VGDA也被创建这时会在盘开始保留一段空间给VGDA.当PV被分派到一个VG用mkvg或extendvg的时候实际的VG信息就被写到VGDA中去.当一个PV从VG中删除的时候用reducevgVG信息也从VGDA中删除. 3VG状态区VGSA VGSA包含了PP和PV的状态信息.如VGSA知道一个VG中的PV是否不可用.VGDA和VGSA都有非常重要的开始和结束时间戳.时间戳可以让LVM了解最近的VGDA和VGSA的拷贝在时间上的变化. LVM要求选择VGDA的时间戳和选择VGSA的时间戳是相同的. 4LV控制块LVCB LVCB位于每个LV的开头.它包含了LV的一些信息占用几百个字节.可以使用getlvcb命令获取某个LV的LVCB信息并显示出来.如:getlvcb -TA hd2显示了hd2 LV的LVCB信息. 2.磁盘quorum 每个VG中的物理盘至少有一个VGDA/VGSA.一个盘中VGDA的数量根据VG中的盘的总数而变化.变化规律如下: VG中有一个PV两个VGDA在一个盘上 VG中有两个PV两个VGDA在一个盘上一个在另外一个盘上 VG中有两个以上的PV每个盘上有一个VGDA quorum是一种状态这种状态确保一个VG中一半以上的PV是可以访问的是活动的VGDA/VGSA的数量决策它可以确保在发生磁盘出错的时候的数据完整性. 如果quorum失败VG会关闭自身使磁盘不再可以由LVM访问防止磁盘进一步读写而导致的数据丢失.另外错误日志中也会记录该错误.这也暗示了磁盘镜象的某些注意的地方在一个双盘镜象的系统中如果第一个盘出错那么就丢失了66的 VGDA整个VG就变得不可用.这就失去了镜象的目的.由于这种原因两个以上的盘通常是奇数提供了更高的可用性特别是想使用镜象的时候. 也可以关闭任何VG的quorum保护.关闭quorum保护可以使一个VG在出现前面的情况的时候仍然在线.这种能力提供了相对廉价的镜象方案但是有数据丢失的危险.磁盘出错后数据可以访问但是不再被镜象了. 3.磁盘镜象磁盘镜象是两个或三个PP的联合与每个LV中的LP的联合.当数据被写到LV中的时候也被写入与该LV的LP关联的PP中所以镜象数据提高了数据的可用性.AIX和LVM提供了在LV级别上的镜象工具.如果镜象建立当LV创建的时候就可以实现. mklv命令允许为每个LV选择一到两个额外副本.镜象也可以被加入到一个已经存在的LV 中需要使用mklvcopy命令.采用以下镜象选项可以进一步提高数据可用性:三个数据副本比两个数据副本更可靠把LP副本分布在不同的PV上比分配在一个PV上可靠.进一步地可以把数据副本存放在不同适配器上的不同PV中. mirrorvg命令镜象一个VG中所有的LV.相同的功能也可以对VG中的每个LV用mklvcopy命令人工完成.使用mklvcopy时要被镜象的目标物理驱动器必须是该VG的成员.使用语法: mirrorvg -S -s -Q -c Copies -m VolumeGroup PhysicalVolume .. 默认情况下mirrorvg试图镜象LV到VG中的任何盘上.mirrorvg命令使用LV被镜象时的默认设置镜象LV.如果想改变镜象创建策略必须用mklvcopy手工去创建所有的镜象. 也可以使用smitty mirrorvg完成VG镜象: 三重镜象一个VG:mirrorvg workvg -c 3 workvg在workvg中的LV中的LP就有三个副本. 默认镜象rootvg:mirrorvg rootvg rootvg就有两个数据副本在镜象VG中替换失败盘:unmirrorvg workvg hdisk7gtgtreducevg workvghdiak7gtgtrmdev -l hdisk7 -d.替换失败的磁盘然后命名为hdisk7:extendvg workvghdisk7gtgtmirror workvg.默认情况下mirrorvg将试图为workvg中的LV创建两个副本试图创建新的镜象到被替换的磁盘.但是如果原系统是三重镜象的可能就没有新的镜象创建到hdisk7上因为该LV中的其它副本可能已经存在. 同步新创建的镜象:mirrorvg -S -c 3 workvgc参数指出mirrorvg后每个LV必须有的副本数.而-S参数指出立即返回mirrorvg命令并完成VG的后台同步.当镜象同步的时候不会显示出来但是一旦准备好可以立即被系统使用. 创建一个原样的镜象VG: mirrorvg -m datavghdisk2 hdisk3-m参数允许在PP层次镜象一个LV该LV的PP可以组织已经在源副本上组织好的数据. rootvg镜象:rootvg镜象完成要完成以下任务:1.bosboot命令从RAM文件系统和核心创建一个引导镜象.该命令在自定义新的镜象盘上的引导记录时是被要求使用的.2.bosboot命令总是为硬盘保存设备配置数据不更新NVRAM中的引导设备列表要修改列表使用bootlist.3.最后mirrorvg命令关闭quorum功能.要关闭rootvg的该功能系统必须重启.注意:如果bosboot命令没有成功创建引导盘不要重启.这个问题应该被解决并且bosboot命令成功完成运行.bosboot要求一些 /tmp和目标保存的文件系统中的空间如果该镜象存在. 非rootvg镜象:如果一个非rootvg被镜象quorum状态是去活的.要使所有 quorum去活所有开放的LV必须被关闭.然后VG varyoff再vary on使quorum改变生效.如果VG的vary on没有完成尽管镜象正常运行但quorum的改变没有生效. rootvg 和非rootvg镜象:系统dump设备主:/dev/hd6次:/dev /sysdumpnull不应被镜象在某些系统中页面设备和dump设备是相同的而用户想对页面设备做镜象.当mirrorvg探测到一个 dump设备和页面设备相同时该LV就会自动被镜象.如果mirrorvg发现dump设备和页面设备在不同的LV页面设备自动镜象而dumpLV 不会.dump设备可以用sysdumpdev命令来查询和修改. 三.物理卷管理讨论:加入新磁盘/改变PV属性/监控PV 6.3.1PV配置:三种方法 a该方法用于可以在连接磁盘前关机的情况.当系统在加入一个磁盘后引导cfgmgr命令在系统引导时运行它可以自动配置磁盘.引导完成以root用户登录运行lspv查看新盘.显示如下hdisk1nonenone 或者hdisk100005264d21adb2enone 其中第二行中的16位号码是PV的ID.如果输出以PVID显示新的磁盘他可以用于LVM的配置.如果新盘没有PVID要使用3.2节说明的方法把一个盘创建为一个PV然后该盘才可以被LVM使用. b这种方法适用于不能在连接磁盘前关机的情况.运行lspv列出已经配置的物理盘显示如下:hdisk0000005265ac63976rootvg 然后运行cfgmgr配置所有新发现的设备.再次运行lspv查看新盘条目例如: hdisk1nonenone 或者hdisk100005264d21adb2enone 一旦确认了新配置的盘名使用6.3.2描述的创建PV方法来使该盘可以被LVM使用. c 该方法适用于不能在连接磁盘前关机的情况.该方法要求知道以下信息:盘如何连接的subclass/磁盘类型type/盘连接到哪个系统接口parent name/盘的逻辑地址连接到哪里.如果知道以上信息使用以下方法配置该盘通过pvyes属性来确保该盘是一个可用的PV: mkdev -c disk -s subclass -t type -p parentname -w whereconnected -a pvyes pvyes属性使磁盘成为一个PV并以独特的PVID写入引导记录. 6.3.2把一个磁盘变为一个PV 一个新盘必须被配置为PV才可使用.可以通过指派一个PVID使一个磁盘变为一个PV:chdev -l hdisk1 -a pvyes.这个命令对于已经是PV的磁盘没有影响.6.3.3修改PV属性讨论两个可以被chpv命令修改的PV属性: 为一个PV设置分配许可:一个PV的分配许可决定了该PV上的未指派到LV中的PP是否可以被分配使用.设置分配许可要ㄒPV中一个新PP的分配是否被允许.以下的命令用于关闭hdisk1的分配许可:chpv -an hdisk1要打开把n该为y即可. 设置一个PV的可用性:一个PV的可用性定义了该PV是否可以完成任何逻辑输入输出操作.当一个PV被从系统删除或失败时应该被设为不可用.以下命令用于设置PV的状态为不可用:chpv -v r pvname这将去活PV中所有的VGDA和VGSA副本该PV也不会参与未来的quorum检查上的vary.关于该卷的信息也会从其它在一个VG 中的PV的VGDA中删除.要设为可用把以上命令的r 改为a即可.注意:chpv命令在运行时使用/tmp目录的空间存储信息如果失败可能是由于/tmp空间太少. 6.3.4删除PV 如果一个PV可以从系统删除那么它必须是没有配置的.使用rmdev命令把hdisk1的状态从available改变到defined状态:rmdev -l hdisk1.此后该PV的定义将仍然保留在ODM中如果加上-d参数则从ODM中删除. 6.3.5列出PV信息一个正确地配置在系统中的PV可以被指派到VG中并随后用于建立LV和文件系统.自由的PP的信息和磁盘上的扇区可用性非常有用.使用lspv命令可以获得这些信息. a列出系统中的PV:不带参数运行结果如下: lspv hdisk0 00615147ce54a7ee rootvg hdisk1 00615147a877976a rootvg 如果带-C和-c class参数也会连同每个PV的状态列出系统中的PV结果如下: lsdev -C -c disk hdisk0 Available 40-58-00-00 16 Bit SCSIDisk Drive hdisk1 Available 40-58-00-10 16 Bit SCSI Disk Drivehdisk2 Available20-68-L SSA Logical Disk Drive hdisk3 Available 20-68-L SSA Logical Disk Drivehdisk4 Available 20-68-L SSA Logical Disk Drive hdisk5 Available 20-68-L SSALogical Disk Drive hdisk6 Available 20-68-L SSA Logical Disk Drive b 列出PV属性:下面是用lspv命令找到更多信息的例子: lspv hdisk1 PHYSICAL VOLUME: hdisk1 VOLUME GROUP: rootvg PV IDENTIFIER: 00615147a877976a VG IDENTIFIER00615147b27f2b40 PV STATE: active//VG STATE可以用varyonvg命令来修改其取值有三个:active/complete所有PV是活动的active/partial一些PV没有激活ina- ctiveVG没有活动. STALE PARTITIONS: 0 ALLOCATABLE: yes//STALE PP是失效PPALLOCATABLE的值表示系统是否允许分配新的在该PV上的PP PP SIZE: 4 megabytes LOGICAL VOLUMES: 13//PP SIZE是VG属性是在用mkvg命令建立VG的时候定义的VG的最小片断大小 TOTAL PPs: 238 952 megabytes VG DESCRIPTORS: 1//VGDESCRIPTORS描述了包含该PV的VG中VGDA的个数 FREE PPs: 71 284 megabytes USED PPs: 167 668 megabytes FREE DISTRIBUTION:48..02..00..00..21//概括了自由PP依据它们所在的PV的位置的分布状况. USED DISTRIBUTION: 00..46..47..47..27 每栏的左边列出了PV本身的信息右边是该PV所属的VG的信息. c列出PV上的LV分配信息:以-l参数列出hdisk1上的LV信息:lspv -lhdisk1.显示结果: d列出PV上的PP分配:用lspv -p hdisk1找出更多关于PP分配到LV中的范围和这些PP使用的磁盘区域的详细信息.显示信息如下: 一些注释: PP RANGE当前行分区申请的PP的范围 STATE分区是否被分配了取值为:used或free REGION该分区在磁盘区域上的位置 LV NAME该分区所属的LV名 TYPE在LV中文件系统的类型 MOUNTPOINT文件系统的mount点 e列出PP分配表:可以用lspv -M命令对一个LV进行磁盘整理提高磁盘I/O性能.可以经过分析输出决定是否整理系统显示如下: 第一列为命令指定的盘指出了PP如果一组相邻分区都是自由的将会显示分区范围第二列指出了哪个LV的哪个LP被分配到该PP. f迁移PV中的内容:属于一个或多个指定的LV的PPs可以从一个PV移动到一个或多个其它在VG中的PV.这要使用migratepv命令.注意:该命令不能在不同VG之间移动数据.6.5.5讲述了如何在VG之间移动数据.要在VG内移动一个失败的盘中的数据有以下步骤: 1确定哪些盘在VG中确认目的和源PV在一个VG中.执行lsvg -p rootvg可以确认.然后进行第三步 2如果计划迁移到一个新盘又需要完成以下步骤:1用lsdev -Cc disk确认磁盘为PV2如果磁盘被显示可用确认该盘不属于其它VG:lspv PVNAME3如果磁盘不可用要检查或安装磁盘4加入新盘到VG中:extendvg VGname hdisknumber 3确认目标盘有足够的空间:1确认源盘PP数目:lspv SourceDiskNumbergrep quotUSED PPsquot2确认目标盘上的自由PP数目:lspv DestDiskNumbergrep quotFREE PPsquot把所有目标盘上的自由PP相加如果和大于源盘上使用的PP数就有足够的空间. 4要移动一个在非rootvg中的PV的数据的时候请跳到第5步.否则进行该步.查看是否bootLVhd5在源盘上:lspv -l SrcDiskNumgrep hd5没有输出则可以进行第5步.如果有输出运行migratepv -l hd5 SrcDiskNum DstDiskNum注意:如果VG在并发模式vary onmigratepv命令不可用而且该命令无法迁移条带化LV这种情况下要使用cplv拷贝数据再用rmlv删除旧数据该命令运行要有 root用户权限..下一步就会得到一条关于警告应该在目标盘上完成bosboot命令的消息注意:如果bootLV被从一个PV上迁移了源盘上的引导记录应该被清除如果清除失败可能会导致系统挂起.这样当运行bosboot命令时也必须运行mkboot -c运行mkboot -c命令清除源盘的引导记录. 5执行smitty migratepv迁移数据. 6按下F4列出PV选择源PV 7默认的目的PV是VG中随意的可用的PV如果想选择按F4 8如果愿意在Move only data belonging to this LV 域显示并选择一个LV.这就会只移动分配到指定的LV的该盘上的PP 9回车开始移动 10如果磁盘失败用reducevg VGname SrcDskNum从VG中删除源盘 11在从机器上拆下失败的硬盘的之前运行rmdev -l SrcDskNum -d 其它migratepv的用途:用该命令从hdisk1移动PPs到hdisk6和hdisk7均在一个VG:migratepv hdisk1 hdisk6 hdisk7 用该命令从hdisk1移动在某LV上的PP到hdisk6:migratepv -l lv02 hdisk1 hdisk6 四.卷组管理讨论可以在VG中完成的功能.象PV一样VG可以被创建/删除/更改属性.还可以激活或去活一个VG. 6.4.1加入一个VG.一个VG要被加入系统需要系统中存在一个或多个PV这些PV必须是可用状态且没有被其它VG使用.在加入一个VG之前需要确定一些重要信息如VG名和要被加入到VG中的PV.新VG可以通过用mkvg命令或smit加入系统.所有属性在VG创建时设置以下是非常重要的一些问题:VG名在系统中必须是唯一的所有要在VG中使用的PV的名字VG可以容纳的 PV的最大数量VG 中的PP的大小每次启动系统时自动激活VG的标识.下面用mkvg命令创建一个名为myvg的VG使用hdisk1和 hdisk5两个PV每个PP的大小是4k该VG限制能容纳最多10个PV.命令如下: mkvg -y myvg -d 10 -s 8 hdisk1 hdisk5 也可以使用smitty mkvg来创建在界面各个域中输入属性值即可.smitty mkvg会用varyonvg 自动激活VG.但smit命令与命令行方式相比限制了以下功能:smitty mkvg不提供-d参数设置能容纳的最多PV个数仅使用默认的32个不提供-m参数设置PV的最大容量该参数决定多少PP被使用默认的是1016 个分区smitty mkvg用-f参数强制创建VG.注意:每用mkvg创建一个新VG根文件系统至少应该有2MB自由空间可以用df命令来检查因为每创建一个新 VG/etc/vg目录就会写入一个文件. 6.4.2修改VG属性修改活动属性用以下命令可以让名为newvg的VG在每次系统启动时自动被vary on: chvg -ay newvg 如果要关闭自动vary on功能用: chvg -an newvg. 对VG解锁当LVM命令在操作时因为系统冲突异常中断VG将被锁住要解锁可以用: chvg -u newvg 加入一个PV要增加VG的空间需要VG中额外的PV可用.加PV的命令是extendvg下面是一个加PV的例子: extendvg newvg hdisk3 注意:如果一个要加的PV已经属于一个vary on的VG扩展会失败如果属于一个vary off的VG用户也会被提示是否确定要继续.也可以使用smitty vgsc命令来实现要选择Add a PV to a VG. 删除一个PV要减少VG的PVVG必须是vary on的.下面是删除的例子: reducevgmyvg hdisk3 可以用smitty reducevg从一个VG中删除一个PV.注意:reducevg命令提供了-d和-f参数.-d参数很危险因为它会在从VG中删除PV之前自动删除所有在PV上的LV数据如果一个LV跨越了多个PV那么任何这种PV的删除会危害整个LV的完整性.而-f参数则使-d参数更危险它禁止和用户交互无法让用户确认是否要删除. 如果在要被删除的PV上的LV跨越了VG中其它PV删除操作会破坏这些LV的完整性而不管它们所在的PV.如果删除一个VG中所有PV则VG本身也被删除. 删除PV的参数有时从系统中删除磁盘没有先运行reducevgVGDA仍然保存了被删除的磁盘的参数而PV名已经不存在或被重分配了.要删除这些参数仍然可以在reducevg命令中使用被删除的PV的PVID.如要删除PVID为 000005265ac63976则可以用:reducevg newvg 000005265ac63976. 6.4.3导入导出VG 有时候一个VG需要被从一个系统移动到另外一个系统以便于其中的LV和文件系统可以在目标系统中被直接访问.要删除ODM数据库中一个VG的系统定义该VG需要用exportvg命令导出.该命令不会删除VG中的任何用户数据而只删除它在 ODM数据库中的定义.同样当一个VG被迁移了目标系统需要加入该VG的定义.这可以通过用importvg命令导入VG来完成这会在ODM数据库中加入一个条目.例子:导出myvg的定义:exportvg myvg导入myvg:importvg -y myvg hdisk12可以使用smitty exportvg或smitty importvg来导入或导出.如果指定的VG名正在使用importvg命令将会失败因为相同的VG名是不被允许的.在该实例中该命令可以返回一个独特的指定的VG名.该命令也可以没有-y参数或VG名得到返回但这样执行时被给定了一个默认唯一的导入名. 也有可能某些LV名与系统中已有的冲突.importvg命令将自动以系统默认名命名.重要的是要记住当移动VG时exportvg命令总是在源系统中执行并且先于导入目标系统的操作.假设到一个VG被导入系统Y没有在系统X上实际完成 exportvg.如果系统Y对VG作了诸如删除PV的改变而后来VG又被导回系统X系统X上的ODM数据库将和VG上改变过的信息不一致但在移动前没有在源系统上导出那兔挥惺裁匆庖辶?也可用exportvg和importvg改变用户定义的VG名.如以下命令:lspv列出所有的 PVvaryoffvgvg00exportvgvg00importvg -y cadsvg hdisk1lspv就可以发现两次lspv的不同.注意:如果当前系统包含一个相同的名字的LVimportvg命令改变被导入的LV的名字.同时如果一个LV被改名一个错误消息被打印到标准错误输出如果没有冲突该命令还创建文件mount点和/etc/filesystems中的条目. 有页面文件的VG中如果页面文件是活动的VG不能被导出.在导出一个包含活动页面的VG之前确认页面空间不会在系统初始化时自动激活要使用:chps -a n page_space_name然后重启系统. 如果不能用smitty importvg命令激活VG必须用varyonvg命令来使文件系统和LV可用. 如果导入的VG包含文件系统或者通过smitty importvg激活了VG建议在mount文件系统之前使用fsck命令检查文件系统.如果移动一个VG到其它系统确认在移动前反配置这些盘即导出. smitty exportvg命令删除在/etc/filesystems中的文件系统参数但留下mount点在系统中. 6.4.4打开关闭一个VG 一个VG存在就可以使用varyonvg命令使其可以被系统管理活动可用.这个处理包含的步骤如下: 1.一个VG的每个P.。
第四章 存储器管理(1-2)
![第四章 存储器管理(1-2)](https://img.taocdn.com/s3/m/51c57d25ed630b1c59eeb532.png)
物理地址空间
Load A data1
100
Load A 200
1100
Load A 1200
编译 连接
data1 3456 200 3456
地址映射
1200 3456 。 。
第四章 存 储 器 管 理
地址映射的方式
静态地址映射: 1)程序被装入内存时由操作系统的连接装入程序完成 程序的逻辑地址到内存地址的转换; 2)地址转换工作是在程序执行前由装入程序集中一次 完成。 假定程序装入内存的首地址为BR,程序地址为VR,内存 地址为MR,则地址映射按下式进行:MR=BR+VR
② 便于实现对目标模块的共享:将内存中的一个模块可 以连接到多个程序中。 ③ 要运行的程序都必须在装入时,全部连接调入内存。
第四章 存 储 器 管 理
3. 运行时动态链接(Run-time Dynamic Linking) 动态链接方式:将对某些模块的链接推迟到执行时才实施, 亦即,在执行过程中,当发现一个被调用模块尚未装 入内存时,立即由OS去找到该模块并将之装入内存, 把它链接到调用者模块上。特点如下: 特点:凡在执行过程中未被用到的目标模块,都不会被调 入内存和被链接到装入模块上,这样不仅可加快程序 的装入过程,而且可节省大量的内存空间。
硬件支持:在动态地址重定位机构中,有一个基地址寄存器BR和一 个程序地址寄存器VR,一个内存地址寄存器MR。
转换过程:MR=BR+VR
第四章 存 储 器 管 理
把程序装入起始地址为100的内存区
0 100
重定位寄存器 1000
…
MOV r1,[50]
0 1000 1100
… …
MOV r1பைடு நூலகம்[50]
第4章_内存管理
![第4章_内存管理](https://img.taocdn.com/s3/m/c408a20eeff9aef8941e0642.png)
(3)最坏适应分配算法(WF)
它每次分配主存时总是挑选一个最大的空闲区, 分割一部分给作业使用,使剩下的部分不至于太小 而成为主存碎片。为实现这种算法,把空闲区按长 度递减的次序登记在空闲分区表中,分配时,顺序 查找。 它的优点是不会产生过多的碎片。不影响大作 业的分配。另外收回主存时,要按长度递减的顺序 插入到空闲分区表中,增加了系统开销。
(2)最优适应分配算法(BF)
它是从所有的空闲分区中挑选一个能满足作业 要求的最小空闲区进行分配。这样可以保证不去分 割一个更大的空闲区,使装入大作业时比较容易得 到满足。为实现这种算法,把空闲区按长度递增次 序登记在空闲分区表中,分配时,顺序查找。 它的优点是解决了大作业的分配问题,不足是 容易产生主存碎片,降低了主存空间的利用率。另 外收回主存时,要按长度递增顺序插入到空闲分区 表中,增加了系统开销。
相应地,将内存空间划分成与页相同大小的 若干个物理块,称为块或页帧。 在为进程分配内存时,将进程中若干页分别 装入多个不相邻接的块中。
4.3.1 页式管理概述
2.地址结构: 分页系统的地址结构由两部分组成:前一部分 为页号P;后一部分为位移量W,即页内位移。 在下图中地址为32位,其中0~11位为页内位 移(每页的大小为4K),12~31位为页号,所以允 许地址空间的大小最多为1M个页。
地址重定位的原因是什么?
因为程序在装入内存后,其逻辑地 址和物理地址不一致。
源程序 (名空间)
0
逻辑地址空间
物理地址空间
BA=1000
Load A data1
100
Load A 200
Load A 200
编译 连接
data1 3456 200 3456
地址映射
存储管理
![存储管理](https://img.taocdn.com/s3/m/e913ce6aa98271fe910ef919.png)
第四章 存储管理
OS 作业1 (8 KB) 作业4 (24 KB) 作业5 (128 KB)
作业4 (24 KB)
作业6 (256 KB) 作业7 (256 KB)
888 KB
1024 KB (a) (b)
(c)
图 4.9 可再定位式分区分配的靠拢过程
第四章 存储管理
352 KB 有效地址 352 KB + 50 L 1,352 K + 9800 352 KB + 9800 浮动寄存器 -32 KB
第四章 存储管理
第四章
存储管理
4.1 4.2 4.3 4.4 4.5 4.6 存储管理的基本概念 早期的存储管理 分页存储管理 请求分页存储管理 分段存储管理 段页式存储管理
第四章 存储管理
4.1 存储管理的基本概念
存储管理的主要内容:
1. 2.
存储分配问题:研究存储共享和各种分配算法。 地址再定位问题:研究各种地址变换机构, 以及 静态和动态再定位方法。 存储保护问题:研究保护各类程序、 数据区的方 法。 存储扩充问题:主要研究虚拟存储器问题及其各种 调度算法。
实现了主存的共享,因而有助于多道程序设计,更 有效地利用了处理机和I/O设备,从而使系统的吞吐 量和作业周转时间得到了相应的改善。 相对于后面介绍的存储管理方式,本方案为实现分 区分配所使用的表格、占用的存储容量相对较少, 算法也相对简单。 实现存储保护的措施也比较简单。 多重分区分配方案能实现对子程序、 数据段的共享。
剩余容量 7KB 23KB 23KB 87KB 399KB 539 KB
可变式分区法
作业4 24 KB 作业5 128 KB 作业6 256 KB
第四章 存储管理
lvm管理存储(JanV)
![lvm管理存储(JanV)](https://img.taocdn.com/s3/m/e917a70016fc700abb68fc35.png)
LVM存储管理LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
基本概念:物理卷PV(Physical Volume):物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。
卷组VG(Volumne Group):卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。
一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
逻辑卷LV(Logical Volume):逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。
系统中的多个逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。
PE(Physical Extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。
物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。
LE(Logical Extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。
认识fdisk工具Command actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitionl list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)开干:1、认识磁盘Disk /dev/sdb: 1073 MB, 1073741824 bytes255 heads, 63 sectors/track, 130 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System可以看到这个磁盘还未被格式化,没有分区类型,共1073M,255个磁面,有63个扇区,130个磁柱。
计算机操作系统教程_第四版_(张尧学著)_清华大学出版社_第5章new存储管理
![计算机操作系统教程_第四版_(张尧学著)_清华大学出版社_第5章new存储管理](https://img.taocdn.com/s3/m/37e814f7102de2bd960588fd.png)
(4)重定位及存储保护
重定位过程,其步骤概括如下: 1)页号p和页内地址w 2)存储保护 3)利用页表得到块号 4)形成物理地址
分页重定位
例子 在某静态分页存储管理中,已知内存共的32块, 块长度为4K,当前位示图如图5-22所示,进程 P的虚拟地址空间大小为50000。 (1)进程P共有几页?
3.主要特点
能够支持多道程序设计 并发执行的进程数受分区个数的限制 程序大小受分区长度的限制 存在“碎片”
减少碎片
四、可变分区存储管理 1.基本思想
用户区作为空闲区,根据程序实际需求量,分 配空间,并可回收使用后的空间。
2.实现关键
(1)数据结构设计
可用表 空闲区链表
请求表 struct FreeNode { long start; long length; struct FreeNode *next; 针 //分区的起始地址 //分区的长度 //向下指针
4.虚拟存储器思想 (1)虚拟存储器要解决的主要技术有:理论基 础、调入策略和置换算法 (2)理论基础--程序的局部性原理
在程序运行过程的一个较小时间范围内,只需要 一小部分的程序信息,其他部分暂时不需要;而 且在程序的一次执行过程,程序的所有指令和数 据并没有相同的访问概率,有一部分指令和数据 经常被访问,有一部分指令和数据很少被访问, 甚至存在部分指令和数据根本没有被访问。 程序的局部性原理又分为时间局部性和空间局部 性
假定,在位示图中的一个位用bitmap[i,j]表示,其中i 称为字 号,表示第i行即第i个字;j称为位号,表示在第i个字中的第j 位,这里规定从低位开始计算。如果位示图中的第i个字记为 bitmap[i],那么 bitmap[i,j]=(bitmap[i] >>j )&1
《操作系统》题库及参考答案
![《操作系统》题库及参考答案](https://img.taocdn.com/s3/m/37642e6a27d3240c8447ef24.png)
《操作系统》练习测试题库一、单项选择题1. 在OS中,进程是一个具有独立功能的程序在某个数据集上的一次()。
A 执行B 操作C 中断D 调度2. 分时操作系统通常采用()算法为用户服务。
A 时间片轮转B 最短作业优先C 先来先服务D 优先数调度3. 操作系统是对()进行管理的软件。
A 系统软件B 计算机资源C 用户程序D 计算机硬件4. 文件的逻辑组织将文件分为记录式文件和()。
A 索引文件B 连续文件C 流式文件D 块文件5. 将作业地址空间中的逻辑地址转换为内存中的物理地址的过程称为()。
A 重定位B 逻辑变换C 地址交换D 进程创建6. 面向对象的操作系统首先是为了保护()而开发的,无论何种对象,都可以被看作是受保护的基本单位。
A 个人隐私B 资源共享C 公共资源D 网络资源7. 一个作业从提交给系统到该作业完成的时间间隔称为()。
A 周转时间B 响应时间C 等待时间D运行时间8. UNIX系统中,用于创建新进程的系统调用命令是()。
A forkB pipeC exitD read9. 下列哪项不是分时操作系统的特点()。
A 交互性B 多路性C 独占性D 自治性10. 不仅要给每个进程赋以一个优先数,而且还要设置一对标志(u,v)的进程调度的方式是()。
A 非抢占方式B 非剥夺式C 抢占方式D 选择抢占方式11. 实现虚拟存储器的目的是()。
A 实现存储保护B 实现信息共享 C扩充辅存容量 D 扩充主存容量12. 为了使多个进程能有效地同时处理输入输出,最好使用()结构的缓冲技术。
A 单缓冲B 双缓冲C 环型缓冲D 缓冲池13. 设备管理是对计算机()的管理。
A 输入/输出系统B 存储设备C 供电设备D 虚拟设备14. 引起中断发生的事件被称为()。
A 中断源B 中断请求C 中断响应D 中断屏蔽15. 在设备分配方式,动态分配()。
A 在用户作业开始执行之前B 设备的使用效率低C 不符合设备分配的总原则D 有可能造成进程死琐16. 现代小型操作系统一般都按照()来组合各个功能模块。
怎么理解操作系统五大管理功能.doc
![怎么理解操作系统五大管理功能.doc](https://img.taocdn.com/s3/m/ab98567cb7360b4c2e3f64d4.png)
怎么理解操作系统五大管理功能操作系统五大管理功能系统是管理和控制计算机系统中的所有硬件、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
计算机系统的主要硬件资源有处理器、存储器、外部设备,软件资源以文件形式存在外存储器上。
因此从资源管理和用户接口的观点上看,操作系统具有处理机管理、存储管理、设备管理、文件管理和提供用户接口的功能。
用户接口计算机用户与计算机的交流是通过操作系统的用户接口(或称用户界面)完成的。
操作系统为用户提供的接口有两种,一是操作界面;二是操作系统的功能服务界面。
.存储管理存储管理的主要工作是对内存储器进行合理分配、有效保护和扩充。
设备管理当用户程序要使用外部设备时,设备管理控制(或调用)驱动程序使外部设备工作,并随时对该设备进行监控,处理外部设备的中断请求等。
处理机管理计算机系统中处理机是最宝贵的系统资源,处理机管理的目的是要合理地按的时间,以保证多个作业能顺利完成并且尽量提高CPU的效率,使用户等待的时间最少。
操作系统对处理机管理策略不同,提供作业处理方式也就不同,例如,批处理方式、分时处理方式和实时处理方式。
文件系统管理补充:操作系统常用维护技巧1,在开始菜单中选择控制面板选项,打开控制面板窗口,单击管理工具链接2,在打开的管理工具窗口中双击事件查看器图标3,接着会打开事件查看器窗口,主界面如图所示。
4,在右侧窗格中的树状目录中选择需要查看的日志类型,如事件查看器本地--Win日志--系统日志,在接着在中间的系统列表中即查看到关于系统的事件日志5,双击日志名称,可以打开事件属性对话框,切换到常规选项卡,可以查看该日志的常规描述信息6,切换到详细信息选项卡,可以查看该日志的详细信息7,打开控制面板窗口,单击操作中心链接,打开操作中心窗口,展开维护区域8,单击查看可靠性历史记录链接,打开可靠性监视程序主界面,如图所示,用户可以选择按天或者按周为时间单位来查看系统的稳定性曲线表,如果系统近日没出过什么状况,那么按周来查看会比较合适。
计算机操作系统第七章 - 存 储 管 理
![计算机操作系统第七章 - 存 储 管 理](https://img.taocdn.com/s3/m/f8fd43333968011ca30091c8.png)
分页系统中的地址映射
图5-16 分页系统的地址转换机构 每个进程平均有半个页面的内部碎 片
页面尺寸
设进程的平均大小为s字节,页面尺寸为p字节 ,每个页表项占e字节。那么,每个进程需要的 页数大约为s/p,占用 s . e /p 字节的页表空间。 每个进程的内部碎片平均为p/2。 因此,由页表和内部碎片带来的总开销是: s . e /p+p/2
• • •
虚拟存储器的特征
① ② ③ ④
虚拟扩充。 部分装入。 离散分配。 多次对换。
地址重定位( 地址重定位(地址映射)
• • • • • • • • • • • •
MOV AX,1234 ;立即数寻址 MOV [1000],AX 存储器直接寻址 MOV BX,1002 ;立即数寻址 MOV BYTE PTR[BX],20 ;基址寻址 MOV DL,39 ;立即数寻址 INC BX ;寄存器寻址 MOV [BX],DL ;基址寻址 DEC DL ;寄存器寻址 MOV SI,3 ;立即数寻址 MOV [BX+SI],DL ;基址加变址寻址 MOV [BX+SI+1],DL ;基址+变址+立即数寻址 ;基址+变址+ MOV WORD PTR[BX+SI+2],2846 ;基址+变址+立即数寻址 ;基址+变址+
页面置换算法
页面置换
1.页面置换过程
图5-35 页面置换
需要解决的问题
• 系统抖动 • 缺页中断
•
在学汇编时,很多初学者对PC的寻址方式和很 在学汇编时,很多初学者对PC的寻址方式和很 不理解,甚至是很难理解。的确,这方面的知识 是很抽象的,需要比较强的空间想象能力。尤其 是我们在输入字符串时,那这些字符是如何进行 排列的呢?对于,这个问题,我相信很多初学者 也是很难想象是如何排列。但是,我可以这样比 喻:内存就是有很多栋“楼房” 喻:内存就是有很多栋“楼房”,“楼房”又是 楼房” 由“单元号”,“门户号”组成,那“楼房”就 单元号” 门户号”组成,那“楼房” 相当于内存地址的段地址,“单元号” 相当于内存地址的段地址,“单元号”就相当于 内存的的 偏移地址,“门户号(家)”就相当于“变 偏移地址,“门户号( 就相当于“ 地址”,而每个单元有16个 门户号( )",又当我 地址”,而每个单元有16个"门户号(家)",又当我 们找到"门户号( )"后 走进这个"门户号( )"就会 们找到"门户号(家)"后,走进这个"门户号(家)"就会 见到里面会有" ",而我们所说的人就是寄存器所 见到里面会有"人",而我们所说的人就是寄存器所 指的"内容" 指的"内容"了,
一级全真试题解析讲解
![一级全真试题解析讲解](https://img.taocdn.com/s3/m/fcff15d94afe04a1b071deec.png)
一、选择题答案(1) 下列________语言内置面向对象的机制,支持数据抽象,已成为当前面向对象程序设计的主流语言之一。
答案:DA、LISPB、ALGOLC、CD、C++解析:P128页第三章,C++具有数据抽象和面向对象的能力,一直是面向对象程序设计的主流语言。
高级语言的发展⏹50年代:Fortran,ALGOL⏹60年代:COBOL语言,BASIC语言⏹70年代:Pascal 语言,C语言⏹80年代: Ada语言,PROLOG语言,LISP语言⏹90年代起:面向对象语言C++、 JAVA、C#等(2) 为了避免主机域名重复,因特网的名字空间划分为许多域,其中指向教育领域站点的域名常采用________。
答案:CA、GOV(政府)B、COM(工商金融企业)C、EDU(教育)D、NET(互联网络信息中心和运行中心)解析:GOV(政府)、COM(工商金融企业)、EDU(教育)、NET(互联网络信息中心和运行中心)(3) 使用Pentium 4作为CPU的PC机中,CPU 访问主存储器是通过_________进行的。
答案:DA、USB 总线B、PCI总线C、I/O总线D、CPU总线(前端总线)解析:P39页第二章,连接cpu和内存的总线称为CPU总线(前端总线),连接内存和I/O设备的总线称为I/O总线(4) 下列有关我国汉字编码标准的叙述中,错误的是__________。
答案:CA、GB18030汉字编码标准与GBK、GB2312标准兼容B、GBK汉字编码标准不仅与GB2312标准兼容,还收录了包括繁体字在内的大量汉字C、GB18030汉字编码标准中收录的汉字在GB2312标准中一定能找到D、GB2312所有汉字的机内码都用两个字节来表示解析:P227页(第五章),A、B、D正确,GB18030与GBK、GB2312保持向下兼容,所以C不一定(5) 下面是关于BIOS的一些叙述,正确的是________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
反置页表查找
由表头起始,平均为表长度的一半 速度慢
解决方案
在反置页表前增加一级杂凑表
查找杂凑表与反置页表需要两次访问内存
为进一步提高速度,快表缓冲
6.3.3 分段式存储管理(segmentation)
1. 内存空间划分:动态异长,每区一段。 物理地址= 段首址+段内地址
k2i:
第k页 ...
(2n-i-1)2i:
第2n-i-1页
6.3.2 分页式存储管理
2. 进程空间划分:静态等长,2i, 称为一个页面。 02i: 12i: 第0页 逻辑地址=逻辑页首址+页内地址
第1页
...
=逻辑页号 2i +页内地址
= 逻辑页号 页内地址
k2i:
第k页
...
2i
i位
(l-1)2i:
第l-1页
3. 进程空间与内存空间对应关系 ...
第15页
第0页 第1页 第2页 第3页 进程空间 第16页 ... 第22页 ... 第32页 ...
内存空间
4. 所需表目: (1)页表,每个进程一个 逻辑页号: 0 1 2 物理页号 15 22 16
5. 所需寄存器 (1) 页表首址寄存器: b
(fragment)。
Eg. 申请30将留下长 度为2的空闲区。
最坏适应算法(Worst Fit)
空闲区:首址递增排列;
空闲区首址 128 256 1024 空闲区长度 64 32 256 0 ... ... 申请:取最大可满足区域; 优点:防止形成碎片。 缺点:分割大空闲区域。
UNIX存储分配--FF
6.2 内存资源管理
6.2.1 内存分区
分区时刻 静态分区:系统初始化时分; 动态分区:申请时分。 分区大小 i 等长分区:2 异长分区:依程序、程序单位、对象大小。 通常作法 静态+等长(页式、段页式) 动态+异长(段式、界地址)
6.2.2 内存分配
静态等长分区的分配
6.3.1 界地址管理方式
4.3.1.1 基本原理
1. 内存空间划分:动态异长;
2. 进程空间划分:一个进程一个区域,逻辑地址0l-1 3. 进程空间与内存空间对应关系(可以浮动): ... 0: b:
l
l-1: b+l-1: ... 内存空间
进程空间
6.3.1 界地址管理方式
4. 所需表目: (1)内存分配表--在PCB中; (2)空闲区域表:array of (addr,size)。 5. 所需寄存器: (1)基址寄存器;
6.3.2.2 多级页表
提出背景
进程虚拟空间大幅度增加
单级页表需要很大连续内存空间 页表所占内存空间浪费
多线程设计导致进程虚拟空间不连续性
例如
32位进程地址空间,页长4k(占12位),页号20位,页表 需要220个入口!
二级或多级页表
解决策略
Two-Level Page-Table Scheme
系统一个
(2) 页表长度寄存器: l 系统一个
(3) 快表:系统一组: 逻辑页号 ... p ... 页架号 ...
3
32
(2)总页表:系统一个
f ...
6. 地址映射 : (p,d)(f,d){} 逻辑地址(p,d)物理地址(f,d)
(1) 由程序确定逻辑地址(p,d);
(2) 由p查快表得页架号f; 如查不到: (a) 由p与l比较,判别是否越界: 不满足:0pl-1,越界;
6.2.3 碎片处理
紧凑:移动占用区域,使所有空闲区域连成一片(开销很大)。 OS OS
256k:
264k:
8k P1(248k) 6k P2(250k)
256k:
504k: 754k:
P1
512k:
518k:
P2
18k
768k:
4k
6.3 存储管理方式
界地址管理方式(一维地址) 页式管理方式(一维地址) 段式管理方式(二维地址) 段页式管理方式(二维地址)
(b) 由p和b查页表得f, (p,f)快表,如满淘汰一个;
(c) 转(2); (3) f与d合并得物理地址
l
cp
b
+
b: 逻辑页号 ... p ...
物理地址 页架号 ... f ... ...
f
d
... b
l ...
PCB p
p
f
逻辑页号 ... p ...
页架号 ... f ...
d
逻辑地址
(2)限长寄存器。
6. 地址映射:
6.3.1 界地址管理方式
进程空间
0:
逻辑地址
l a
b
内存空间 ... b: a+b b+l-1: ...
CP
+
l
l-1:
步骤:(1) 由程序确定逻辑地址a;
(2) a与l比较判断是否越界, 不满足:0al-1,越界; (3) a与b相加得到物理地址。
6.3.1 界地址管理方式
第六章 存储管理
存储管理功能 内存资源管理 存储管理方式 外存空间管理 虚拟存储系统
6.1 存储管理功能
存储分配和去配
分配去配对象
内存、外存(相同方法)
分配去配时刻
进程创建、撤销、交换、长度变化
存储共享
目的:节省内存、相互通讯
内容:代码、数据映象图 空闲页面表
空闲页面链
动态异长分区的分配
最先适应 (First Fit)
最佳适应 (Best Fit) 最坏适应 (Worst Fit)
字位映象图(bit map)
用一个bit代表一页状态,0表空闲,1表占用。( 多单元) 1 0 0 … ... 1 第 k 页 ... ... 1 0 第 n 页
条件:在外时间3秒;在内时间2秒。
6.3.2 分页式存储管理(paging)
6.3.2.1 基本原理 1. 内存空间划分:静态等长,2i, 称为一个页架。 02i:
12i:
第0页 第1页 ...
物理地址=页架首址+页内地址 =页架号 2i +页内地址 = 2i n-i位 i位 页架号 页内地址
Address-translation scheme for a two-level 32-bit paging architecture
Even though time needed for one memory access is quintupled, caching permits performance to remain reasonable
第 第 第 页 页 页
分配:自头寻找第一个为0的位,改为1,返回页号; 去配:页号对应的位(bit)置为0。
2 1 0
空闲页面表
... 首页号 ... 120 ... 空页数 ... 4 ... 占用 120页 121页 122页
123页
特点:可以分配连续页面。 占用
...
空闲页面链
Head: 占用 优点:节省空间。 (不适合管理外存) 占用
占用
动态异长分区的分配
数据结构:
空闲区首址 空闲区长度 Criteria: 尽量使空闲区域连续。
...
2500
...
1500
...
...
初始时一个连续空闲区。
长度=0为表尾。
最先适应算法(First Fit)
空闲区首址 128 256 1024 空闲区长度 64 32 256 0 ... ... 空闲区:首址递增排列; 申请:取第一个可满足区域;
防止操作越权
6.1 存储管理功能(Cont.)
存储扩充
内存、外存结合,虚拟存储体系 速度接近内存,容量相当外存
地址映射
逻辑地址=>物理地址 硬件支持 基址寄存器(base)、限长寄存器(limit)、快表; 使用上述寄存器完成地址映射过程; 不能正常完成地址映射时产生中断。
struct map { char *m_size; char *m_addr; };
struct map coremap[CMAPSIZ]; struct map swapmap[SMAPSIZ]; define CMAPSIZ 100 define SMAPSIZ 100
malloc(mp,size) struct map, *mp; { register int a; register struct map *bp; for(bp = mp; bp->m_size; bp++){ if (bp-m_size >= size) { a=bp->m_addr; bp->m_addr =+ size; if ((bp->m_size =- size) == 0) do { bp++; (bp-1)->m_addr = bp->m_addr; }while((bp-1)->m_size = bp->m_size); return(a); } } return(0); }
Two-Level Paging Example
A logical address (on 32-bit machine with 4K page size) is divided into: a page number consisting of 20 bits. a page offset consisting of 12 bits. Since the page table is paged, the page number is further divided into: a 10-bit page number. a 10-bit page offset. Thus, a logical address is as follows: