文件的基本概念
文件=文件内容+文件属性 --->(创建一个新文件也是占空间的)
关于打开的文件?
打开的文件是要加载到内存的
目前我所了解的是文件的属性要加载到内存
OS中可不可能存在多个打开的文件?
可能
需不需要管理?
需要,先描述再组织
对于每一个打开的文件,都有一个struct file的结构体,描述着文件的相关信息
认识open,write和read函数
open函数,内核提供的一个接口函数,用于打开一个文件
解释一下划线这个的参数意思。 第一个表示你要打开的某路径+文件
例/某路径/某路径/某文件
第二个表示你想怎么打开这个文件
具体有
O_WRONLY(只写)
O_RDONLY(只读)
O_RDWR (读写)O_CREAT(若文件不存在则创建)
O_APPEND(追加)
举例 O_WRONLY|O_CREAT 将这两个或上的意思表示以只写方式打开,如果不存在则创建
关于这些标识符
只是用一个整形表示
而整形有32个比特位,每个比特位都可以代表一种信息的有无
例如O_RDONLY 只是在一个整形某个二进制位为1,其他位为0。
系统根据这个信息来执行。(具体可以自己测试查看)
第3个是权限设置
表示这个文件是否可读,可写,可执行
权限以后再说,不是这里的重点,知道是这个意思就行。
然后成功返回这个文件的文件描述符
write函数跟read函数参数类似,第一个表示所要操作的文件(根据文件描述符识别,即传入文件描述符)
第二个,缓冲区
第三个,想要输入或输出的字节数