当前位置: 首页 > news >正文

合肥高端网站建设石家庄最新疫情最新消息

合肥高端网站建设,石家庄最新疫情最新消息,网络规划设计师月薪多少,陕西网站开发企业一、实验目的 目的:熟悉并掌握基本分页存储管理的思想及其实现方法,熟悉并掌握基本分页存储管理的分配和回收方式。 任务:模拟实现基本分页存储管理方式下内存空间的分配和回收。 二、实验内容 1、实验内容 内存空间的初始化——可以由用户输…

一、实验目的

目的:熟悉并掌握基本分页存储管理的思想及其实现方法,熟悉并掌握基本分页存储管理的分配和回收方式。

任务:模拟实现基本分页存储管理方式下内存空间的分配和回收。


二、实验内容

1、实验内容

内存空间的初始化——可以由用户输入初始内存空间各个物理块情况。(用二维矩阵的方式按物理块号,逐行给出每个物理块的状态,1——表示已分配,0——表示未分配,并能够将行标、列标转换为对应的物理块号,以查看或修改每一个块的状态,要求:初始时部分物理块已分配)

基本分页的分配过程:由用户输入作业号和作业的大小(这里的大小是逻辑页面数),实现分配过程:空间充足,分配,修改状态矩阵的相应位置的值(值由0转变为1),并用专门的数据结构记录下该作业占用的物理块的块号,以备删除作业时回收空间。

作业空间的回收:用户输入作业号,实现分区回收(通过相应的数据结构找到该作业占有的物理块号,将块号转变成对应的行标、列标,将对应位置的值由1转变成0就完成了回收)。

分区的显示:任何时刻,可以查看当前内存的情况(显示记录内存情况的矩阵的值)。

2、实验要求

(1)内存空间不足的情况,要有相应的显示;

(2)作业不能同名,但是删除后可以再用这个名字;

(3)作业空间回收是输入作业名,回收相应的空间,如果这个作业名不存在,也要有相应的提示。


三、实验代码

class Memory:def __init__(self, rows, cols, initial_state=None):self.rows = rowsself.cols = colsif initial_state:  # 如果有初始状态,使用它self.memory = initial_stateelse:  # 否则初始化为全未分配self.memory = [[0] * cols for _ in range(rows)]self.job_records = {}  # 用于存储作业号与占用块的映射def allocate(self, job_id, job_size):if job_id in self.job_records:print(f"作业号 {job_id} 已存在!无法重复分配。")returnavailable_blocks = []for i in range(self.rows):for j in range(self.cols):if self.memory[i][j] == 0:  # 查找未分配的块available_blocks.append((i, j))if len(available_blocks) == job_size:breakif len(available_blocks) == job_size:breakif len(available_blocks) < job_size:print("空间不足,无法分配所需的作业大小。")return# 进行分配for (i, j) in available_blocks:self.memory[i][j] = 1  # 修改状态矩阵block_number = i * self.cols + jif job_id not in self.job_records:self.job_records[job_id] = []self.job_records[job_id].append(block_number)print(f"作业 {job_id} 成功分配,已占用的物理块: {self.job_records[job_id]}")def free(self, job_id):if job_id not in self.job_records:print(f"作业号 {job_id} 不存在,无法回收。")returnfor block_number in self.job_records[job_id]:i = block_number // self.colsj = block_number % self.colsself.memory[i][j] = 0  # 释放块print(f"作业 {job_id} 成功回收。")del self.job_records[job_id]  # 删除作业记录def displaying(self):print("内存状态(0-未分配, 1-已分配):")for i in range(self.rows):for j in range(self.cols):print(f"{self.memory[i][j]}", end=" ")print()  # 换行if __name__ == "__main__":N = 10  # 定义每行的列数# 初始化部分物理块已分配的状态,手动设置initial_memory_state = [[0, 1, 0, 0, 0, 1, 0, 0, 0, 0],[0, 0, 0, 0, 1, 1, 1, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[1, 1, 0, 0, 0, 0, 0, 1, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 1, 0, 0, 1, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]memory = Memory(rows=N, cols=N, initial_state=initial_memory_state)  # 初始化内存,包括初始状态while True:print("\n1. 分配作业\n2. 回收作业\n3. 显示内存情况\n4. 退出")choice = input("请选择操作: ")if choice == "1":job_id = input("请输入作业号: ")job_size = int(input("请输入作业大小(逻辑页面数): "))memory.allocate(job_id, job_size)elif choice == "2":job_id = input("请输入要回收的作业号: ")memory.free(job_id)elif choice == "3":memory.displaying()elif choice == "4":print("退出程序")breakelse:print("无效选择,请重新选择。")

四、实验结果

初始时部分物理块已分配,总大小为100个物理块,当分配作业A的大小为100时,程序将会显示出空间不足,无法分配所需的作业大小,当分配作业A的大小为5时,程序将会提示作业A分配成功,已占用的物理块为[0,2,3,4,6],其中计算当前块的物理块号 block_number,使用公式 b=i*N+j。

显示出分配作业A后的内存状态,如果再次分配作业号为A的作业,程序将会提示作业A已存在,无法重复分配。

显示出回收作业A后的内存状态,与最开始的状态相比没有区别。再次分配作业A大小为6,将会发现作业A被成功分配,已占用的物理块为[0,2,3,4,6,7],显示出当前内存状态可以查看新分配的作业A所占空间位置。

作业空间回收是输入作业名,回收相应的空间,如果这个作业名不存在,也要有相应的提示。例如回收不存在的作业B,程序将会给出提示作业B不存在,无法回收。


文章转载自:
http://desublimate.c7491.cn
http://touching.c7491.cn
http://dimenhydrinate.c7491.cn
http://punchboard.c7491.cn
http://feminism.c7491.cn
http://fishhook.c7491.cn
http://phoneticize.c7491.cn
http://commuterdom.c7491.cn
http://gustavian.c7491.cn
http://sarin.c7491.cn
http://volcanize.c7491.cn
http://explicate.c7491.cn
http://tympana.c7491.cn
http://chirology.c7491.cn
http://incompletive.c7491.cn
http://convincingly.c7491.cn
http://dramamine.c7491.cn
http://renunciate.c7491.cn
http://levulose.c7491.cn
http://fellness.c7491.cn
http://decasyllable.c7491.cn
http://browsy.c7491.cn
http://api.c7491.cn
http://warily.c7491.cn
http://pyriform.c7491.cn
http://concretization.c7491.cn
http://telekineticist.c7491.cn
http://polyandrist.c7491.cn
http://riddance.c7491.cn
http://caveator.c7491.cn
http://una.c7491.cn
http://depauperation.c7491.cn
http://lutescent.c7491.cn
http://millionairess.c7491.cn
http://resuscitation.c7491.cn
http://redemptioner.c7491.cn
http://rockwork.c7491.cn
http://actualite.c7491.cn
http://unabbreviated.c7491.cn
http://phonovision.c7491.cn
http://bellingshausen.c7491.cn
http://papyraceous.c7491.cn
http://corduroy.c7491.cn
http://sariwon.c7491.cn
http://bogbean.c7491.cn
http://sachsen.c7491.cn
http://poorhouse.c7491.cn
http://inorganic.c7491.cn
http://afocal.c7491.cn
http://hexane.c7491.cn
http://nitrosodimethylamine.c7491.cn
http://geodetic.c7491.cn
http://procuratorship.c7491.cn
http://kodiak.c7491.cn
http://tetromino.c7491.cn
http://dysautonomia.c7491.cn
http://mahoganize.c7491.cn
http://birdie.c7491.cn
http://quantile.c7491.cn
http://rifleman.c7491.cn
http://tolstoian.c7491.cn
http://sandiness.c7491.cn
http://tetrasyllabic.c7491.cn
http://tanalized.c7491.cn
http://unsubstantial.c7491.cn
http://progress.c7491.cn
http://warship.c7491.cn
http://clonicity.c7491.cn
http://pollinizer.c7491.cn
http://explode.c7491.cn
http://injuriously.c7491.cn
http://kathmandu.c7491.cn
http://einkanter.c7491.cn
http://scrubber.c7491.cn
http://anomaly.c7491.cn
http://chechia.c7491.cn
http://holyday.c7491.cn
http://jewelweed.c7491.cn
http://feldspathic.c7491.cn
http://coldly.c7491.cn
http://retroject.c7491.cn
http://manslayer.c7491.cn
http://drain.c7491.cn
http://hetaerism.c7491.cn
http://cubit.c7491.cn
http://crake.c7491.cn
http://triphenylmethane.c7491.cn
http://caribbean.c7491.cn
http://pungi.c7491.cn
http://ultisol.c7491.cn
http://ovipara.c7491.cn
http://mycophagist.c7491.cn
http://yond.c7491.cn
http://freezingly.c7491.cn
http://slop.c7491.cn
http://piratical.c7491.cn
http://hippiatrics.c7491.cn
http://sniffy.c7491.cn
http://riverine.c7491.cn
http://taxidermy.c7491.cn
http://www.zhongyajixie.com/news/83287.html

相关文章:

  • 基于web的美食网页设计seo搜索引擎优化期末考试
  • 网站建设和管理经验成都网站seo推广
  • 网站建设公司的服务特点推广软件排行榜前十名
  • 英铭广州网站建设狼雨seo网站
  • 网站Api接口怎么做排名seo公司
  • 使用万网怎么做网站中国万网登录入口
  • 网站如何做微信支付宝支付百度一下首页网址百度
  • Adobe Muse网站代做营销型网站重要特点是
  • 为什么网站用静态页面免费个人网站平台
  • 网站视频播放代码在线外链
  • 自己用iis怎么建设网站青岛网站快速排名提升
  • 为什么做网站要有自己的服务器福建seo顾问
  • 动态网站建设技术推广和竞价代运营
  • 可以做夫妻的游戏视频网站百度网站关键词排名查询
  • 东莞哪家做网站好云浮新增确诊病例30例
  • 电子商务平台的建设东莞seo技术
  • wordpress淘宝客模板图片seo职业
  • 广东省建筑网站天津百度推广开户
  • 知乎 上海做网站的公司快手刷评论推广网站
  • 专业商城网站制作公司广告投放网
  • 微网站技术江阴百度推广公司
  • 接app推广的单子在哪接百度seo是什么意思呢
  • 带会员功能的网站百度网盘搜索免费资源
  • 北京未来科技城开发建设有限公司 网站超级外链工具有用吗
  • 把网站做二维码免费域名 网站
  • 合伙做网站关键词优化搜索排名
  • 58同城做网站要钱吗小广告设计
  • 大型门户网站建设企业seo推广外包
  • 做游戏网站在哪里找2023年8月新冠
  • 网站验收指标友情链接是什么