您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程硕士操作系统第10—13章复习
考研网下面是研究生考试网为报考GCT软件工程硕士的考生整理的MSE考研复习备考资料。希望这些资料能够给考生一定帮助。在此,预祝考生复习备考顺利!第10章文件系统接口明确文件系统提供的功能明确文件的访问方法:顺序访问,直接访问。明确目录的作用及常用目录结构及各自优缺点明确符号链接和硬链接的区别目录逻辑结构的组织方法有效:迅速定位文件命名:方便用户两个不同的用户的文件名称可以相同同一文件可以有不同的名称分组:按文件的属性逻辑分组(如所有java程序,所有游戏等)常用目录结构1.单层目录所有文件都包含在同一目录中,便于支持和理解。但存在命名问题与分组问题。2.两层目录为不同的用户建立不同的目录1.不同用户的文件允许同名2.不支持分组3.方便查找3.树型目录1.有效搜索2.分组3.当前目录(工作目录)4.绝对路径与相对路径名4.无环图目录1.具有共享子目录和文件2.无环图可能的问题:1.不同文件名可能表示同一文件。对于查找与统计来说可能会带来一定的问题2.另一问题是删除问题5.通用图目录如何确保无环?只允许链接发生在文件,而非子目录上垃圾收集自我引用的文件,其引用计数不等于0垃圾收集涉及遍历整个文件系统,并标记所有可访问的空间。然后,第二次将所有没有标记的部分收集到空闲空间链表上。每当新链接建立的时候,就采用相应的算法进行检测,以避免环的出现。1.文件管理有哪些主要功能?其主要任务是什么?答:文件管理的主要功能和主要任务有以下四个方面:(1)外存空间管理。其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的效率。(2)目录管理。其主要任务是为每个文件建立目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取操作。(3)文件读写操作。其主要任务是根据用户请求从外存中读取数据,或将数据写入外存。(4)存取权限控制。其主要任务是防止未经核准的用户访问文件;防止冒名顶替存取文件;防止以不正确的方式访问文件。在树形目录结构中,同一目录下的文件不可重名,不同目录下的文件可以重名。实考研网现文件共享有多种方法,其中的一种方法是由系统实现对文件的共享,即当用户知道要共享文件的路径时,可以通过提供从根目录出发的路径名来共享访问这些文件;另一种方法是对需要共享的文件进行链接,即一个目录中的表目直接指向另一个文件的表目。所谓文件保护是指避免文件拥有者或其他用户因有意或无意的错误操作使文件收到破坏,对文件的保护可以采用对文件进行存取控制的任何一种方法。第11章文件系统实现分层设计的文件系统I/O控制由设备驱动程序和中断处理程序组成,实现内存与磁盘之间的信息转移基本文件系统向合适的设备驱动程序发送一般命令就可对磁盘上的物理块进行读写文件组织模块知道文件及其逻辑块和物理块。空闲空间管理器逻辑文件系统管理元数据:文件系统的所有结构数据,而不包括实际数据(或文件内容)根据给定符号文件名来管理目录结构逻辑文件系统通过文件控制块(FCB)来维护文件结构虚拟文件系统作用虚拟文件系统(VFS)提供了一种面向对象的方法来实现文件系统VFS允许在不同类型的文件系统上采用同样的系统调用接口(API)API是针对VFS的接口,而非对任何特定类型的文件系统目录的实现方法最为简单的目录实现方法是使用存储文件名和数据块指针的线性列表(数组、链表等)容易实现但运行费时采用线性搜索来查找特定条目(缺点)许多操作系统采用软件缓存来存储最近访问过的目录信息Hash表:采用Hash数据结构的线性表减少了目录搜索时间碰撞:两个文件名哈希到相同的位置哈希表的最大困难是其通常固定的大小和哈希函数对大小的依赖性文件磁盘空间分配方法分配方法指的是如何为文件分配磁盘块,常用的分配方法有以下三类连续分配:每个文件占据磁盘上的一组连续的块特点:1简单-只需要记录文件的起始位置(块号)及长度。2访问文件很容易,所需的寻道时间也最少存在的问题:1为新文件找空间比较困难(类似于内存分配中的连续内存分配方式)文件很难增长链接分配:每个文件是磁盘块的链表;磁盘块分布在磁盘的任何地方。优点:1简单-只需起始位置2.文件创建与增长容易。缺点:1.不能随机访问2.块与块之间的链接指针需要占用空间3.存在可靠性问题考研网簇:将多个连续块组成簇,磁盘以簇为单位进行分配索引分配:将所有的数据块指针集中到索引块中。1.索引块中的第i个条目指向文件的第i块。2目录条目包括索引块的地址索引分配支持直接访问,且没有外部碎片问题索引块本身可能会浪费空间链接方案:一个索引块通常为一个磁盘块。对于大文件,可以将多个索引块链接起来。多层索引:类似于内存的间接寻址方式(一级、二级间接…)组合方案:如Unix的inode空闲空间管理为了记录空闲磁盘空间,系统需要维护一个空闲空间链表,它记录了所有空闲磁盘空间,即未分配给文件或目录的空间。(不一定以链表的方式实现)位向量(n块)bit[i]=0block[i]空闲bit[i]=1block[i]被占用空闲块数计算一个字的位数×值为0的字数+第一个值为1的位的偏移位向量需要额外的空间设块大小为212字节磁盘大小为230字节(1GB)N=230/212=218(即32Kbytes)容易得到连续的文件链表(空闲链表):将所有空闲磁盘块用链表连接起来,并将指向第一空闲块的指针保存在磁盘的特殊位置,同时也缓存在内存中。不易得到连续空间没有空间浪费分组:将n个空闲块的地址存在第一个空闲块中,而最后一块包含另外n个空闲块的地址,如此继续。计数通常,有多个连续块需要同时分配或释放。因此,可以记录第一块的地址和紧跟第一块的连续的空闲块的数量n。磁盘管理效率与性能效率依赖于:1.磁盘分配与目录算法2.文件目录项中保存的数据的类型性能磁盘缓冲-将最近使用过的块放在内存的某个地方马上释放与预先读取-优化顺序访问留出一块内存作为虚拟磁盘(或RAM磁盘)来提高个人计算机的性能第12章大容量存储器结构1.磁盘调度算法有哪些?每种方法的优缺点。答:FCFS、SSTF、扫描(SCAN)算法、循环扫描(CSCAN)算法FCFS:先来先服务,它根据进程请求访问磁盘的先后次序进行调度。考研网SCAN:扫描算法,磁头不停的往复运动,由边缘至中心然后返回,沿途执行已经到来的访问。CSCAN:循环扫描算法,在SCAN算法的基础上规定磁头单向移动。第13章I/O输入系统1.有哪几种I/O控制方式?答:程序I/O方式、中断举动I/O控制方式、直接存储器访问(DMA)I/O控制方式和I/O通道控制方式。2.设备管理的主要功能和主要任务答:主要功能:缓冲管理,设备分配和设备处理,以及虚拟设备等.主要任务:完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备.(1)缓冲管理:提高CPU的利用率进而提高系统的吞吐量(2)设备分配:根据用户进程的I/O请求、系统的现有资源以及按照某种设备的分配策略,为之分配其所需的设备(3)设备处理:用于实现CPU和设备控制器之间的通信3.设备分配时应考虑的因素答:设备的固定属性、设备分配算法、设备分配时的安全性、设备独立性(1)设备的固有属性有3种:(1)独占性:设备在一段时间内只允许一个进程独占,eg:临界资源(2)共享性:设备允许多个进程同时共享(3)可虚拟设备:设备本身随时独占设备,但经过某种技术处理,可以把它改造成虚拟设备(2)设备分配算法:先来先服务、优先级高者优先(3)设备分配中的安全性:安全分配方式、不安全分配方式4.为什么引入缓冲(目的是什么?)答:(1)缓和CPU与I/O设备间速度不匹配的矛盾(2)减少对cpu的中断频率,放宽对cpu中断响应时间的限制(3)提高cpu和I/O设备之间的并行性试从调度性,并发性,拥有资源和系统开销几个方面对线程与进程进行比较1)调度●在传统的操作系统中,作为拥有资源的基本单位和独立调度、分派的基本单位都是进程。●在引入线程的操作系统中,把线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位,把传统进程的两个属性分开,使线程基本上不拥有资源,这样线程便能轻装前进,从而可显著地提高系统的并发程度。●在同一进程中,线程的切换不会引起进程的切换,但从一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换。2)并发性在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行,使得操作系统具有更好的并发性,从而能更加有效地提高系统资源的利用率和系统的吞吐量。3)拥有资源●不论是传统的操作系统,还是引入了线程的操作系统,进程都可以拥有资源,是系统中拥有资源的一个基本单位。●一般而言,线程自己不拥有系统资源(也有一点必不可少的资源),但它可以访问其隶属进程的资源,即一个进程的代码段、数据段及所拥有的系统资源,如已打开的文件、I/O设备等,可以供该进程中的所有线程所共享。4)系统开销考研网●在创建或撤消进程时,系统都要为之创建和回收进程控制块,分配或回收资源,如内存空间和I/O设备等,操作系统所付出的开销明显大于线程创建或撤消时的开销。●就切换代价而言,进程也是远高于线程的。此外,由于一个进程中的多个线程具有相同的地址空间,在同步和通信的实现方面线程也比进程容易。在一些操作系统中,线程的切换、同步和通信都无须操作系统内核的干预。
本文标题:软件工程硕士操作系统第10—13章复习
链接地址:https://www.777doc.com/doc-2011452 .html