软考随堂笔记
考点1 实存管理
考点2 虚存管理
程序的装入(重定位)(将逻辑地址转换成物理地址)
静态重定位:静态重定位是在虚空间程序执行之前由装配程序完成地址影射工作。
动态重定位:动态重定位是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换为内存地址。
实存管理
存储管理的任务是存储空间的分配与回收。在现代操作系统中通常有单一连续分配(静态)、固定分区分配(静态)、可变分区分配(动态)三种分配方式:
单一连续分配(静态):不分区,所有用户空间给某个进程或作业。同一时间只能执行一个作业
固定分区分配(静态):分成大小不等的区域,区域分完后固定不变。不动态,万一有一个占用内存比所有分区都大的作业,那么即使各区域都空闲也无法执行。
可变分区分配(动态):分成大小不等的区域,根据用户要求动态分配。动态,当作业结束后,内存被释放,释放的内存合并成一个。
可变分区分配有四种分配算法:
最佳适应法:选择等于或最接近作业需求的内存自由区进行分配。减少碎片,同时也可能带来更多小得无法再用的碎片。
首次适应法:从主存低地址开始(最上面),寻找第一个可用(大于等于作业需求的内存)的自由区。快速分配,缩短查找时间。
最差适应法:选择整个主存中最大的内存自由区
循环首次适应算法:是首次适应法的一个变种,也就是不再是每次都从头开始匹配,而是连续向下匹配。
虚存管理(将程序分成几部分,依次装入主存)
页式存储组织:
优点:利用率高,产生的内存碎片小,内存间分配及管理简单。
缺点:要有相应的硬件支持,增加了系统开销:请求调页的算法如选择不当,有可能产生抖动现象。
在逻辑地址转物理地址中,页帧号即为物理块号
段式存储组织:
优点:便于多道程序共享内存,便于对存储器的保护,各程序段修改互不影响。
缺点:内存利用率低,内存碎片浪费大。
段页式存储组织:
优点:空间浪费小,存储共享容易,存储保护容易,能动态连接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。
逻辑地址(段号s+页号p+页内地址d)------>物理地址(((x)+s)+p)*2^n+d
X表示基号,n表示除页内地址以外的位数
在基表中通过基号找到段表起始地址,与段号相加得到得到页表起始地址,再与页号相加得到页表中对应的模块号,再与页内地址相加得到物理地址
页面置换算法
最优(Optimal,OPT)算法(缺页相对最少)
先进先出(FIFO)算法
最近最少使用(LRU)算法
程序局部性原理
时间局部性:如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行;如果某个存储单元被访问,则在不久的将来该存储单元可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。
空间局部性:一旦程序访问了某个存储单元,则不久的将来,其附近的存储单元也最优可能被访问。即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型原因是程序是顺序执行的。