- 6
- 0
- 约7.53千字
- 约 6页
- 2017-02-01 发布于重庆
- 举报
Linux与Windows_NT文件系统
Linux与Windows NT系统的文件系统【摘要】本文参阅了一些书籍和论文,总结了一些主要内容,概述了Linux和Windows NT的文件系统并加以比较。通过文件系统的基本框架、系统调用、具体实现、设计思想等方面介绍了文件文件系统,对比Windows NT和Linux的文件系统,提炼出几点主要的不同和区别。【关键词】Linux,Windows NT,文件系统Linux系统的文件系统最初的Linux系统使用MINIX 1文件系统,但是此系统只支持14字节的文件名和最大64MB的文件,限制非常大,所以Linux开发之后的第五年便出现了ext文件系统。然而ext文件系统相比MINIX 1速度更慢,为此人们又开发出ext 2文件系统,成为Linux系统的主流文件系统,此后还有ext 3文件系统,但是基本框架和ext 2没有差别。需要说明的是,Linux使用虚拟文件系统(VFS),因而可以支持多类型的文件系统。Linux的文件系统调用单个文件的系统调用创建一个文件可以使用creat系统调用,其参数是文件名和保护模式,其中mode决定了文件的访问权限和方式。creat创建成功时会返回一个非负整数即文件描述符。若文件已存在,调用creat会使得该文件的内容丢失,文件长度变为0。下图是常用的文件系统调用函数表[1]:系统调用描述fd = creat(name, mode)创建新文件的一种方法fd = open(file, how, …)打开文件读、写或者读写s = close(fd)关闭一个文件已经打开的文件n = read(fd, buffer, nbytes)从文件中读取数据到一个缓冲区n = write(fd, buffer, nbytes)把数据从缓冲区写到文件position = lseek(fd, offset, whence)移动文件指针s = stat(name, buf)获取一个文件的状态信息s = fstat(fd, buf)获取一个文件的状态信息s = pipe(fd[0])创建一个管道s = fcntl(fd, cmd, …)文件加锁及其他操作这个表格列举了常见的操作调用,其中lseek用以改变文件读写的指针,借此可以实现随机读写或者指定位置读写,其返回值是读写位置变化之后的位置,但是“lseek是唯一一个从不引起实际的磁盘寻道的文件系统调用,因为它所做的只是修改了内存中的一个值(文件读写位置)”[1]。Linux记录了每个文件的信息,包括:文件类型、大小、最近一次修改时间等。程序通过stat查看文件信息,stat第二个参数是指向将要获取的文件信息存放结构的指针。pipe是创建一个shell管线,而fcntl用于加锁和解锁文件,可以有共享锁和互斥锁。加锁是为了解决多个程序同时使用同个文件导致的竞争,文件的部分已经被添加了共享锁,那么可以继续添加共享锁,添加互斥锁不行。若文件已经被添加了互斥锁,那么必须等到互斥锁解除才能继续添加其它的锁。目录的系统调用目录同单个文件类似,也可以被创建和删除等操作。使用mkdir和rmdir可以创建和删除目录,其中删除时若目录内还有其它文件则不能删除。常用的系统调用如下表[1]:系统调用描述s = mkdir (path, mode)建立新目录s = rmdir (path)删除目录s = link (oldpath, newpath)创建指向已有文件的链接s = unlink (path)取消文件链接s = chdir (path)改变工作目录s = opendir (path)打开目录s = closedir (dir)关闭目录dirent = readdir (dir)读取一个目录项rewinddir (dir)回转目录使其再次被读取Linux文件系统的实现Linux虚拟文件系统Linux虚拟文件系统(Virtual File System, VFS)可以使得应用程序在不同的文件系统进行交互。它定义了文件系统的抽象和操作,使用1.1中的那些系统调用就可以访问文件系统。VFS支持的四个主要系统结构包括:superblock,dentry, i-node和file。superblock内有文件系统布局的重要信息,每个i-node都表示一个确定的文件。dentry是目录项,是路径的一个部分,用它可以遍历路径,而file是跟进程相关联的打开文件,支持read、write等系统调用。Linux ext 2文件系统ext 2是Linux最流行的文件系统,应用十分广泛。ext 2的磁盘分区中包含下图的文件系统:引导块块0块1块2块3块4……超级块组描述符块位图i节点位图i节点数据块图一:Linux ext 2文件系统的磁盘结构[1]块0不被Linux使用,每个块组的结构包含了:超级快、组描述
您可能关注的文档
- 信息系统与系统集成实验指导手册.doc
- Linux课后选择题.doc
- RHEL系统的安装与启动.doc
- linux操作系统-24学时.doc
- 计算机病毒分析与防治.doc
- 全国2009年07月~2012年07月自学考试计算机网络安全试题.doc
- linux双系统安装.doc
- 助理电子商务师习题集-国家试题7.doc
- 硬盘安装方式的LINUX系统安装.doc
- 嵌入式系统ARM7.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- (苏教版)数学五年级上册寒假“天天练”作业设计,含30份题组,附参考答案.doc
- 有限空间作业注意事项.pptx VIP
- 从明代土地产权制度弊端剖析古代土地制度的困境与启示.docx
- 工贸企业常见安全生产隐患诊断检查指导书.pdf VIP
- 麓山景区2006-2020详细规划.doc VIP
- 《地基与基础培训》课件.ppt VIP
- 2026年村卫生室基本公共卫生服务工作计划.docx VIP
- 阿姆斯壮Armstrong--THE BRAIN® DMC80再循环水温控制样本.pdf
- 《地下工程建设疏干排水水资源论证导则》.pdf VIP
- GB 17167-2025用能单位能源计量器具配备和管理通则.pdf
原创力文档

文档评论(0)