考研复试-操作系统知识点总结(二)

接着上篇的总结,今天整理一下操作系统中另外两个功能:文件管理和I/O设备管理。

3.文件管理

在现代的Windows系统中,大量的数据需要通过文件的形式的进行管理保存。如何安全快速 处理这些数据和程序,就成为操作系统的重要内容。文件系统是计算机组织、存取、保存信息的重要手段。


3.1文件的的逻辑结构

文件的逻辑结构分为,无结构文件和有结构文件。


3.1.1无结构文件

又称为字符流式最简单的文件组织形式。无结构文件将数据按顺序组织成记录并积累保存,它是有序相关信息项的集合,以字节(Byte)为单位。由于无结构文件没有结构,因而对记录的访问只能通过穷举搜索的方式,故这种文件形式对大多数应用不适用。但字符流的无结构文件管理简单,用户可以方便地对其进行操作。所以,那些对基本信息单位操作不多的文件较适于釆用字符流的无结构方式,如源程序文件、目标代码文件等。


3.1.2有结构文件

又称为记录式文件。其中又可分为

1)连续结构文件:与字符流式很像,不过本质上字符流式只是记录长度为一个字符的连续结构文件

2)顺序结构:按某种优先级进行搜索式追加、删除记录。按某种关键字排序。

3)索引顺序文件:为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项,其中含有该记录的关键字值和指向该记录的指针。

4)散列文件:定记录的键值或通过Hash函数转换的键值直接决定记录的物理地址。这种映射结构不同于顺序文件或索引文件,没有顺序的特性。散列文件有很高的存取速度,但是会引起冲突,即不同关键字的散列函数值相同。


3.2 文件的物理结构

顺序文件、链式文件、索引文件、hash文件.。这与数据结构中的物理结构是相识的。

3.3文件目录结构

1)单级目录当访问一个文件时,先按文件名在该目录中查找到相应的FCB,经合法性检查后执行相应的操作。每一个FCB对应一个文件。这显然会造成文件搜索的效率低。

2)二级目录:将用户名进行分类,比如c/windows c/user、通过这样可以将文件进行分类,解决了不同用户文件名“重复”的问题,当然也提高了效率

3)多级目录:也称为树形目录。其实就是二级目录的一个引申。将用户下的文件再去分类。



4)无环目录:无环目录的为了弥补树形结构中文件不便分享的缺点,当某用户要求删除一个共享结点时,若系统只是简单地将它删除,当另一共享用户需要访问时,却无法找到这个文件而发生错误。为此可以为每个共享结点设置一个共享计数器,每当图中增加对该结点的共享链时,计数器加 1;每当某用户提出删除该结点时,计数器减1。仅当共享计数器为0时,才真正删除该结点,否则仅删除请求用户的共享链。


3.4文件的共享

现代常用的两种文件共享方法有:硬链接、软连接。

硬链接:基于索引结点的共享方式在这种共享方式中引用索引结点,即诸如文件的物理地址及其他的文件属性等信息,不再是放在目录项中,而是放在索引结点中。在文件目录中只设置文件名及指向相应索引结点的指针。在索引结点中还有一个链接计数count,用于表示链接到本索引结点(亦即文件)上的用户目录项的数目。当count=2时,表示有两个用户目录项链接到本文件上,或者说是有两个用户共享此文件。


当用户A创建一个新文件时,它便是该文件的所有者,此时将count置为1。当有用户 B要共享此文件时,在用户B的目录中增加一个目录项,并设置一指针指向该文件的索引结点。此时,文件主仍然是用户A,count=2。如果用户A不再需要此文件,不能将文件直接删除。因为,若删除了该文件,也必然删除了该文件的索引结点,这样便会便用户B的指针悬空,而用户B则可能正在此文件上执行写操作,此时用户B会无法访问到文件。因此用户A不能删除此文件,只是将该文件的count减1,然后删除自己目录中的相应目录项。用户B仍可以使用该文件。当COunt=0时,表示没有用户使用该文件,系统将负责删除该文件。如图4-8给出了用户B链接到文件上的前、后情况。
 
软链接:利用符号链实现文件共享。新文件中的路径名则只被看做是符号链,当用户B要访问被链接的文件F且正要读LINK类新文件时,操作系统根据新文件中的路径名去读该文件,从而实现了用户B对文件 F的共享。


在利用符号链方式实现文件共享时,只有文件的拥有者才拥有指向其索引结点的指针。而共享该文件的其他用户则只有该文件的路径名,并不拥有指向其索引结点的指针。这样,也就不会发生在文件主删除一共享文件后留下一悬空指针的情况。当文件的拥有者把一个共享文件删除后,其他用户通过符号链去访问它时,会出现访问失败,于是将符号链删除,此时不会产生任何影响。当然,利用符号链实现文件共享仍然存在问题,例如:一个文件釆用符号链方式共享,当文件拥有者将其删除,而在共享的其他用户使用其符号链接访问该文件之前,又有人在同一路径下创建了另一个具有同样名称的文件,则该符号链将仍然有效,但访问的文件已经改变,从而导致错误。


在符号链的共享方式中,当其他用户读共享文件时,需要根据文件路径名逐个地查找目录,直至找到该文件的索引结点。因此,每次访问时,都可能要多次地读盘,使得访问文件的开销变大并增加了启动磁盘的频率。此外,符号链的索引结点也要耗费一定的磁盘空间。符号链方式有一个很大的优点,即网络共享只需提供该文件所在机器的网络地址以及该机器中的文件路径即可。


4.设备管理(I/O管理)

我们现在用的一般PC机,常见的设备用鼠标,键盘。但随着设备的增多,操作系统需要对其进行有效的管理,即要保证IO设备的高速运行,还要放置死锁。


4.1设备管理的主要任务

1)控制设备和内存或处理机之间的数据传送。

2)提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作度,以使操作系统获得最佳效率



4.2数据控制方式

设备要控制设备和内存或CPU之间的数据传送,选择和衡量控制方式要尽量做到系统开销小,传送速度高,能充分发挥硬件的能力。

有如下几种方式:程序直接控制方式、中断控制方式、DMA方式、通道方式。

1)程序直接控制方式:在每次读入一个数据的时候,CPU需要对设备进行检查,确保字符已在数据寄存器中。由于CPU的读取效率比I/O设备的高很多。导致整个过程CPU大部分的时间在等待,效率低下


2)中断控制方式I/O控制器的角度来看,I/O控制器从CPU接收一个读命令,然后从外围设备读数据。一旦数据读入到该I/O控制器的数据寄存器,便通过控制线给CPU发出一个中断信号,表示数据已准备好,然后等待CPU请求该数据。I/O控制器收到CPU发出的取数据请求后,将数据放到数据总线上,传到CPU的寄存器中。至此,本次I/O操作完成,I/O控制器又可幵始下一次I/O操作。


3)DMA方式:CPU读写数据时,它给I/O控制器发出一条命令,启动DMA控制器,然后继续其他工作。之后CPU就把控制操作委托给DMA控制器,由该控制器负责处理。DMA控制器直接与存储器交互,传送整个数据块,每次传送一个字,这个过程不需要CPU参与。当传送完成后,DMA控制器发送一个中断信号给处理器。因此只有在传送开始和结束时才需要CPU的参与。


4)通道方式:DMA的发展,原来的一个DMA是对应一个设备,随着设备的增加DMA的花费也较高,于是利用通道方式,可以控制多个设备。


4.3引入缓冲区

在设备管理系统中引入缓冲区的目的主要有:

1)缓和CPUI/O设备间速度不匹配的矛盾。

2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制。

3)解决基本数据单元大小(即数据粒度)不匹配的问题。

4)提高CPUI/O设备之间的并行性。


根据系统设置缓冲器的个数,缓冲技术可以分为:

1) 单缓冲

在设备和处理机之间设置一个缓冲区。设备和处理机交换数据时,先把被交换数据写入缓冲区,然后需要数据的设备或处理机从缓冲区取走数据。

2) 双缓冲

根据单缓冲的特点,CPU在传送时间M内处于空闲状态,由此引入双缓冲 I/O设备输入数据时先装填到缓冲区1,在缓冲区1填满后才开始装填缓冲区2,与此同时处理机可以从缓冲区1中取出数据放入用户进程处理,当缓冲区1中的数据处理完后,若缓冲区2已填满,则处理机又从缓冲区2中取出数据放入用户进程处理,而I/O设备又可以装填缓冲区1双缓冲机制提高了处理机和输入设备的并行操作的程度。

3) 缓冲池

由多个系统公用的缓冲区组成,缓冲区按其使用状况可以形成三个队列:空缓冲队列、装满输入数据的缓冲队列(输入队列)和装满输出数据的缓沖队列(输出队列)。还应具有四种缓冲区:用于收容输入数据的工作缓冲区、用于提取输入数据的工作缓冲区、用于收容输出数据的工作缓冲区及用于提取输出数据的工作缓冲区,


4.4设备分配

设备分配是指根据用户的I/O请求分配所需的设备。分配的总原则是充分发挥设备的使用效率,尽可能地让设备忙碌,又要避免由于不合理的分配方法造成进程死锁。从设备的特性来看,釆用下述三种使用方式的设备分别称为独占设备、共享设备和虚拟设备三类。

1) 独占式使用设备。指在申请设备时,如果设备空闲,就将其独占,不再允许其他进程申请使用,一直等到该设备被释放才允许其他进程申请使用。例如,打印机,在使用它打印时,只能独占式使用,否则在同一张纸上交替打印不同任务的内容,无法正常阅读。

2)
分时式共享使用设备。独占式使用设备时,设备利用率很低,当设备没有独占使用的要求时,可以通过分时共享使用,提高利用率。例如,对磁盘设备的I/O操作,各进程的每次I/O操作请求可以通过分时来交替进行。

3)
以SPOOLing方式使用外部设备。SPOOLing技术是在批处理操作系统时代引入的,即假脱机I/O技术。这种技术用于对设备的操作,实质上就是对I/O操作进行批处理。








  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值