《操作系统》二级文件操作
操作系统:二级文件夹文件系统的实现(cc++语言)

操作系统:⼆级⽂件夹⽂件系统的实现(cc++语⾔)操作系统的⼀个课程设计,实现⼀个⼆级⽂件夹⽂件系统。
⽤disk.txt模拟磁盘,使⽤Help查看⽀持的命令及其操作⽅式,root为超级⽤户(写在disk.txt中)⽂件的逻辑结构:流式⽂件。
物理结构:链接⽂件。
物理空间管理:空暇链法。
⽂件夹结构:⼆级⽂件夹结构。
⽂件夹搜索技术:线性搜索。
FCB:含⽂件相关的所有属性。
物理盘块的设计(disk.txt)以⼀个⽂本⽂件disk.txt模拟硬盘,设定硬盘容量分为100个物理块,每⼀个物理块的⼤⼩512字节(为了測试⽅便,最后68个数据块每⼀个的⼤⼩为256字节),盘块之间⽤(‘\n’)切割。
因此⼀个盘块:512字节数据+1字节(‘\n’)切割符=513字节。
则disk.txt 长度=51300(100×513)+1字节(⽂件结束符)=51301字节。
100块盘块的分布:1#: MFD块,存放MFD信息;2-17#: UFD块,存放UFD信息;18-33#: UOF块,存放UOF信息;其余物理块⽤于存放⽂件内容。
# MFD块的设计硬盘的第1个物理块固定⽤于存放主⽂件⽂件夹MFD。
MFD结构例如以下:typedef struct mfd{username ;//username 14Buserpwd ;//password14Blink; //该⽤户的UFD所在的物理块号(4B)}MFD;每⼀个MFD项占32字节。
因此,1个物理块可存放512/32=16个MFD(⽤户),即本⽂件系统最多可管理16个⽤户。
例如以下表1所看到的:username password⽤户⽂件⽂件夹地址Peter123453Ben Abc5表1 ⽂件系统⽤户⽂件夹信息表2#-17# UFD块的设计2#-17#物理块:固定⽤于存放⽤户⽂件⽂件夹UFD。
假设⼀个⽤户须要⼀个UFD块。
因此,16个⽤户共须要16个UFD块。
UFD结构例如以下:typedef struct {filename //⽂件名称14B;mode; ///⽂件权限0-readonly;1-writeonly;2-read/writelength; ///⽂件长度(以字节数计算)addr;//该⽂件的第1个⽂件块对应的物理块号}UFD;⼀个UFD项设为32 Bytes。
《操作系统第二章》PPT课件

文件的逻辑结构与物理结构
文件的逻辑结构
从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立 于文件的物理特性,又称为文件组织。
文件的物理结构
又称文件的存储结构,是指文件在外存上的存储组织形式。这不仅与存储介质的存储性能 有关,而且与所采用的外存分配方式有关。
文件的逻辑结构与物理结构之间的关系
实时操作系统
是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理, 其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出 快速响应,并控制所有实时任务协调一致地运行。
操作系统的分类与特点
网络操作系统
是基于计算机网络的,是在各种计算 机操作系统上按网络体系结构协议标 准开发的软件,包括网络管理、通信 、安全、资源共享和各种网络应用。
设备分配算法
常用的有先来先服务(FCFS)、优先级高者优先(HPF)等算法 ,根据实际需求选择合适的算法进行设备分配。
设备回收机制
在用户进程使用完设备后,及时回收设备资源,以便其他进程使用 。
设备驱动程序与中断处理
设备驱动程序
与硬件直接交互的软件模块,提供对 设备的控制和管理功能。驱动程序需 要处理设备的初始化、数据传输、错 误处理等问题。
构。
PCB中包含了进程标识符、处理 器状态信息、进程调度信息、进
程控制信息等。
操作系统通过PCB对进程实施管 理和控制,如进程的创建、撤销 、阻塞、唤醒等操作都需要修改
PCB中的信息。
进程调度算法
01
进程调度算法是操作系统用来确定处理器分配给哪个进程使 用的策略和方法。
02
常见的进程调度算法包括:先来先服务FCFS、短作业优先 SJF、优先级调度算法PSA、时间片轮转RR等。
最新国家开放大学电大本科《操作系统》期末试题标准题库及答案(试卷号1251)

最新国家开放大学电大本科《操作系统》期末试题标准题库及答案(试卷号1251)最新国家开放大学电大本科《操作系统》期末试题标准题库及答案(试卷号:1251)考试说明:本人汇总了历年来该科的试题及答案,形成了一个完整的标准考试题库,对考生的复习和考试起着非常重要的作用,会给您节省大量的时间。
内容包含:选择题、判断题、简答题、应用题。
做考题时,利用本文档中的查找工具(Ctrl+F),把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核、机考及教学考一体化试题答案,敬请查看。
《操作系统》题库一一、选择题(选择一个正确答案的代码填入括号中,每小题2分,共30分)1.在计算机系统中,控制和管理各种软、硬件资源,有效地组织多道程序运行的系统软件称作()。
A.网络系统B.文件系统C.操作系统D.数据库系统2.以下著名的操作系统中,属于多用户、分时系统的是()。
A.DOS系统B.WindowNT系统C.OS/2系统D.UNI某系统3.系统调用是由操作系统提供的内部调用,它()。
A.直接通过键盘交互方式使用B.只能通过用户程序间接使用C.是命令接口中的命令D.与系统的命令一样4.在单处理机系统中,处于运行状态的进程()。
A.只有一个B.可以有多个C.不能被挂起D.必须在执行完后才能被撇下5.在一段时间内,只允许一个进程访问的资源称为()。
A.共享资源B.临界资源C.临界区D.共享区6.作业调度的关键在于()。
A.用户作业准备充分B.有一个较好的操作环境C.选择恰当的作业调度算法D.选择恰当的进程管理程序7.现有3个作业同时到达,每个作业的计算时间都是1小时,它们在一台CPU上按单道方式运行,则平均周转时间为()小时。
A.1B.2C.3D.68.通常,用户编写的程序中所使用的地址称为()。
A.内存地址B.物理地址C.绝对地址D.逻辑地址9.在请求分页虚拟存储管理中,若所需页面不在内存中,则会引起()。
《操作系统》课程简介

《操作系统》课程简介操作系统是计算机科学与技术领域中一门重要的课程,它研究计算机系统的核心组成部分,是指挥计算机硬件和软件资源进行有效管理和协调的基础软件。
本篇文章将为您介绍《操作系统》课程的主要内容和学习目标。
一、课程概述《操作系统》课程是计算机科学与技术专业的一门必修课程,旨在培养学生对计算机操作系统原理和实现方法的基本认识和综合应用能力。
二、课程目标本课程的主要目标是让学生掌握以下知识和技能:1. 了解操作系统的概念、功能和作用;2. 理解操作系统的基本原理和核心概念;3. 熟悉操作系统的各个模块及其相互关系;4. 掌握操作系统的常见算法和数据结构;5. 学习操作系统的设计与实现方法;6. 培养分析和解决操作系统问题的能力。
三、课程内容1. 操作系统概述- 计算机系统结构- 操作系统的目标和作用- 操作系统的发展历程2. 进程管理- 进程与线程的概念- 进程状态及其转换- 进程调度算法- 进程同步与互斥3. 内存管理- 内存的层次与管理方式- 内存分配与回收策略- 虚拟内存技术4. 文件系统- 文件系统的基本组成- 文件组织与文件操作- 文件存储与管理5. 输入输出系统- 输入输出设备的组成与工作原理- 输入输出缓冲区管理- 文件输入输出6. 分布式操作系统- 分布式系统的概念与特点- 分布式操作系统的体系结构- 分布式文件系统与进程通信四、教学方法《操作系统》课程采用多种教学方法,包括理论讲授、实验操作、课堂讨论等。
教师还会提供相关的经典案例和实际应用场景,引导学生进行问题分析和解决方案设计。
五、考核方式《操作系统》课程的考核方式一般包括平时成绩和期末考试。
平时成绩主要由作业、实验报告和课堂表现等组成,期末考试覆盖课程的主要知识点。
六、就业方向掌握操作系统原理和实现方法对计算机科学与技术专业的学生来说是非常重要的。
毕业生可以选择从事操作系统相关的研究和开发工作,也可以在计算机系统维护和优化方面进行工作。
操作系统设计一个二级文件系统报告

v .. . ..
. . . 资 料. .
操作系统(2014年秋季学期)
实 验 报 告
系别:计算机科学与技术 班级:信安12-1班 姓名:*** 学号:
实验名称:进程调度
NORTH CHINA UNIVERSITY OF TECHNOLOGY
2022-4-26 2/17
.
Word 资料
NORTH CHINA UNIVERSITY OF TECHNOLOGY
2022-4-26 4/17
.
Word 资料
NORTH CHINA UNIVERSITY OF TECHNOLOGY
.
Word 资料
NORTH CHINA UNIVERSITY OF TECHNOLOGY
.
Word 资料
NORTH CHINA UNIVERSITY OF TECHNOLOGY
}
五、编译过程截图
(下面是一个例子,换上你自己的图)
六、测试用例
(下面是一个例子,换上你自己的)
文字叙述一下测试过程的实例。
如先创建用户***、再产生文件****、再打开文件****,再写入内容********,再退出,再打开用户***,再将文件读出,读出的内容应该是*******。
等等。
六、实验结果
(下面是一个例子,换上你自己的图,给出根据测试用例的截图)。
国开电大《操作系统》2024期末试题

操作系统期末试题(2024春)一、单选题1.在计算机系统中,控制和管理各种资源、有效地组织多道程序运行的系统软件称作()。
A.文件系统B.操作系统C.网络管理系统D.数据库管理系统2.按照所起的作用和需要的运行环境,操作系统属于()。
A.应用软件B.用户软件C.系统软件D.支撑软件3.操作系统的基本职能是()。
A.提供功能强大的网络管理工具B.提供用户界面,方便用户使用C.提供方便的可视化编辑程序D.控制和管理系统内各种资源,有效地组织多道程序的运行4.为了使计算机系统中所有的用户都能得到及时的响应,该操作系统应该是()。
A.多道批处理系统B.实时系统C.分时系统D.网络系统5.在实时系统中,一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回。
下面属于实时系统的是()。
A.办公自动化系统B.计算机激光照排系统C.航空订票系统D.计算机辅助设计系统6.实时操作系统追求的目标是()。
A.快速响应B.充分利用内存C.高吞吐率D.减少系统开销7.操作系统内核与用户程序、应用程序之间的接口是()。
A.系统调用B.图形界面C.shell命令D.C语言函数8.进程与程序之间有密切联系,但又是不同的概念。
二者的一个本质区别是()。
A.程序是动态概念,进程是静态概念B.程序是静态概念,进程是动态概念C.程序保存在文件中,进程存放在内存中D.程序顺序执行,进程并发执行9.在单CPU系统中,若干程序的并发执行是由()实现的。
A.程序自身B.进程C.用户D.编译程序10.某进程由于需要从磁盘上读入数据而处于阻塞状态。
当系统完成了所需的读盘操作后,此时该进程的状态将()。
A.从运行变为就绪B.从阻塞变为就绪C.从阻塞变为运行D.从就绪变为运行11.进程从运行状态变为阻塞状态的原因是()。
A.输入或输出事件完成B.时间片到C.输入或输出事件发生D.某个进程被唤醒12.如果信号量S的值是0,此时进程A执行P(S)操作,那么,进程A会()。
2021年国开电大《操作系统》形考任务3答案
2021年国开电大《操作系统》形考任务3答案题目为随机抽题请用CTRL+F来搜索试题形考任务三通道是一种()。
参考答案:I/O专用处理机特殊文件是与()有关的文件。
参考答案:硬件设备在以下的文件物理存储组织形式中,常用于存放大型系统文件的是(参考答案:连续文件在UNIX系统中,磁盘存储空间空闲块的链接方式是()。
参考答案:空闲块成组链接法在UNIX/Linux系统中,用户程序经过编译之后得到的可执行文件属于参考答案:普通文件文件系统为每个文件另建立一张指示逻辑记录和物理记录之间的对应关系表,由此表和文件本身构成的文件是()。
参考答案:索引文件文件系统采用二级文件目录可以()。
参考答案:解决不同用户间的文件命名冲突在UNIX系统中,某文件的使用权限设置为754,则表示()。
参考答案:文件主可读、写、执行在操作系统中,用户在使用I/O设备时,通常采用()。
参考答案:设备的相对号为了使多个进程能有效地同时处理阵发性的输入和输出,最好使用()结构的缓冲技术。
参考答案:多缓冲设备的打开、关闭、读、写等操作是由()完成的。
参考答案:设备驱动程序设磁盘的转速为3000转/分,盘面划分为10个扇区,则读取一个扇区的时间是()。
参考答案:2ms下列描述中,不是设备管理的功能的是()。
参考答案:实现中断处理通过硬件和软件的功能扩充,把原来独占的设备改造成为能为若干用户共享的设备,这种设备称为()设备。
参考答案:虚拟一个含有6个盘片的双面硬盘,盘片每面有100条磁道,则该硬盘的柱面数为()。
参考答案:100用户编制的程序与实际使用的物理设备无关是由()功能实现的。
参考答案:设备独立性下列不属于设备分配技术的是()。
参考答案:通道分配技术控制和管理资源建立在单一系统策略基础上,将计算功能分散化,充分发挥网络互联的各自治处理机性能的多机系统是()。
参考答案:分布式系统下面关于嵌入式系统的描述,错误的是()。
参考答案:软件与硬件相对独立安装和卸载下列描述不属于文件系统功能的是()。
操作系统二级文件管理系统结构设计
操作系统二级文件管理系统结构设计二级文件管理系统是一种较为常见的操作系统文件管理结构,主要用于管理计算机中的文件和目录。
该系统结构设计的目标是提供高效、可靠和安全的文件管理功能,使用户能够方便地存储、访问和管理文件。
一、文件系统的基本结构1.文件系统层次结构:二级文件管理系统采用层次结构,由两个层次组成:目录层和文件层。
目录层用于组织、分类和管理文件,文件层用于存储和读取实际文件数据。
2.目录结构设计:目录是文件和子目录的逻辑组织结构,可以有多级嵌套。
目录层次结构可以采用树形结构,根目录是顶级目录,下级目录称为子目录。
每个目录包含目录项,每个目录项包含文件名和文件指针。
3.文件结构设计:文件是存储在磁盘上的一组数据,可以是文本文件、图像文件、音频文件等。
文件层次结构可以采用线性结构,每个文件由文件头、文件数据和文件尾组成。
文件头包含文件属性信息,文件数据是实际的文件内容,文件尾用于标记文件结束。
二、文件系统的实现原理1.文件分配方法:文件分配方法指定了文件在磁盘上的存储方式。
常见的文件分配方法有连续分配、链接分配和索引分配。
连续分配将文件存储在连续的磁盘块上,链接分配使用链表将文件块链接起来,索引分配使用索引表记录文件块的位置。
2.目录操作:目录操作包括创建目录、删除目录、重命名目录、进入目录和返回上级目录等。
其中进入目录操作是进入子目录进行文件管理,返回上级目录是返回到父目录中。
3.文件操作:文件操作包括创建文件、删除文件、读取文件和写入文件等。
创建文件时需要为文件分配存储空间,并在目录中添加文件项;删除文件时需要释放文件占用的存储空间,并在目录中删除文件项;读取文件和写入文件是对文件数据的操作,读取时将文件数据输出到终端,写入时将终端输入的数据写入到文件中。
三、文件系统的实现考虑因素1.效率:文件系统应提供高效的操作方法,包括目录和文件的操作。
目录的层次结构应使查找操作能够在较短的时间内完成,文件的分配方法应尽量减少磁盘碎片和提高文件存取速度。
2024版年度《操作系统》ppt课件
成组链接法
将若干个空闲块组成一组,第一块的指针指向下一组空闲块 的第一块,最后一块的指针指向本组的空闲块总数,分配和 回收空间时均以组为单位进行。
31
磁盘容错技术
奇偶校验
通过增加冗余信息来检测并纠正数 据传输过程中可能出现的错误。
日志结构文件系统
将多个磁盘组合成一个逻辑磁盘, 通过数据分条、镜像、奇偶校验等
2024/2/2
最短寻道时间优先(SSTF)
优先选择距离当前磁头位置最近的请求进行服务,可减少磁头移动距 离,但可能导致某些请求长时间等待。
扫描算法(SCAN)
磁头从一端向另一端移动,途中满足遇到的请求,到达另一端后返回, 途中再次满足遇到的请求,如此往复。
循环扫描算法(CSCAN)
类似于SCAN算法,但磁头只在一个方向上移动,到达另一端后立即 返回起始端,途中不服务请求,返回途中再满足遇到的请求。
通信加密
对网络通信数据进行加密,防止数据在传输过程 中被窃取或篡改。
2024/2/2
36
防火墙与入侵检测系统设计
1 2
防火墙技术 通过包过滤、代理服务等技术,对网络进行访问 控制,防止外部攻击。
入侵检测系统 实时监控网络和系统事件,发现可疑行为并及时 报警,防止内部和外部的入侵行为。
3
防火墙与入侵检测系统的整合 将防火墙和入侵检测系统相结合,实现更全面的 安全防护。
功能
操作系统的主要功能包括管理计算机硬 件和软件资源,提供用户界面,以及控 制和管理计算机系统的各个部分。
2024/2/2
4
发展历程与分类
发展历程
从手工操作到批处理系统,再到分时系统、实时系统、网络操作系统和分布式 操作系统等。
操作系统课程设计为LINUX设计一个简单的二级文件系统
操作系统课程设计为LINUX设计一个简单的二级文件系统一.项目概述本课程设计旨在通过设计一个简单的多用户文件系统,加深学生对文件系统内部功能及内部实现的理解,并提高学生的程序设计能力、算法设计质量与程序设计素质。
二.设计题目为LINUX设计一个简单的二级文件系统,要求实现以下命令:Login用户登录、Dir列文件目录、Create创建文件、Delete删除文件、Open打开文件、Close关闭文件、Read读文件、Write写文件。
列目录时需包括文件名、物理地址、保护码和文件长度。
源文件需进行读写保护。
三.开发语言及实现平台或实验环境本课程设计的开发语言为C语言,实现平台为Linux操作系统。
学生需要在规定时间内完成程序的编写和调试,并书写课程设计报告。
四.时间安排1月17日布置课程设计任务,学生需要自行查阅资料并准备程序。
1月18日至1月20日,学生需要在机房上机调试程序,并书写课程设计报告。
1月21日上午,学生需要提交课程设计报告及相关文档。
每位学生应独立完成各自的任务,每天至少在设计室工作半天。
五.具体要求1.课程设计报告应按统一通用格式书写,具体格式要求请在网络上查阅。
2.指导教师和教研室主任(或责任教师)需要在规定时间内签署相应的文件。
设计目的:本设计旨在开发一款能够实现某种功能的程序,为用户提供便利。
设计内容:5.1.该程序将包括两个主要功能:A和B。
A功能将执行某种操作,而B功能将提供用户界面,使其能够轻松地使用A功能。
5.2.此外,该程序还将包括其他辅助功能,例如C和D。
这些功能将提高程序的可用性和实用性。
任务:该程序的主要任务是为用户提供一种方便、高效的解决方案,使其能够更轻松地实现某种目标。
主程序流程图:程序的主要流程将包括以下步骤:用户打开程序,选择所需的功能,程序执行相应的操作,最终将结果返回给用户。
程序设计:6.1.在程序设计方面,我们将采用一种灵活、可扩展的架构,以便能够轻松地添加新的功能和模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4)为了模拟linux的通过i节点查找文件的磁盘块地址,我的设计的查找用户文件的物理地址的思路如下:“user.txt”相当于linux中的目录,用户登陆时首先从中找到自己的名字即i节点(相当于找到了node里面自己的用户文件),然后再查找该文件,即可以找到文件的磁盘块地址。
//将文件读入结构fileTable中
FILE *fp;
if ((fp = fopen(q2, "r")) == NULL) {
printf("error1\n");
exit(0);
}
fread(fileTable, sizeof(struct node), used1, fp);
fclose(fp);
2)在程序文件夹下有个名为“file”的系统根目录,此目录下包括:一个名为“user.txt”的文件,记录所有注册过的帐号及密码;一个名为“node”的文件夹:“node”文件夹中存有用户文件(以用户名作为文件名),内容为每个用户所创建的文件的文件名及其物理地址;一个名为“root”的文件夹:.里面可以存放超级管理员创建的文件,超级管理员有查看现有用户和删除用户的权利。
{
strcpy(fileTable[i].fileName, fileTable[i + 1].fileName);
strcpy(fileTable[i].number, fileTable[i + 1].number);
}
used1--;
//将更改后的fileTable的内容写入文件,文件即进行了更新。
//对结构fileTable里面的内容(文件名和物理地址)进行修改
int i, m = 0;
for (i = 0; i < used1; i++) {
if (!strcmp(fileTable[i].fileName, firstName)) {
m = 1;
for (; i < used1 - 1; i++)
//由于每条信息的大小为20bytes,所以可以用文件的大小除以20,即可求得现在有多少条记录
char q2[20] = "file/node/";
strcat(q2, Name);
struct stat d;
stat(q2, &d);
d.st_size;
used1 = (d.st_size管理和存储方式,运用c语言的文件操作函数,对文件以及文件夹进行一系列的读写查删操作。
【实验环境】
Windows7—VMware Workstation 7.1.3--Ubuntu10.04--eclipse
实验内容
【实验方案设计】
1)系统功能设计:文件操作包括创建、删除、打开、关闭、阅读、写入、修改模式.其他操作包括新建用户、帮助、用户登入、用户登出、退出系统.。
voidreadDir1();//读用户
voidcreate(char*name);//创建文件
voiddeletefile(constchar*filename);//删除文件
intopenfile(char*name);//打开文件
voidwritefile(charname[],char*buf);//写文件
比如查找root用户的a.c文件的地址
首先查找到用户root的文件的位置,然后遍历file\node\root文件,查找到它的磁盘地址为1
目录root的i节点(即:file\node\root文件)
查找root确认登录通过文件名查找出磁盘地址
【实验过程】(实验步骤、记录、数据、分析)
一、代码分析:
1)数据结构
longused = 0;//全局变量,用户数
longused1 = 0;//全局变量,用户创建文件数
功能函数
voiduserCreate();//创建用户
intlogin();//用户登录
intcreateDirectory(constchar*filename);//创建目录
voidfileAttribute(char*fileName);//文件属性
华南理工大学
《操作系统》课程实验报告
实验概述
【实验目的及要求】
实验目的:
通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。
实验要求:
为linux系统设计一个简单的二级文件系统。要求做到以下几点:
(1)可以实现下列几条命令(至少4条);
login用户登陆
dir列文件目录
create创建文件
其他结构
#defineMaxUser 1028//用户最多数目
#definecommandAmount 12//对文件操作的指令数
//用户管理
intuserID = -1;//用户登录的ID号,值为-1时表示没有用户登录
charName[15];//正在登录用户名
charfirstName[5];//正在被操作的文件
if ((fp = fopen(q2, "w")) == NULL) {
printf("error1\n");
exit(0);
}
fwrite(fileTable, sizeof(struct node), used1, fp);
fclose(fp);
break;
}
}
if (m == 0) {
printf("\n您输入的文件不存在,删除失败\n");
7)因为“c”文件只有写的权限,没有读的权限,所以不能对它进行读操作
8)修改“c”文件为可读可写,即可进行写操作
9)查看单个文件的属性
10)对文件进行重命名
11)显示所有文件
12)退出用户后,可以用其他账户登录
13)还可以直接退出系统
【参考文献】
现代操作系统(课本)
Linux&Unix C程序员参考大全
用户创建文件信息结构(此结构用来暂时存储或修改文件名和它的物理地址,操作完成后,存入“file\node\文件名”中):
typedef struct node {
char fileName[15];
char number[5];
//UFD *user;
} MFD1;
MFD1 fileTable[1024];
delete删除文件
open打开文件
close关闭文件
read读文件
write写文件
(2)列目录时要列出文件名、物理地址、保护码和文件长度;
(3)源文件可以进行读写保护。
【实验原理】
1)实验要求:设计一个简单的二级文件系统,所谓二级文件系统即如下:
经过分析,系统要求:每个用户在登陆后才可对其拥有的文件进行操作,用户对于其他用户的文件无操作权.
voidreadfile(charname[]);//查看文件内容
voidclosefile(intfd);
voiduserCreate();//创建用户
intlogin();//用户登录
voidcreatefile(charname[],charkind[]);//创建文件
voidreFileName(char*old,char*new);//文件重命名
voidchmodfile(charname[],charkind[]);//修改文件权限
2)以删除文件为例解释如何对文件进行操作:
/*---------删除文件--------*/
void deletefile(const char*filename) {
//真正删除文件
unlink(filename);
用户信息数据结构(此结构用来暂时存储或修改用户名和密码,操作完成后,存入user.txt文件中。):
typedef struct master_file_directory
{
char userName[15];
char password[15];
} MFD;
MFD userTable[MaxUser];
3)用户可以创建可读可写、只可读、只可写、不可读也不可写的文件:
创建可读可写文件:
创建只可读文件
创建只可写文件
创建不可读不可写文件:
不可以对不可读不可写文件进行读写操作:
不能创建已存在文件
4)显示用户的所有的文件
5)不能对没有权限的文件进行相应的读写操作
6)写文件(文件内容可以空格,但是没有实现换行)
Linux c高级程序员指南
Linux系统最佳实践工具——命令行技术
小结
指导教师评语及成绩
评语:
成绩:指导教师签名:
批阅日期:
}
printf("文件已删除\n");
}
总结:删除有实际的删除和删除存储了与它相关信息的文件
二、文件系统使用说明:
1)本系统有设计默认超级管理员,账号:root,密码:root.
登录之后,可以查看和删除用户:
超级管理员用户对文件系统的其他使用跟一般用户一样。
2)一般用户得先注册才能使用该软件,登录后便可看到主菜单,对其进行操作: