zoukankan      html  css  js  c++  java
  • 软考笔记之存储管理

    软考随堂笔记

    考点1 实存管理

    考点2 虚存管理

    程序的装入(重定位)(将逻辑地址转换成物理地址)

    静态重定位:静态重定位是在虚空间程序执行之前由装配程序完成地址影射工作。

    动态重定位:动态重定位是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换为内存地址。

    实存管理

    存储管理的任务是存储空间的分配与回收。在现代操作系统中通常有单一连续分配(静态)固定分区分配(静态)可变分区分配(动态)三种分配方式:

    单一连续分配(静态):不分区,所有用户空间给某个进程或作业。同一时间只能执行一个作业

    固定分区分配(静态):分成大小不等的区域,区域分完后固定不变。不动态,万一有一个占用内存比所有分区都大的作业,那么即使各区域都空闲也无法执行。

    可变分区分配(动态):分成大小不等的区域,根据用户要求动态分配。动态,当作业结束后,内存被释放,释放的内存合并成一个。

    可变分区分配有四种分配算法:

    最佳适应法:选择等于或最接近作业需求的内存自由区进行分配。减少碎片,同时也可能带来更多小得无法再用的碎片。

    首次适应法:从主存低地址开始(最上面),寻找第一个可用(大于等于作业需求的内存)的自由区。快速分配,缩短查找时间。

    最差适应法:选择整个主存中最大的内存自由区

    循环首次适应算法:是首次适应法的一个变种,也就是不再是每次都从头开始匹配,而是连续向下匹配。

    虚存管理(将程序分成几部分,依次装入主存)

    页式存储组织:

    优点:利用率高,产生的内存碎片小,内存间分配及管理简单。

    缺点:要有相应的硬件支持,增加了系统开销:请求调页的算法如选择不当,有可能产生抖动现象。

    在逻辑地址转物理地址中,页帧号即为物理块号

    段式存储组织:

    优点:便于多道程序共享内存,便于对存储器的保护,各程序段修改互不影响。

    缺点:内存利用率低,内存碎片浪费大。

    段页式存储组织:

    优点:空间浪费小,存储共享容易,存储保护容易,能动态连接。

    缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。

    逻辑地址(段号s+页号p+页内地址d)------>物理地址(((x)+s)+p)*2^n+d

    X表示基号,n表示除页内地址以外的位数

    在基表中通过基号找到段表起始地址,与段号相加得到得到页表起始地址,再与页号相加得到页表中对应的模块号,再与页内地址相加得到物理地址

    页面置换算法

    最优(Optimal,OPT)算法(缺页相对最少)

    先进先出(FIFO)算法

    最近最少使用(LRU)算法

    程序局部性原理

    时间局部性:如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行;如果某个存储单元被访问,则在不久的将来该存储单元可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。

    空间局部性:一旦程序访问了某个存储单元,则不久的将来,其附近的存储单元也最优可能被访问。即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型原因是程序是顺序执行的。

  • 相关阅读:
    Python实现二分法查找
    Python实现冒泡排序
    issues:closeForm字段默认值设置,roo创建应用的默认语言设置
    howto:IEDA 中运行Maven项目
    将繁体中文国际化文件,变为简体中文国际化文件
    JasperServer安装XP异常解决
    note:maven 简介
    note:addon开发基础知识
    issues:close 云端 STS 启动报找不到 jdk
    小程序ios设置map圆角不生效的问题解决方案
  • 原文地址:https://www.cnblogs.com/pushudepu/p/5940559.html
Copyright © 2011-2022 走看看