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

江苏无锡网站推广及优化手机如何登入网站服务器

江苏无锡网站推广及优化,手机如何登入网站服务器,龙岩小程序推广,网站查询器一、实验目的 目的#xff1a;熟悉并掌握基本分页存储管理的思想及其实现方法#xff0c;熟悉并掌握基本分页存储管理的分配和回收方式。 任务#xff1a;模拟实现基本分页存储管理方式下内存空间的分配和回收。 二、实验内容 1、实验内容 内存空间的初始化——可以由用户输…一、实验目的 目的熟悉并掌握基本分页存储管理的思想及其实现方法熟悉并掌握基本分页存储管理的分配和回收方式。 任务模拟实现基本分页存储管理方式下内存空间的分配和回收。 二、实验内容 1、实验内容 内存空间的初始化——可以由用户输入初始内存空间各个物理块情况。用二维矩阵的方式按物理块号逐行给出每个物理块的状态1——表示已分配0——表示未分配并能够将行标、列标转换为对应的物理块号以查看或修改每一个块的状态要求初始时部分物理块已分配 基本分页的分配过程由用户输入作业号和作业的大小这里的大小是逻辑页面数实现分配过程空间充足分配修改状态矩阵的相应位置的值值由0转变为1并用专门的数据结构记录下该作业占用的物理块的块号以备删除作业时回收空间。 作业空间的回收用户输入作业号实现分区回收通过相应的数据结构找到该作业占有的物理块号将块号转变成对应的行标、列标将对应位置的值由1转变成0就完成了回收。 分区的显示任何时刻可以查看当前内存的情况显示记录内存情况的矩阵的值。 2、实验要求 1内存空间不足的情况要有相应的显示 2作业不能同名但是删除后可以再用这个名字 3作业空间回收是输入作业名回收相应的空间如果这个作业名不存在也要有相应的提示。 三、实验代码 class Memory:def __init__(self, rows, cols, initial_stateNone):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(rowsN, colsN, initial_stateinitial_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使用公式 bi*Nj。 显示出分配作业A后的内存状态如果再次分配作业号为A的作业程序将会提示作业A已存在无法重复分配。 显示出回收作业A后的内存状态与最开始的状态相比没有区别。再次分配作业A大小为6将会发现作业A被成功分配已占用的物理块为[0,2,3,4,6,7]显示出当前内存状态可以查看新分配的作业A所占空间位置。 作业空间回收是输入作业名回收相应的空间如果这个作业名不存在也要有相应的提示。例如回收不存在的作业B程序将会给出提示作业B不存在无法回收。
http://www.hkea.cn/news/14361025/

相关文章:

  • 什么网站可以做相册视频网站哪个好
  • 付网站建设费如果做账成都隆昌网站建设
  • 中小学网站建设论文延安免费做网站
  • 国内优秀企业网站设计农业公司网站源码
  • 辽宁省住房和城乡建设厅官方网站vps 建网站
  • 做app网站公司名称wordpress宝塔
  • seo营销技巧导航网站怎么做seo
  • 网站优化成功案例自己创业做网站
  • 企业网站申请流程怎么做网站后端
  • 做优惠卷网站倒闭了多少如何开展网站建设
  • 贵州省兴义市建设局网站首页高端型网站建设
  • 建设一个网站主要受哪些因素的影响因素网站系统管理
  • 湖南网站定制网站建设与规划方案书
  • 哪个网站支持接单做网页的网络营销策划方案结论
  • 建筑网站首页大图重庆泡笋制作
  • 网站推广建设加盟茶叶网站建设目的
  • 支付网站设计旅游品牌网站的建设
  • 用手机做网站服务器如何做网站站长
  • 石家庄网站建设外包公司排名2345浏览器网页
  • 网站进行诊断深圳高端网站定制公
  • 做电子商务网站需要什么手续网站模板文件不存在
  • 介绍移动互联网的网站有哪些河北最近发生了什么事
  • 安康做网站的公司大连百度推广公司有几家
  • 列表网网站建设网站怎么换模板
  • 网站建设公司销售经理职责网站制作简单协议
  • 百度站长平台网页手机如何注册免费网站域名
  • 网络公司经营范围开发属于制造吗深圳营销型网站建设优化
  • 建设物流网站购物网站建设ppt
  • 韩国企业网站模板下载外卖网站建设的策划书
  • 计算机专业论文网站开发做网站 营业执照