第一范文网 - 专业文章范例文档资料分享平台

操作系统实验报告模板(17)

来源:用户分享 时间:2021-04-05 本文由毕竟终归 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

这是操作系统课程中的四次实验最终报告,内包括进程通信实验,进程同步互斥实验,文件系统模拟实验和Linux shell操作。里面的程序都是我运行过的。

int i,FcbIndex;

//确保没有打开过该文件 = 相同名字 + 相同目录

for(i=0;i<OPEN_MAX;i++) {

if(openlist->f[i].type ==GENERAL && strcmp(openlist->f [i].fname,file)==0 &&openlist->f[i].fatherBlockNum == current) {

printf("该文件已经被打开!\n"); return 0; } }

//确保有空的打开文件项 if(openlist->files == OPEN_MAX) {

printf("打开文件数目达到上限!无法再打开新文件.\n"); return 0; }

//确保当前目录下有该文件,并且记录下它的FCB下标

struct dirFile *dir; //当前目录的指针

if(current==2)

dir=&(osPoint->root); else

dir=(struct dirFile *)(osPoint->data [current-3]);

for(i = 1;i< BlockFcbCount;i++) { //查找该文件

if(dir->fcb[i].type==GENERAL && strcmp(dir->fcb[i].fname,file)==0 ) {

FcbIndex=i; break; } }

if(i==BlockFcbCount) {

printf("当前目录下不存在该文件!\n"); return 0; }

//装载新文件进入打开文件列表,(FCB信息,文件数++) ??难道名字过不来? openlist->f[OpenFileCount] = dir->fcb[FcbIndex]; //FCB拷贝 openlist->files ++; printf("文件打开成功!\n"); OpenFileCount++; return 1; }

int close(char *file)

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高等教育操作系统实验报告模板(17)全文阅读和word下载服务。

操作系统实验报告模板(17).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1178636.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top