栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python操作系统页面置换算法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python操作系统页面置换算法

页面置换算法
  1. 实验要求
    编程实现请求分页内存管理方法中的页面置换算法。包括FIFO,LRU.并对实验结果进行分析。
  2. 代码
    import numpy as np
    import datetime
    class Page:
        def __init__(self,id:int):
            self.id = id
            self.arrive = datetime.datetime.now()
    class PageReplacement:
        def __init__(self,mode:str,maxpage:int,pagenum:int):
            self.mode = mode
            self.pagenum = pagenum
            self.pages = [Page(np.random.randint(0,maxpage)) for _ in range(np.random.randint(20,50))]
            if mode.lower()=='both':
                self.FIFO()
                self.LRU()
                self.printstates()
            elif mode.lower()=='fifo':
                self.FIFO()
                self.printstates()
            elif mode.lower()=='lru':
                self.LRU()
                self.printstates()
            else:
                raise Exception('Error! Unavailable mode {}'.format(mode))
        def FIFO(self):
            states = []
            state = []
            firstin = 0
            for page in self.pages:
                if len(state) 
  3. 模拟优化
    1. 程序的局部性原理,如果某数据被访问,则不久之后该数据可能再次被访问。因此页面置换算法才得以实现
    2. 页面号引用串随机生成来模拟真实环境
  4. 运行方式
    python exp4.py # python exp4.py --mode=both --maxpage=10 --pagenum=3
    # python exp4.py --mode=fifo --maxpage=10 --pagenum=3
    # python exp4.py --mode=lru --maxpage=10 --pagenum=3
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/689072.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号