操作系统-c语言实现空闲块表的存储空间的分配和回收 ...

2023-11-13

#include<iostream.h>
#include<stdlib.h>
#include<time.h>
#include<stdio.h>

void init(int map[20][20],int row,int col)//初始化函数
{
	int i,j,temp;
	temp = time(NULL);
	srand(temp);
	for(i = 0; i<row; i++)
	{
		for(j=0; j<col; j++)
		{
			map[i][j] = rand()%2;
			cout<<map[i][j]<<"    ";	
		}
		cout<<endl;
	}
}

void fenpei(int map[20][20],int row,int col)//分配函数
{
  int n,count=0,i,j,b;

  cout<<"请输入需要的盘块数:"<<endl;
  cin>>n;
  
  for(  i =0; i<row; i++)
	  for( j=0; j<col; j++)
	  {
		  if(count<n)
		  {
		   if ( map[i][j] == 0 )
			{
			  map[i][j]=1;
			  b = (i)* col +j;
			  cout<<"第"<<++b<<"盘块被分配!"<<endl;
		      count++;
			}
		  }
		  else
			  break;
	  }
cout<<"分配后的信息:"<<endl;
	for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
			cout<<map[i][j]<<"   ";
		cout<<endl;
	}

}

void huishou(int map[20][20],int row,int col)
{
	 int n,count=0,i,j;
  cout<<"请输入需要回收的盘块号:"<<endl;
  cin>>n;
 
  if( n>=row*col )
    cout<<"你输入的盘块号不存在!"<<endl;
   else
   {
	   i = n / col;
	   j = n % col;
	   if(map[i][j] ==0)
         cout<<"你输入的盘块号已空闲!"<<endl;
	   else
		   map[i][j]=0;
   }
  cout<<"分配后的信息:"<<endl;
	for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
			cout<<map[i][j]<<"   ";
		cout<<endl;
	}
}
void main()
{
	int row,col,type;
	int map[20][20];
	cout<<"请输入位示图的行和列:不能超过20!"<<endl;
	cin>>row>>col;
	init(map,row,col);
	while(1)
	{
	cout<<"请输入操作类型,1:分配,2:回收,3:退出!"<<endl;
	cin>>type;
	if(type==1)
		fenpei(map,row,col);
	else if(type == 2)
		huishou(map,row,col);
	else 
		return;
	
	}

}





转载于:https://www.cnblogs.com/szm2019/p/7140910.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作系统-c语言实现空闲块表的存储空间的分配和回收 ... 的相关文章

  • 操作系统 段页式存储管理

    一 引入 分页系统是以页面作为内存分配的基本单位 能有效地提高内存利用率 但信息共享等不方便 分段系统是以段作为内存分配的基本单位 它能够更好地满足用户多方面的需要 信息共享 动态链接等 但采用分区方式管理物理内存 仍然存在碎片问题 段页式
  • 如何学好C语言的数据结构与算法?

    C语言的数据结构与算法 难就难在链表 学会了链表 可能后面就一点都不难了 书籍推荐 数据结构与算法分析 C语言描述版 要深入学习的话可以选择这本书 因为针对链表的讲解是比较详细的 所以可以很快理解链表 跟着书上一点点实现基本操作 增删改查
  • [架构之路-185]-《软考-系统分析师》-3-操作系统基本原理 - 文件索引表

    目录 一 文件的索引块 二 索引分配表 三 索引表的链接方案 四 多层索引 五 混合索引分配 一 文件的索引块 存放在目录中的文件 并非是文件的真实内容 目录中记录了文件的索引块是几号磁盘块 文件对应的索引表是存放在指定的磁盘块中的 二 索
  • vector,list,deque区别

    http blog csdn net renkaihao article details 6803866 vector和built in数组类似 它拥有一段连续的内存空间 并且起始地址不变 因此它能非常好的支持随即存取 即 操作符 但由于它
  • dev-c++官网位置和源码/库位置

    1 http devpaks org 2 http www bloodshed net 3 http www bloodshed net dev 转载于 https www cnblogs com vilyLei articles 1812
  • 内存管理——分页分段

    一 分页存储管理 1 页面与页框 1 页面 将一个进程的逻辑地址空间分成若干个大小相等的片 称为页面或页 并为各页加以编号 2 页框 相应于页面 把内存空间分成和页面相同大小的若干个存储块 称为 物理 块或页框 frame 3 页内碎片 在
  • R----dplyr包介绍学习

    dplyr包 plyr包的替代者 专门面对数据框 将ddplyr转变为更易用的接口 gt 来自dplyr包的管道函数 其作用是将前一步的结果直接传参给下一步的函数 从而省略了中间的赋值步骤 可以大量减少内存中的对象 节省内存 可惜的是应用范
  • Trace Function Enter, Exit and Leave

    http developer nokia com community wiki Trace Function Enter Exit and Leave
  • Dev-C++之开启装逼效果

    Dev C 是个不错的C IDE 在10年前 它是很不错 在现在 它是个以界面丑陋和调试像吃粑粑这两点著称 如下图 实在是丑到离谱 丑到无法忍受 可是没办法呀 人家CCF规定比赛用这个 你个小蒟蒻吵什么 我现在就来讲讲怎么把你的Dev C
  • Public Private Protect Inheritance and access specifiers

    In the previous lessons on inheritance we ve been making all of our data members public in order to simplify the example
  • gdb attach 进程调试

    gdb调试正在运行的进程 GDB可以对正在执行的程序进行调度 它允许开发人员中断程序 并查看其状态 之后还能让这个程序正常地继续执行 gdb attach xxxxx xxxxx为利用ps命令获得的子进程process
  • 检查内存泄露

    自己编写的视频处理程序出现了一个问题 每帧的运行时间随着运行时间在不断增长 很大可能是出现了内存泄露 于是学习了一些查看内存泄露的方法 做了两种尝试 一是VS自带的DEBUG下的检测 view pl html view plain copy
  • Linux(13):例行性工作排程

    例行性工程 听谓的排程是将工作安排执行的流程之意 Linux 排程就是透过 crontab 与 at 这两个东西 两种工作排程的方式 一种是例行性的 就是每隔一定的周期要来办的事项 一种是突发性的 就是这次做完以后就没有的那一种 at at
  • Linux(12):磁盘配额(Quota)与进阶文件系统管理

    磁盘配额 Quota 的应用与实作 Quota 的一般用途 针对 www server 例如 每个人的网页空间的容量限制 针对 mail server 例如 每个人的邮件空间限制 针对 file server 例如 每个人最大的可用网络硬盘
  • Java反序列化漏洞-CC1利用链分析

    文章目录 一 前置知识 1 反射 2 Commons Collections是什么 3 环境准备 二 分析利用链 1 Transform
  • C/C++编程中的算法实现技巧与案例分析

    C C 编程语言因其高效 灵活和底层的特性 被广大开发者用于实现各种复杂算法 本文将通过10个具体的算法案例 详细探讨C C 在算法实现中的技巧和应用 一 冒泡排序 Bubble Sort 冒泡排序 Bubble Sort 是一种简单的排序
  • 【操作系统xv6】学习记录4-一级页表与二级页表

    占位
  • 【操作系统xv6】学习记录4-一级页表与二级页表

    占位
  • 在 Solaris 上,使用 gcc 编译的库与使用 cc 生成的库的使用方式是否相同?

    我目前正在尝试编译 libxml2在 Solaris 上 当我运行源代码提供的 configure 脚本时 会自动使用 gcc 和 g 编译器 但是 我想使用 cc 和 CC 编译器 所以我跑 configure CC cc CXX CC
  • C中的内存使用问题

    请帮忙 操作系统 Linux 其中 sleep 1000 中 此时 top 显示Linux任务 给我写了7 7 MEM使用 valgrind 未发现内存泄漏 我明白 写得正确 所有 malloc 结果都是 NULL 但是为什么这次 睡眠 我

随机推荐

  • Unity——新输入系统Input System

    1 安装 安装 直接到包管理器Window gt Package Manager安装即可 安装后提示需要重启 重启后即可使用 注意 在Project Settings中的Player设置里将Active Input Handling设置为I
  • 计算鬼成像学习笔记一:简介

    这里写目录标题 1 何为鬼成像 1 1 传统光学成像 所见即所得 1 2 鬼成像 又称关联成像 1 2 1 桶探测器 1 2 2 CCD 1 2 3 空间分辨率 1 2 4 光源 1 2 5 纠缠光子 1 2 6 赝热光源 1 2 7 散斑
  • springboot maven 子模块没有java文件夹 或 pom.xml灰色

    1 pom xml灰色 2 子模块 modules 没有添加到父模块 报错
  • 大学【微机原理与接口技术】参考资料、该视频笔记

    该百度网盘链接 是我学习 微机原理与接口技术 的参考资料 感觉讲的不错 有需要评论区下发qq邮箱 我看到会发给你 该视频笔记参考我的博客 https blog csdn net weixin 42214698 category 115770
  • PPPoE原理与配置方法

    一 PPPoE原理 数字用户线路DSL Digital Subscriber Line 是以电话线为传输介质的传输技术 人们通常把所有的DSL技术统称为xDSL x代表不同种类的数字用户线路技术 目前比较流行的宽带接入方式为ADSL ADS
  • 从零开始的webpack生活-0x014:CustomLoader自定义loader

    0x001 概述 上一章我们讲了eslint loader的配置 常用类型的常用loader已经都讲完了 大体上其他的都大同小异 需要去各大loader的官方查阅用户手册就可以了 接下来将loader的本质和自定义loader 0x002
  • 30行Python代码实现3D数据可视化!非常惊艳!

    回顾 2D 作图 用赛贝尔曲线作 2d 图 此图是用基于 Matplotlib 的 Path 通过赛贝尔曲线实现的 有对赛贝尔曲线感兴趣的朋友们可以深入了解一下 在 matplotlib 中 figure 为画布 axes 为绘图区 fig
  • 教你用Navicat生成E-R图

    最近在弄毕业论文 导师让我在论文中插一些图 其中设计到之前数据库中表与表的关系图 开始本来想手动画一个 然后突然想到 是不是Navicat会自带这种功能呢 仔细一看 果然有 于是乎开始倒腾一番 在此记录一下 也方便需要的人 1 打开navi
  • vue3开发技巧包括全局注册自定义指令,全局注册组件

    文章目录 一 全局注册自定义指令 1 钩子函数 2 动态指令参数 二 全局注册组件 三 v for循环中绑定不同点击事件 四 v for循环中绑定不同class属性 一 全局注册自定义指令 vue3全局定义自定义指令 与vue2版本差别不大
  • 初学前端,学习路线图必不可少,更有【95页】初级前端模块笔记!

    前言 在初学前端的时候 我们总会遇到一些问题 我们可以在网上看到很多关于前端的这些问题 你们都是怎么学web前端的 零基础 怎么自学好前端 前端需要学多久 都学哪些知识 想成为一名合格的前端工程师 需要掌握哪些技能 下面是给初学前端的小伙伴
  • Java动态性之反射机制

    一 动态语言 程序运行时 可以改变程序结构或变量类型 典型的语言 python ruby javascript等 function test var s var a 3 var b 5 alert a b eval s c c java不是
  • python中如何查看statsmodels相关知识

    运行arima的一个相关程序时 总是打印一些我不需要的数据 如下 RUNNING THE L BFGS B CODE Machine precision 2 220E 16 N 1 M 12 This problem is unconstr
  • 2023新版Java学习路线视频讲解,程序员自学必备指南

    深知大家自学Java的苦 苦于没有系统的知识体系 不知道该学什么 看哪个视频比较好 因此 老杜精心录制了这版超实用且全面的Java学习路线 目的在于帮助自学Java的初学者减少迷茫和时间浪费 制定出一份系统的学习计划和路线 让你学Java更
  • comsol光学仿真01

    与RF模块比较 1 RF模块适合模拟与波长大小相近的域 2 最大网格大院大小必须是波长的一部分 大约在波长的1 6 缺点 计算过慢 与射线光学比较 1 射线 几何 光学适合模拟远大于波长的结构 2 能够有效追踪经过复杂几何区域和材料的射线
  • arm汇编指令详细整理及实例详解

    目录 一 简介 二 ARM 汇编指令说明 2 1 32位数据操作指令 2 2 32位存储器数据传送指令 2 3 32位转移指令 2 4 其它32位指令 三 实例讲解 3 1 MRS 3 2 MSR 3 3 PRIMASK 3 4 FAULT
  • lazarus开发应用提供http接口

    lazarus开发应用提供http接口 简单试用了一下fphttpapp 发现非常易用 直接支持中文内容 引用3个核心单元 fphttpapp httpdefs httproute 启用端口定义路由 procedure route1 aRe
  • mysql8.0查看用户_MySQL 8.0用户和角色管理

    MySQL8 0新加了很多功能 其中在用户管理中增加了角色的管理 默认的密码加密方式也做了调整 由之前的sha1改为了sha2 同时加上5 7的禁用用户和用户过期的设置 这样方面用户的管理和权限的管理 也增加了用户的安全性 MySQL8 0
  • pytorch的序列化

    PyTorch是一个基于Python的开源机器学习框架 序列化是指将模型 张量或其他Python对象转换为一种可存储的格式 以便于在后续的时间点进行加载 重用或共享 通过序列化 可以将模型保存到磁盘上 方便后续再次加载和使用 具体来说 Py
  • 【Reacte】 React 嵌入JS表达式 、条件渲染 、数组列表渲染 、样式处理

    嵌入JS表达式 语法 js表达式 let content 插入的内容 let h1 h1 我是通过JSX创建的元素 content h1 描述 1 只要是合法的js表达式都可以进行嵌入 2 JSX自身就是JS表达式 注意 语法是单花括号 不
  • 操作系统-c语言实现空闲块表的存储空间的分配和回收 ...

    include