文件的基本操作(创建文件,删除文件,读写文件,打开文件,关闭文件)

编程入门 行业动态 更新时间:2024-10-27 22:24:40

<a href=https://www.elefans.com/category/jswz/34/1771438.html style=文件的基本操作(创建文件,删除文件,读写文件,打开文件,关闭文件)"/>

文件的基本操作(创建文件,删除文件,读写文件,打开文件,关闭文件)

1.创建文件(create系统调用)

1.进行Create系统调用时,

需要提供的几个主要参数:
1.所需的外存空间大小(如:一个盘块,即1KB)
2.文件存放路径(“D:/Demo”)
3.文件名(这个地方默认为“新建文本文档.txt”)

2.操作系统在处理Create系统调用时,

主要做了两件事:
1.在外存中找到文件所需的空间(结合学习的空闲链表法、位示图、成组链接法等管理策略,找到空闲空间)
2.根据文件存放路径的信息找到该目录对应的目录文件(此处就是D:/Demo目录),在目录中创建该文件对应的目录项。目录项中包含了文件名、文件在外存中的存放位置等信息。

2.删除文件(delete系统调用)

1.进行Delete系统调用时,

需要提供的几个主要参数:
1.文件存放路径(“D:/Demo”)
2.文件名(“test.txt”)

2.操作系统在处理Delete 系统调用时,

主要做了几件事:
1.根据文件存放路径找到相应的目录文件,从目录中找到文件名对应的目录项
2.根据该目录项记录的文件在外存的存放位置、文件大小等信息,回收文件占用的磁盘块。(回收磁盘块时,根据空闲表法、空闲链表法、位图法等管理策略的不同,需要做不同的处理)
3.从目录表中删除文件对应的目录项。

3.读文件(read系统调用)

“读/写文件”用“文件描述符”即可指明文件,不再需要用到“文件名。
根据读指针、读入数据量、内存位置将文件数据从外存读入内存。

1.进程使用read系统调用完成读操作。

需要指明是哪个文件(在支持“打开文件”操作的系统中,只需要提供文件在打开文件表中的索引号即可),还需要指明要读入多少数据(如:读入1KB)、指明读入的数据要放在内存中的什么位置。

2.操作系统在处理read系统调用时,

会从读指针指向的外存中,将用户指定大小的数据读入用户指定的内存区域中。

4.写文件(write系统调用)

根据写指针、写出数据量、内存位置将文件数据从内存写出外存。

1.进程使用write系统调用完成写操作,

需要指明是哪个文件(在支持“打开文件”操作的系统中,只需要提供文件在打开文件表中的索引号即可),还需要指明要写出多少数据(如:写出1KB)、写回外存的数据放在内存中的什么位置.

2.操作系统在处理write系统调用时,

会从用户指定的内存区域中,将指定大小的数据写回写指针指向的外存。

5.打开文件(open系统调用)

打开文件时并不会把文件数据直接读入内存。“索引号”也称“文件描述符”.
在很多操作系统中,在对文件进行操作之前,要求用户先使用open系统调用“打开文件”,

1.需要提供的几个主要参数:

1.文件存放路径(“D:/Demo”)
2.文件名(“test.txt”)
3.要对文件的操作类型(如: r只读;rw读写等)

2.操作系统在处理open系统调用时,

主要做了几件事:
1.根据文件存放路径找到相应的目录文件,从目录中找到文件名对应的的目录项,并检查该用户是否有指定的操作权限。
2.将目录项复制到内存中的“打开文件表”中。并将对应表目的编号返回给用户。之后用户使用打开文件表的编号来指明要操作的文件。

6.关闭文件(close系统调用)

进程使用完文件后,要“关闭文件”
操作系统在处理Close系统调用时,

1.主要做了几件事:

1.将进程的打开文件表相应表项删除
2.回收分配给该文件的内存空间等资源
3.系统打开文件表的打开计数器count 减1,若count =0,则删除对应表项。

更多推荐

文件的基本操作(创建文件,删除文件,读写文件,打开文件,关闭文件)

本文发布于:2023-12-04 07:00:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1660111.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件   操作

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!