操作系统 七次实验报告 常用页面置换算法模拟实验


    操作系统课程第七次实验报告

    姓名

    学号


    计算机
    课教师

    指导教师

    评阅教师

    实验点
    综合楼B102
    实验时间
    2012926
    实验课表现
    出勤表现Q1(15+15(组长评分)30分)
    分:


    实验
    总分
    (Q1+Q2+Q3+Q4)

    实验完成情况Q2(45分(组长教师评分加权均))
    分:
    实验编号实验名称:
    实验七常页面置换算法模拟实验

    实验目:
    通模拟实现请求页式存储理种基页面置换算法解虚拟存储技术特点掌握虚拟存储请求页式存储理中种基页面置换算法基思想实现程较效率

    实验容求(详见实验讲义实验指导书):
    求:
    1)求熟悉程序设计语言编写调试页面置换模拟程序求函数中测试
    2)实验报告中必须包括:设计思想数定义(包括详细说明)处理流程(详细算法描述算法流程图)源代码运行结果体会等部分
    3)必须模拟实验容中提算法中少2种页面置换算法
    4) 较页面置换算法效率

    容:编写程序页面置换算法中某2种分模拟分页系统统计页面访问序列情况页面置换算法引发缺页中断次数

    1第二次机会算法(Second Chance)
    2少算法(Least Recently UsedLRU )
    3常算法(Not Frequently UsedNFU)
    4未算法(Not Recently Used NRU)
    5时钟页面置换算法
    6老化算法(aging)
    页框数量固定4虚拟页面数8实验输入访问页面序列01 3 271




    实验软件(:)
    DevC++Visio

    实验容关键步骤(代码)Q3(15分)
    分:


    流程图:输入页面访问序列
    取访问页号
    查页表
    否缺页?

    置缺页标志flag’*’
    算法淘汰页面
    调入访问页面

























    FIFO算法流程图 LRU算法流程图:


    函数关系解释图:

    实现结果:
    图1
    图2


    代码:
    #include
    #include
    #define MEMORY_SIZE 4 *物理块数*
    #define PROESS_SIZE 8 *页面号引串数*#include
    #include
    *全局变量*
    int mSIZE4
    int pSIZE8
    static int memery[4]{0} *物理块中页号*
    static int page[8]{0} *页面号引串*
    static int temp[8][4]{0} *辅助数组*
    *置换算法函数*
    void FIFO()
    void LRU()
    void OPT()
    void designBy()
    *辅助函数*
    void print(unsigned int t)
    *函数*
    int main()
    {
    int ikcode
    designBy()
    system(color 0A)
    puts(请次输入页面号(8):)
    for(i0i scanf(1d&page[i])

    system(cls)
    system(color 0E)
    do{
    puts(输入页面号引串:)
    for(k0k<(pSIZE1)20k++)
    {
    for(i20*k(i {
    if(((i+1)200)||(((i+1)20)&&(ipSIZE1)))
    printf(d\npage[i])
    else
    printf(d page[i])
    }
    }
    printf(* * * * * * * * * * * * * * * * * * * * * * *\n)
    printf(* 请选择页面置换算法:\t\t\t *\n)
    printf(* *\n)
    printf(* 1先进先出(FIFO) 2久未(LRU) *\n)
    printf(* 3退出 *\n)
    printf(* * * * * * * * * * * * * * * * * * * * * * *\n)
    printf(请选择操作:[ ]\b\b)
    scanf(d&code)
    switch(code)
    {
    case 1
    FIFO()
    break
    case 2
    LRU()
    break
    case 3
    system(cls)
    system(color 0A)
    exit(0)
    default
    printf(输入错误请重新输入:)
    }
    printf(意键重新选择置换算法:>>>)
    getch()
    system(cls)
    }while (code3)
    getch()
    }
    void print(unsigned int t)
    {
    int ijkl
    int flag
    for(k0k<(pSIZE1)20k++)
    {
    for(i20*k(i {
    if(((i+1)200)||(((i+1)20)&&(ipSIZE1)))
    printf(d\npage[i])
    else
    printf(d page[i])
    }
    for(j0j {
    for(i20*k(i {
    if(i>j)
    printf( |d|temp[i][j])
    else
    printf( | |)
    }
    for(imSIZE+20*k(i {
    for(flag0l0l if(temp[i][l]temp[i1][l])
    flag++
    if(flagmSIZE)*页面物理块中*
    printf( )
    else
    printf( |d|temp[i][j])
    }
    *行显示20*
    if(i200)
    continue
    printf(\n)
    }
    }
    printf(\n)
    printf(缺页次数:d\t\tt+mSIZE)
    printf(缺页率:dd\nt+mSIZEpSIZE)
    printf(置换次数:d\t\tt)
    printf(访问命中率:d\n(pSIZE(t+mSIZE))*100pSIZE)
    printf(\n)
    }
    *先进先出页面置换算法*
    void FIFO()
    {
    int memery[10]{0}
    int time[10]{0} *记录进入物理块时间*
    int ijkm
    int max0 *记录换出页*
    int count0 *记录置换次数*
    *前mSIZE数直接放入*
    for(i0i {
    memery[i]page[i]
    time[i]i
    for(j0j temp[i][j]memery[j]
    }
    for(imSIZEi {
    *判断新页面号否物理块中*
    for(j0k0j {
    if(memery[j]page[i])
    k++
    }
    if(kmSIZE) *果物理块中*
    {
    count++
    *计算换出页*
    maxtime[0] for(m2m if(time[m] maxm
    memery[max]page[i]
    time[max]i *记录该页进入物理块时间*
    for(j0j temp[i][j]memery[j]
    }
    else
    {
    for(j0j temp[i][j]memery[j]
    }
    }

    print(count)
    }
    *久未置换算法*
    void LRU()
    {
    int memery[10]{0}
    int flag[10]{0} *记录页面访问时间*
    int ijkm
    int max0 *记录换出页*
    int count0 *记录置换次数*
    *前mSIZE数直接放入*
    for(i0i {
    memery[i]page[i]
    flag[i]i
    for(j0j temp[i][j]memery[j]
    }
    for(imSIZEi {
    *判断新页面号否物理块中*
    for(j0k0j {
    if(memery[j]page[i])
    k++
    else
    flag[j]i *刷新该页访问时间*
    }
    if(kmSIZE) *果物理块中*
    {
    count++
    *计算换出页*
    maxflag[0] for(m2m if(flag[m] maxm
    memery[max]page[i]
    flag[max]i *记录该页访问时间*
    for(j0j temp[i][j]memery[j]
    }
    else
    {
    for(j0j temp[i][j]memery[j]
    }
    }
    compute()
    print(count)
    }
    *显示设计者信息*
    void designBy()
    {
    printf(┏━━━━━━━━━━━━━━━━━━━━━━━━━┓\n)
    printf(┃㊣ 实验七:页面置换算法 ㊣┃\n)
    printf(┃ 学号:1001010042 ┃\n)
    printf(┃ 姓名:黄浩全 ┃\n)
    printf(┣━━━━━━━━━━━━━━━━━━━━━━━━━┫\n)
    }







    实验程中遇问题解决办法实验体会Q4(需手写10分)
    分:
    1FIFO算法容易数组实现LRU算法数组实现结构体会更明显简单结构体成员变量记录页号进入时间记录相数组更容易理解实现
    2首先FIFO(先进先出)算法LRU(未算法)两者间FIFO算法明显会LRU容易理解LRU算法较容易实现性方面LRU确优化方面做较理想考虑页框页表号间问题代码容易模拟真物理存块中实现确实难理解需真正理解存部知识知道两算法实现

    评阅教师特殊评语:




    评阅教师:

    日 期:

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    合工大页面置换算法操作系统课程设计报告

    计算机与信息学院《操作系统综合设计》报告设计题目:页面置换算法学生姓名:学 号:专业班级:计算机科学与技术班2015 年 X月一、设计题目 3二、开发环境与工具 3三、设计原理 31....

    3年前   
    572    0

    计算机操作系统实验三页面置换算法模拟实验

    计算机工程学院实验报告书课程名:《 操作系统原理A 》 题 目: 虚拟存储器管理 页面置换算法模拟实验...

    4年前   
    656    0

    页面置换算法实验(内含完整代码)

    实验二 存储管理 一、 实验目的 通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特 点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程, 并...

    8个月前   
    179    0

    操作系统实验报告C语言实现银行家算法

    实 验 报 告题 目名 称C语言实现银行家算法院 系信息科学与工程学院班 级完成时间指导老师本次实验成绩组长联系电话邮件地址组员(姓名,学号)主要任务程序算法的编写、实现、运行调...

    3年前   
    475    0

    工商管理模拟实验报告

    工商管理模拟实验报告 年    级:10春工商管理(本) 姓    名:      胡志元        学    号:  1037001211012     单    位:日照...

    11年前   
    12774    0

    会计模拟实验报告

    会计模拟实验报告所属课程名称: 会计模拟实验 姓 名: 专 业: 会计学 ...

    9个月前   
    183    0

    操作系统进程管理实验报告

    操作系统进程管理实验报告实验一 进程管理1.实验目的:(1)加深对进程概念的理解,明确进程和程序的区别;(2)进一步认识并发执行的实质;(3)分析进程争用资源的现象,学习解决进程互斥的方法;...

    1年前   
    391    0

    操作系统实验四主存空间的分配与回收首次适应算法和循环首次适应算法

    实验报告【实验名称】 首次适应算法和循环首次适应算法 【实验目的】理解在连续分区动态的存储管理方式下,如何实现主存空间的分配与回收。【实验原理】首次适应(first fit,FF...

    3年前   
    1056    0

    进程调度算法的实现计算机操作系统课程设计

    题目2 进程调度算法的实现2.1 题目的主要研究内容及预期达到的目标(1)设计进程控制块; (2)设计多个进程队列; (3)设计多个进程(≥20); (4)动态生成时间片、执行时间和优先级,...

    3年前   
    591    0

    操作系统课程设计银行家算法的模拟实现

    操作系统课程设计报告专业计算机科学与技术学生姓名班级学号指导教师完成日期信息工程学院题目: 银行家算法的模拟实现 一、设计目的本课程设计是学习完“操作系统原理”课程后进...

    3年前   
    695    0

    操作系统课程设计磁盘调度算法

    操作系统课程设计磁盘调度算法目 录1 课程设计目的及要求……………………………………………………12 相关知识…………………………………………………………………13 ...

    3年前   
    552    0

    操作系统课程设计银行家算法报告

    《操作系统--银行家算法》课程设计报告姓 名: 学 号: 班 级:计科班 ...

    3年前   
    628    0

    操作系统课程设计磁盘调度算法

    《计算操作系统》课程设计报告 姓名: ...

    3年前   
    469    0

    《操作系统 银行家算法》课程设计报告

    《操作系统--银行家算法》课程设计报告姓 名: 学 号: 班 级: 计科班 ...

    3年前   
    821    0

    操作系统实验三磁盘调度算法的实现

    XX大学计算机与通信工程学院实验报告2013 至 2014 学年 第 一 学期课程名称操作系统学号 学生姓名 年级 专业 教学班号 实验地点 实验时间 2013年 月 日 ...

    3年前   
    488    0

    银行家算法《操作系统》课程设计报告

    《操作系统》课程设计报告课题: 银行家算法 专业计算机科学与技术学生姓名班级计算机学号指导教师信息工程...

    3年前   
    717    0

    沙盘模拟实验报告 总裁角色

        企业管理决策模拟(ERP沙盘对抗) 总结报告         学院:会计与金融学院 专业: 财务管理 班级:12财管3班 学号:120302031040 姓名:...

    8年前   
    8006    0

    企业经营模拟实验报告(采购经理)

    醉八仙股份有限公司410采购经理实验报告----国贸XXXXXXXXXXXX我是国贸X班的XX,在此次实验中担任醉八仙股份有限公司410的采购经理,我们公司在本次Top-Boss企业经营模拟比...

    1年前   
    444    0

    产品市场预测模拟实验报告

    产品市场预测模拟实验报告——0664哈药股份一、调查背景公司名称:哈药集团股份有限公司英文名称:Harbin Pharmaceutical Group Co.,Ltd.曾用名:哈医药->哈药集团...

    6年前   
    2087    0

    市场营销沙盘模拟实验报告

    **学院2012级市场营销沙盘模拟心得 张海华 为期两天的沙盘模拟训练落下了帷幕,公司在模拟经营管理层的领导下走过了六年的历程,在这紧张而又刺激的几天时间里我们有郁闷,有感悟,也有收获。虽...

    10年前   
    24000    0

    文档贡献者

    文***品

    贡献于2020-10-08

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档