网站大量收购闲置独家精品文档,联系QQ:2885784924

南邮操作系统实验4.文件系统模拟实现 .docxVIP

南邮操作系统实验4.文件系统模拟实现 .docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验4:文件系统的模拟实现 ■实验基本信息 ■实验内容说明 实验基本信息 ■实验名称 ■文件系统的模拟实现 ■实验类型:综合学时:2+2 ■实验时间:13.5.30 (下午3-4节) ■地点:I - ■实验环境: ■ VMWare + Ubuntu 实验内容及原理说明 实验内容及原理说明——实验4 实验内容及原理说明 实验内容及原理说明——实验4 ■实验目的和要求: ■掌握文件系统调用create unlink、open、close、 reads write的隹用,编程模拟实现文件系统基本功能 ■具体功能: ■运行终端给岀命令提示,请用户选择创建、删除、读、 写、退岀等操作(可用数字表示不同命令) ■根据用户选择命令,提示用户输入文件名、文件內容 等彳言息 ■执行用户命令 #include unistd.h #includestdio.h #include fcntl.h ■创建文件creat (兼具打开功能) fd= creat (filenamep, mode); filenamep指向所要创建的文件路径名 mode为文件的存取权限 fd为文件创建成功后返回的文件描述符,即用户打开 文件表中相应文件表项的序号 Ex: fd=creat(u/home/a/newfile9\0775); ■删除文件unlink u n lin k(file n a mep); ■将文件从所在目录文件中去除,即删除相关基 本目录项 Ex: unlink(u/home/a/newfile^); 实验内容及原理说明 实验内容及原理说明——实验4 实验内容及原理说明一 实验 实验内容及原理说明一 实验4 ■打开文件open fd = open (filenamep, mode); mode为打开方式 O_RDWREx : open (u/home/a/newfile9\ O_RDWR O_APPEND); [O RDONLY] ■关闭文件close close (fd); ■读文件read nr = read (fd5 buf, count); buf为读岀信息所应送入的用户数据区首地址 count为要求传送字节数 m?为实际读入字节数 ■—旦读到文件末尾,系统调用就返回,故m?可能小于 count,甚至为0 ■写文件write nw = write (fd, buf, count); ■参数类似read ■其中buf是信息传送的源地址,即将buf指向的用户数 据区中的信息写入文件中 创建:fd=creat (filenamep, mode); ■删除:unlink (filenamep); 读:fd=open (filenamep, mode); nr=read (fd, buf, count); close (fd); 写:fd=open (filenamep, mode); nw=write (fd, buf, count); close (fd); /r /r /r /r #include sys/types.h #include sys/stat.h #include unistd.h #includc stdio.h nclude fcntl.h #include Vdiren匚h #define FII.E_NK)DE (S_IRUSR | S_IWUSR | S_1RGRP | S_IROTH) #define BUFFSIZE 1024 #define MAX_FIIFNAME_LEN 100 void crcatc_filc(c()nst char *filcNamc) { if(creat(fileNameFILE_M()DE) 0) { printff1 Create file failed!、n); } else { printf(HCreate file successfully!\nK); void del_file(const char *fileName) {- if(unlink(fileName) 0) { printf(HDelete file failedJXn11); } else { printf(HDelete filesuccessfull^\n } } void print_file(const char * file Name) { int fd = -1; intn; charbuf[BUFFSIZEJ; fd 二 opcn(filcNjirnc,O_RD()NLY); if(fd0) { printf(HOpen file Failed!ti); return; } whilc((n=rcad(fd,buf3UFFSIZE)) 0) { i f(write (STD O UT J

文档评论(0)

138****9735 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档