操作系统——文件管理

来源:互联网 发布:王洋java视频 编辑:程序博客网 时间:2024/05/22 02:00

操作系统——文件管理

用户作业中要用到各种各样的信息,如源程序、目标程序、数据、各种语言的编译程序等。有的信息需要长期保存,而有的只是临时使用。计算机系统经常把信息保存在磁盘等存储介质上,也要利用输入级、打印机等设备进行信息的输入或输出。启动外围设备存取信息时一项相当复杂、繁琐的工作。为减轻用户的负担和保证系统的安全,操作系统中设计了对信息进行管理的部分,称为文件管理或文件系统。


功能:

(1)   实现从逻辑文件到物理文件的转换

(2)   有效分配文件的存储空间

(3)   建立文件目录

(4)   提供合适的存取方式

(5)   提供一组文件操作

文件分类:

按用途:

系统文件、库文件和用户文件

按保护级别:

只读、读写、执行和不保护文件

按信息流向:

输入、输出和输入输出文件

按存放时限:

临时、永久和档案文件

按设备类型:

磁带、磁盘文件

按组织方式:

逻辑、物理文件

 

存储方式:

记录的成组和分解:

记录成组:将若干记录合并成一组存入一块,可充分利用存储空间。

记录分解:用户需要某记录时,从还有该信息的一块信息读出,从这一组逻辑记录中找出用户需要的记录传送给用户。

 

存储空间的分配:

1、 位示图法

假定一个盘组共有100个柱面,每个柱面上有8个磁道,每个盘面分成4个扇区。因此整个磁盘空间共有4*8*100=3200个存储块。如果用字长为32位的字来构造位示图,共需100个字。


       

则对应的块号为:块号=字号*字长+位号

 

2、空闲块链接法

(1)   单块链接

把所有块用指针链接起来,每个空闲快都设置一个指向另一空闲块的指针,形成一个空闲块链。系统设置一个链首指针,指向链中的第一个空闲块,最后一个空闲块中的指针为“0”。

分配一块时,根据链首指针把链头的一块分配给申请者,并修改链首指针使其指向后继的空闲块。归还一块时,把归还块加入到链头,链首指针应指向归还块。这种方法效率较低,每次分配或收回一块时都要启动磁盘才能取得指针或把指针写入归还块中。

(2)   成组链接

在UNIX操作系统中,把磁盘存储空间的空闲块成组链接。每个100个空闲块为一组,每组的第一个空闲块登记下一组空闲块的磁盘物理块号和空闲块数,最后不足100块的那部分磁盘物理块号及块数记入专用块中。


假定现在共有空闲块438块,编号从12#至449#。其中50#-12#一组中,第50#这块登记了下一组100个空闲块的块号150#-51#,以此类推。注意第350#这一组中,第二个单元填了“0”,表示该块中指出的块号是最后一组的块号,空闲块链到此结束。

总结:

理解还不深入,站在巨人肩膀上,共同学习,共同成长!




0 0
原创粉丝点击