【操作系统】OS对文件的管理——面向程序员的文件管理

OS在管理文件时,使用“文件控制块”这样数据:控制块实质上就是(关于一个文件的)一堆数据,数据越详细,OS越能对文件进行详尽的管控;文件控制块又称:FBC。

FBC是OS的有限资源。

OS对文件进行操作是使用一种机制:电视机机制。电视机并没有360万平方公里,但是小小的电视机却能看到无限广阔的世界(只要有人去拍)。OS对文件的操作也是类似,OS并不能把一个(例如仙剑奇侠这个游戏中的一个场景文件)高达一个G的文件也全部调入内存中执行。

对文件的操作有:创建、读、写:编程对文件进行“读/写”操作,需要在内存中进行。
在这里插入图片描述不同的程序设计语言,都对文件操作给出了支持;不同的程序设计语言对FCB进行了各自的封装;c语言用FILE类型封装FCB。
对文件进行编程,需要先申请FCB。

FILE *fp;
fp = fopen ("abc.txt","r");  //fopen()函数的核心功能是:向OS申请FCB。
//  CPU的运行模式又分为**核心态**和**用户态**,所以,当CPU执行到这时,CPU的状态就从用户态
//  变为核心态,从而进入操作系统的内部,执行它的有关代码,实现以只读的方式打开"abc.txt"。
//  当系统调用完成后,控制权返回给用户程序。
	//fopen()的本质是申请操作系统的FCB资源!!!

刚才已经提到文件控制块是OS的有限资源,所以我们要fclose()归还它。
假如没有归还这块文件控制块,虽然在这个程序运行结束时,操作系统会自动释放这块文件控制块,这块文件控制块也可以在另一个程序运行时被“使用”,然而,在运行过程中,这个控制块会变得不可控!!!所以,在使用完后必须要归还。
与之类似的就像malloc一块空间和free一块空间,申请以后必须要释放,否则会造成内存泄漏。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值