zoukankan      html  css  js  c++  java
  • 计算机操作系统 虚拟内存

    问题1:虚存的定义(5分)

    答:

    (1)   虚存是为了提高内存利用率而提出的一种技术。

    (2) 在一个操作系统下,如果不要求任意用户程序所实际占用的物理空间都不小于该用户程序的逻辑地址空间,而这种功能的实现对用户来说是透明的(用户不必知道操作系统是如何实现这一功能的),则称该操作系统实现了虚存的技术,相应的用户进程空间成为虚拟控件或虚地址控件。

    (3)基于局部性原理,在程序装入时,可以将程序的一部分装入内存,而将其余部分装入外存,就可以启动程序执行。在程序执行过程中,当所访问的信息不在内存时,有操作系统将所需要的部分调入内存,然后继续执行程序。另一方面,操作系统将暂时不用的内容患处到外存上,从而腾出空间存放将要调入内存信息。这样,系统好像为用户提供了一个比实际内存大的多的存储器,成为虚拟存储器。

    (4)具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的存储器系统。

     

    问题2:引入虚存的原因(5分)

    答:

    (1)为了提高内存利用率。

    (2)有的作业很大,其所要求的内存空间超过了内存总容量,作业不能全部装入内存,导致该作业无法运行。

    (3)有大量作业要求运行,但由于内存容量不足以容纳所有的作业,只能将少数作业装入内存中运行,而大量作业驻留在外存等待。

    出现以上两种情况都是因为内存容量不够大,除了从物理上扩充内存容量,就是从逻辑上扩充内存容量,于是就引入了虚拟存储技术。

    问题3:虚存的特征(5分)

    答:

    (1)      多次性。多次性是相对于传统存储器一次性调入内存。

    (2)      对换性。对换性是相对于传统存储器常驻性内存。

    (3)      虚拟性。虚拟性是从逻辑上扩充内存容量,使用户看到的内存容量远大于实际内存容量。

     虚拟性是以多次性和对换性为基础的,而多次性和对换性显然又必须建立在离散分配的基础上。

    问题4:设置虚存并截图(5分)

    答:

    1.           (1)右击这台电脑,单击属性

    (2)在系统属性对话框,选择高级系统设置 ...

    2.           (3)点击性能“——”设置 ...

    3.           (4)找到性能选项对话框中的高级菜单,找到虚拟内存,点击更改 ...

    4.           (5)自动管理所有驱动器的分页文件大小前面的勾去掉。

    5.           (6)然后选择系统盘c盘,设置虚拟内存一般原则是:虚拟内存不设置在系统盘。

    6.          

     

    问题5:虚存的设置前提(5分)

    答:

     “虚拟内存”,指的是页面文件(paging file,pagefile.sys),是操作系统将部分虚拟内存页面换到磁盘上存放的数据

    (1)当电脑的物理内存被完全占满时。

    (2)当系统经常运行需要内存较大的程序时,而系统内存并不能满足程序运行所需的内存。

    (3) 大内存,没有必要打开虚拟内存

    (4) 电脑会进行比较重要的任务,对于稳定性要求较高



    在请求分页存储管理系统中,若为进程分配的物理块为4,开始执行时内存中没有装入任何页面,若进程依次访问的页面号为:

    7,1,6,4,6,2,3,0,3,1,0,7,6,0,1,3,6,3,0,7,2,0,5 请按照下面的页面置换算法完成作业(低物理地址优先)

     CLOCK页面置换算法

    7,1,6,4,6,2,3,0,3,1,0,7,6,0,1,3,6,3,0,7,2,0,5

     

    7

    1

    6

    4

    6

    2

    3

    0

    3

    1

    0

    7

    6

    0

    1

    3

    6

    3

    0

    7

    2

    0

    5

    (1)

    7

    7

    7

    7

    7

    2*

    2

    2

    2

    2

    2

    7*

    7

    7

    7

    7

    7

    7

    7

    7

    2*

    2*

    2

    (2)

     

    1

    1

    1

    1

    1

    3*

    3

    3

    3

    3

    3

    6*

    6*

    6*

    6

    6

    6

    6

    6

    6

    6

    5*

    (3)

     

     

    6

    6

    6

    6

    6

    0*

    0*

    0

    0

    0

    0

    0

    0

    3*

    3*

    3*

    3

    3

    3

    3

    3

    (4)

    *

    *

    *

    4*

    4*

    4

    4

    4

    4

    1*

    1*

    1

    1

    1

    1

    1

    1

    1

    0*

    0*

    0

    0

    0

    缺页

     

     

     

     

     

     

     

     

     

    置换

     

     

     

     

     

    7

    1

    6

     

    4

     

    2

    6

     

     

    0

     

     

    1

     

    7

     

    6

    说明

    1

    1

    1

    1

     

    2

    2

    2

     

    2

     

    2

    2

     

     

    2

     

     

    2

     

    2

     

    2

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    1:寄存器页面大小为4,当前有剩余的页面,不需要进行置换

    2: 发生缺页,访问寄存器发现没有找到, 检查页的访问位,如果是0,就选择将该页换出;若为1,则重新将它置为0,给予该页第二次驻留内存的机会,再按照FIFO算法检查下一个页面,当检查最后一个页面时,若其访问位为1,则再返回队首去检查第一个页面。

    缺页次数:14

    缺页率:14/23 =60.9%

    置换次数:10

    依次置换出的页号:

    7

    1

    6

     

    4

     

    2

    6

     

     

    0

     

     

    1

     

    7

     

    6

     

     

     




  • 相关阅读:
    如何将网格式报表打印成其它样式
    拥有与实力不相称的脾气是种灾难——北漂18年(23)
    8.8.1 Optimizing Queries with EXPLAIN
    mysql 没有rowid 怎么实现根据rowid回表呢?
    secondary index
    8.5.5 Bulk Data Loading for InnoDB Tables 批量数据加载
    mysql 中key 指的是索引
    8.5.4 Optimizing InnoDB Redo Logging 优化InnoDB Redo 日志
    8.5.3 Optimizing InnoDB Read-Only Transactions 优化InnoDB 只读事务
    8.5.1 Optimizing Storage Layout for InnoDB Tables InnoDB表的存储布局优化
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11781757.html
Copyright © 2011-2022 走看看