使用Linux环境下C语言编程位视图实现500行500列的实验分配和回收磁盘块.doc_第1页
使用Linux环境下C语言编程位视图实现500行500列的实验分配和回收磁盘块.doc_第2页
使用Linux环境下C语言编程位视图实现500行500列的实验分配和回收磁盘块.doc_第3页
使用Linux环境下C语言编程位视图实现500行500列的实验分配和回收磁盘块.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用Linux环境下C语言编程,实现随机数的产生和数组的初始化。具体的实例如下。位示图方法模拟磁盘块的分配与回收。题目的描述:1. 要求在LINUX环境用C语言编程2. 假设有一个500行500列的矩阵来表示磁盘块,状态位是1表示已经分配出去,状态位是0表示空闲块3. 给这个矩阵用随机函数初始化,让其布满0和14. 写程序统计有多少个空闲块?5. 有一个程序文件要申请20个磁盘块,能否分配?如果可以分配,给出分配块的块号地址,块号=字号500+位号,并修改位示图,块号从0开始编址。6. 要回收第300块和第580块,如何实现?给出位示图修改的程序#include #include #include #define row 500#define col 500unsigned int new_rand () int fd; unsigned int n = 0; fd = open (/dev/urandom, O_RDONLY); if (fd 0) read (fd, &n, sizeof (n); close (fd); return n; int statistics_free(unsigned int wst)int sum_free=0;/记录空闲块个数,并初始化int i_row=0;int i_col=0;for(;i_rowrow;i_row+)for(i_col=0;i_col 0) unsigned int r; int i; for (i = 0; i 512; i+) read (fd, &r, sizeof (r); ticks += r; close (fd); srand (ticks); unsigned int wstrowcol; /初始化数组为0,1 for(;i_rowrow;i_row+) for(i_col=0;i_colstatistics_free(wst)printf(The space dont enough);return;printf(The space address like this:n);for(;i_rowrow;i_row+)for(i_col=0;i_col0&wsti_rowi_col=0)wsti_rowi_col=1;ask-;/计算当前的分配块号的地址address=i_row*row+i_col;printf(%d ,address);else if(ask=0)printf(nThe ask had request,the array is changed:n);for(t_row=0;t_rowrow;t_row+)for(t_col=0;t_colrow-1)printf(Your ask to free space dont find.);return;wstt_rowt_col=0;printf(nThe ask had request,the array is changed:n);for(r_row=0;r_rowrow;r_row+)for(r_col=0;r_colcol;r_col+)printf(%d ,wstr_rowr_col);printf(n);printf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论